Принципы коммуникации в команде

· 1610 words · 8 minute read

интерфейс zoom

За свои 15+ лет в разработке я понял, что чуть ли не половина времени уходит на коммуникацию. И хотя в основном я работаю в IDE, общения всё равно достаточно много. Дейли, груминги и прочие scrum-ритуалы; выяснение требований у заказчика; обсуждение MR и архитектуры… Просто обратите внимание сколько времени вы пишете код, а сколько общаетесь с коллегами.

В распределённой команде коммуникация становится в несколько раз сложнее. Там нет встреч у кулера, общих обедов, курилок и т.п. Все заперты по своим домам или иным рабочим местам, и очень сложно быть на одной волне с кем-то удалённо. Особенно, если эта буковка А даже не включает камеру, а букву П слышно через слово из-за поездки в такси.

Так что за почти 10 лет работы удалённо у меня сложились некоторые принципы, которые, как мне кажется, упрощают и улучшают коммуникацию. Их и разберу ниже, а начну с самого важного.

Будьте предсказуемы 🔗

Когда мы работали в офисе, видно что каждый из нас делал. Вон Андрей словил состояние потока и яростно печатает на клавиатуре. Сергей курит уже шестую сигарету подряд, наверно, не стоит отвлекать. О, Паша пошёл за чаем, а мне как раз надо было узнать как работать с его API.

Сейчас же этой коммуникации нет. Вместо неё - список чатов, но за ними не видно чем человек занят. Может, он вообще пошёл с собакой гулять. Поэтому я стараюсь устанавливать статус чем занимаюсь, чтобы подсказать коллегам хотя бы время реакции. Например:

  • 🍔 - пошёл на обед (могу ответить только через час)
  • 🚌 - в пути (могу ответить с телефона на какие-то простые вопросы)
  • 🌴 - в отпуске (отвечу через неделю)
  • 🏥 - на приёме у врача
  • 🗓️ - на созвоне (могу даже не увидеть сообщения)
  • 🎧 - момент сосредоточения (прошу писать, только если прям очень срочно)
  • 🍻 - мне уже не до работы

К счастью, Slack имеет отличную интеграцию с Google Calendar и умеет сам проставлять соответствующие статусы. Надо только не забывать заводить все события и митинги. И вот тут мы приходим к планированию.

Календарь 🔗

Назначать встречи и приглашать участников, думаю, все умеют. Но есть моменты, которые делают мою жизнь чуточку счастливее. Во-первых, я всегда указываю рабочие часы и обед (святое!). Во-вторых, добавляю показ времени в UTC. В сильно распределённых командах проще договориться о встрече в UTC, нежели в PST/PDT или EST.

Также у Google Calendar есть настройка “Speedy meetings” (“Быстрые встречи”), которая урезает слот: не на 1 час, а на 50 минут; не на 30 минут, а на 25. Это помогает при напряжённом графике хоть немного передохнуть. Стараюсь также при назначении митинга пристыковывать его к какому-то другому. Это помогает выделить сотрудникам более длительный интервал для самостоятельной работы.

К сожалению, иногда возникает необходимость во внезапных встречах. Например, если в MR 3-4 ответа, то договориться проще уже будет синхронно голосом, чем расписывать свои мысли. И в этом опять же поможет календарь - понять кто когда свободен, чтобы назначить встречу.

В общем, календарь - один из инструментов быть предсказуемым, что помогает в планировании не только своего времени, но и коллег.

Настройте интеграции 🔗

К слову об интеграциях. Даже в небольших командах очень просто пропустить какое-то сообщение, если они будут раскиданы по разным приложениям. В идеале должно быть только одно, куда будут сводиться все информационные потоки. Например, Slack. Для меня он является эталоном, потому что там есть море интеграций: Gitlab, Jira, Confluence, Sentry, Grafana… А для всего остального не так сложно написать свою (пробовал, знаю). Настроенный корпоративный мессенджер позволит вам оперативнее отвечать на вопросы коллег.

Например, в случае интеграции с gitlab, можно замьютить чатик, куда будут сыпаться нотификации об MR, но оставить реакцию на меншен. Таким образом вы узнаете, что кто-то назначил на вас MR и оперативно отрегагируете. Можно, конечно, пинговать человека в личке при каждом новом ревью, но автоматизация всё-таки упрощает этот процесс.

Аналогично с назначением задач в jira. Незачем раз в час проверять трекер, если о какой-то важной задаче вы узнаете из чатов. Также мессенджер напомнит о встрече или об обещании что-то сделать.

Так что в корпроративном мессенджере для меня важнее даже не столько фичи в виде тредов или эмодзи (которые есть примерно везде), сколько наличие интеграций. Сейчас многие компании вынуждены съехать со Slack и настраивать что-то своё. К сожалению, ни Rocket.Chat, ни MatterMost, ни уж тем более Telegram не могут его догнать в этом плане. Спасибо тем командам, которые допиливают open source продукт, чтобы было удобно. Например, Loop - надстройка над MatterMost.

Общение в чатах 🔗

Вообще, корпоративный мессенджер - один из важных инструментов групповой разработки. И как всяким инструментом, им надо уметь пользоваться. Не просто печатать сообщения или постить котиков, но и понимать зачем нужны треды, каналы, эмодзи. Вряд ли вы будете постить мемасики в #general.

Культура 🔗

Общаться текстом тоже надо уметь. Пожалуй, самое банальное - задавать вопрос в одном сообщении. Никакого:

- @tyvik
- ау, привет
- есть вопрос
- <дальше тишина>

Сразу отправляем собеседника на neprivet.ru. Или:

- @tyvik, есть вопрос. Подробности в треде.

А что если не только tyvik может ответить? Или это на самом деле что-то важное для команды? Да и просто ради любопытства многие откроют тред. Но если вопрос написать сразу, то этого не придётся делать. Да и вообще nometa.xyz.

Побольше эмпатии 🔗

Треды 🔗

К слову, треды - очень классная штука, которая позволяет поддерживать тему обсуждения не отвлекая остальных. Если отвечать там, то нотификации будут триггериться только у тех, кому действительно интересно это обсуждение. Правда, иногда такая ветка вырастает в 100+ сообщений, и становится сложно понимать кто кому отвечает. На этот случай в Slack есть функция “Reply in channel”, которая позволяет вынести обсуждение в отдельное сообщение.

Реакции 🔗

Ещё один недооценённый на мой взгляд инструмент - эмодзи. Обычно ими выражают поздравления (🎉), желание здоровья (:podorozhnik:), эмоции, как это не странно (🤦)… У меня даже есть набор кастомных картинок, который я переношу на новое рабочее место.

Если сообщение меня касается, то я стараюсь поставить хоть какую-то реакцию. Это даст минимальную обратную связь. Например, 👁️ - что увидели/заметили сообщение, ➕ или 👍 - что согласны, ✅ - что вопрос в этом треде решён и т.п. Очень помогает, когда несколько человек разбирают входящие запросы пользователей - с помощью эмодзи можно повесить лок, чтобы показать, что вы уже взяли обращение в работу.

Ещё один пример - результаты встречи. После звонка обычно остаются артефакты, которые организатор публикует в чат. О чём договорились, полезные ссылки, запись митинга… Я прошу в этом случае поставить участников эмодзи, чтобы подтвердить, что всё верно.

Реакции - отличная штука для обеспечения обратной связи и некоторой прозрачности. Без них бывает не понятно увидел ли собеседник сообщение. Бонусом идёт то, что они не вызывают нотификации. Т.е. вы можете ответить не отвлекая коллегу от его дел. Если ему будет нужно - он откроет сообщение, увидит там :heave_plus_sign: и поймёт, что вы согласны. Лично я не люблю сообщения вида “ok” за то, что зачастую они несут мало полезной нагрузки, а внимание отвлекают. Приходится переключаться в чат и отмечать сообщение прочитанным.

Но эмодзи можно использовать не только как реакции, но и в обычных сообщениях, чтобы:

  • согласиться с предложением 👍
  • очень сильно попросить 🙏
  • сказать “спасибо” 🙇
  • удивиться техническому решению 😕
  • сказать, что вы ещё думаете 🤔

Тут главное не переборщить.

Уважайте отдых коллег 🔗

Нам всем периодически нужно отвлекаться от работы, чтобы отдохнуть. Обычно на это выделяется вечер (+ ночь) и выходные. Но, как правило, этого недостаточно - есть семья, дела по дому, встречи с друзьями - все они необходимы, чтобы переключиться и вернуться на работу с новыми силами и идеями. Так уж устроен наш мозг, про реципрокность поговорим как-нибудь в следующий раз (видео для нетерпеливых от Макишвили). Так что отдых - важная часть рабочего процесса, и поэтому ряд принципов.

Не пишите важные письма в пятницу вечером 🔗

Вечер пятницы - время подводить итоги недели и готовиться свопнуть работу до выходных. Релизы отложены до понедельника; некоторые уже закрыли ноутбуки (а ведь удалённо и не проверишь). И тут прилетает Важное Письмо, которое говорит, что вся ваша работа за последние 2 месяца - говно, а в понедельник будет разбор полётов. Сумеете ли вы отдохнуть и восстановиться для важной беседы?

Правило: в пятницу вечером можно постить только информацию о крите на проде и мемасики. Дайте коллегам полноценно отдохнуть!

Не писать после рабочего дня 🔗

В распределённой команде понятие “рабочий день” несколько расплывчато, но свой график так или иначе есть у каждого. Хорошо бы его помнить, чтобы не беспокоить человека во время отдыха, особенно, если он не у компа.

Думаю, у каждого была “поддержка по телефону”. Когда кто-то засиделся и в личке что-нибудь спрашивает. Игнорировать? А если ответить, то переписка затянется ещё на полчаса; да и с телефона неудобно в jira задачи искать. Раньше я возвращался, открывал ноут и отвечал. Сейчас стараюсь игнорировать, если это может подождать до завтра. Пожалуйста, не ставьте своих коллег перед этим выбором.

Но что делать, если хочется ответить, чтобы закрыть тему и выбросить из головы (по GTD)? Есть 2 варианта: ответить без звука и завести отдложенное сообщение. Я пользуюсь обычно вторым способом. Вроде бы как ты и завершил разговор, но и собеседник отдыхает.

Вместо заключения 🔗

В этой статье я рассказал именно о принципах и рекомендациях, потому что их формализация в виде правил обычно не работает. Есть исключения или что-то не описано, а многое зависит от ситуации и намерения. Для меня важнее передать некоторый дух (вайб), чем заставить кого-то их соблюдать. Да я и сам иногда их нарушаю, человеки они такие.

Предлагаю в комментариях продолжить тему - расскажите о ваших лайфхаках, а также что вас бесит в коммуникации с коллегами. Может они узнают об этом и не будут так делать :)

Опрос “ваш корпоративный мессенджер” 🔗

Slack Mattermost Rocket.chat

  1. . На вопрос-просьбу не говорите просто “нет”, раскрывайте свою мысль. Следующим всё равно будет “почему?”. Так почему бы не избавиться от лишнего раунд-трипа?
  2. По минимуму общения в личке. К сожалению, мы не можем у кулера подслушать важную информацию. В офисе мы примерно представляли кто чем занимается именно из-за обсуждения задач голосом. Тут общей комнатой служат каналы.

https://slackmojis.com/