3.5 Метрики коммуникации и сотрудничества
Обзор и мотивация
Коммуникация и сотрудничество, C в SPACE (тема 3.1), измеряет, как информация на самом деле течёт между людьми и командами: насколько обнаружима документация, насколько равномерно знание распространяется по команде, насколько хорошо координируются межкомандные зависимости, и как новые члены команды адаптируются в поток общего понимания. Это измерение часто наименее инструментировано из пяти, именно потому, что его труднее наблюдать, чем данные доставки, и оно менее личное, чем данные удовлетворённости, и этот пробел ошибка, потому что сбои здесь часто являются первопричиной проблем, проявляющихся, неправильно приписанными, в каждом другом измерении.
Растущая доля неудачных изменений (тема 2.10), выглядящая как проблема тестирования, иногда на самом деле является проблемой коммуникации: команда не знала об изменении зависимости, пока оно не сломалось в продакшене. Снижающийся тренд удовлетворённости (тема 3.2), выглядящий как проблема рабочей нагрузки, иногда на самом деле является проблемой изоляции: инженер, тихо исключённый из разговоров, где принимаются решения. Центральный аргумент этой темы в том, что коммуникация и сотрудничество заслуживают прямого измерения именно потому, что их сбои маскируются под другие проблемы, и команда, гонящаяся не за той первопричиной, тратит реальные усилия на исправление не того.
Для крупных команд это измерение становится структурно труднее поддерживать именно по мере того, как оно становится важнее. Координация команды из пяти человек происходит через ежедневную близость и почти не нуждается в сознательном измерении; организация из пятисот человек, разбросанная по часовым поясам и бизнес-подразделениям, зависит от документации, обнаружимости и механизмов межкомандной координации, которые должны быть сознательно спроектированы и активно отслеживаемы, потому что неформальные каналы, работавшие в малом масштабе, просто не дотягиваются так далеко.
Ключевые принципы
- Сбои коммуникации часто маскируются под другие проблемы. У проблемы качества или удовлетворённости может быть первопричина в сотрудничестве.
- Это измерение труднее всего инструментировать автоматически, и искушение полностью его пропустить; сознательно сопротивляйтесь этому искушению.
- Концентрация знаний измеримый риск, а не просто расплывчатое беспокойство. Отслеживайте, насколько узко удерживается критическое знание.
- Трение межкомандных зависимостей часто невидимо вовлечённым командам, пока кто-то не измерит его напрямую.
- Скорость адаптации прямой измеримый представитель того, насколько хорошо общее понимание на самом деле течёт в организации.
Рекомендации
Измеряйте концентрацию знаний напрямую
Отслеживайте, сколько людей могут компетентно рецензировать, изменять или эксплуатировать каждый критический компонент системы: компонент только с одним квалифицированным человеком это фактор автобуса, равный одному, серьёзный и часто невидимый риск (тема родственной книги software-engineering-guide о поддержании долгоживущих систем покрывает это глубже). Данные авторства из контроля версий в сочетании с записями ротации оповещения могут раскрыть эту концентрацию автоматически: ищите компоненты, где единственный автор или единственный ответчик оповещения отвечает за непропорциональную долю изменений или ответов на инциденты за значимый период.
Измеряйте трение межкомандных зависимостей прямым сигналом
Отслеживайте, сколько времени занимает межкомандный запрос, нужное изменение API, обновление общей библиотеки, скоординированный релиз, от поднятия до разрешения, похоже по духу на разложение времени цикла в теме 2.6, но применённое конкретно к межкомандной, а не внутрикомандной координации. Команда, стабильно ждущая неделями зависимость, которой владеет другая команда, имеет проблему сотрудничества, которая чисто не проявится ни в собственных внутренних метриках доставки ни одной из команд.
Используйте обнаружимость документации, а не только её существование, как сигнал
Вики, полная устаревших или ненаходимых страниц, не является доказательством хорошей коммуникации только потому, что контент технически где-то существует. Где возможно, отслеживайте, насколько часто документация фактически открывается, насколько часто новый член команды сообщает о неспособности найти нужный ему ответ, или насколько часто один и тот же вопрос повторно задаётся в канале чата, потому что ответ, хотя и документированный, был ненаходим. Это напрямую связывает качество документации (тема 4.6) с заботами о сотрудничестве этого измерения.
Отслеживайте время адаптации до продуктивного вклада как прямого представителя
Время от присоединения нового члена команды до его первого значимого независимого вклада сильный практический представитель того, насколько хорошо общее понимание на самом деле течёт в организации: команда, где знание живёт полностью в головах людей, адаптирует медленно и непредсказуемо; команда с подлинно хорошей документацией, ясным владением и доступным наставничеством адаптирует быстрее и более последовательно. Отслеживайте эту метрику явно и относитесь к долгому или сильно вариативному времени адаптации как к сигналу сотрудничества, а не только заботе HR.
Картируйте фактические коммуникационные сети периодически, а не только организационные структуры
Организационная структура описывает, кто предположительно должен отчитываться перед кем; она редко описывает, кто на самом деле разговаривает с кем, чтобы выполнить работу. Периодический облегчённый анализ паттернов коммуникации, сетей ревью кода (кто рецензирует чью работу) или пересечения посещаемости встреч может раскрыть реальную структуру сотрудничества, существенно отличающуюся от формальной организационной структуры, часто раскрывая неформальное узкое место (единственный человек, через которого все маршрутизируются) или изолированный карман (подкоманда, дрейфовавшая из более широкого потока информации), иначе остававшиеся бы невидимыми.
Компромиссы: плюсы и минусы
| Подход | Плюсы | Минусы |
|---|---|---|
| Отсутствие прямого измерения сотрудничества | Низкие накладные расходы | Первопричины неправильно приписываются другим измерениям; риски остаются невидимыми |
| Отслеживание концентрации знаний | Напрямую раскрывает реальный серьёзный риск (фактор автобуса) | Требует сочетания данных из множественных систем (контроль версий, оповещение) |
| Отслеживание трения межкомандных зависимостей | Раскрывает проблемы координации, невидимые внутри любой команды | Нуждается в сознательном инструментировании; не автоматично из существующих инструментов |
| Картирование коммуникационной сети | Раскрывает реальную неформальную структуру за организационной структурой | Может ощущаться вторгающимся, если не обработано с той же заботой, что данные удовлетворённости |
Центральное напряжение: трудность инструментирования против диагностической ценности. Это измерение подлинно труднее измерить автоматически, чем данные доставки или активности, и эта трудность именно то, почему многие организации его пропускают, даже несмотря на то что его сбои часто являются скрытой первопричиной проблем, приписываемых другим измерениям. Разрешайте это напряжение, начиная с сигналов наивысшей ценности, наиболее решаемых, концентрации знаний и трения межкомандных зависимостей, которые оба можно получить в основном из существующих данных контроля версий и отслеживания задач, прежде чем пытаться более амбициозный анализ коммуникационной сети.
Вопросы для обсуждения в команде
Знаем ли мы наш фактор автобуса для каждого критического компонента системы, или мы узнали бы это только трудным путём, когда единственный понимающий его человек недоступен? Возьмите данные контроля версий и оповещения для ваших самых критических систем и честно проверьте, насколько концентрировано на самом деле знание.
Сколько времени обычно занимает разрешение межкомандного запроса зависимости, и заметила бы любая из вовлечённых команд это трение без сознательного его измерения? Выберите недавнюю межкомандную зависимость и проследите её фактическую временную шкалу; ответ часто дольше и менее виден вовлечённым, чем предполагала любая из команд.
Когда у нас недавно была проблема качества или удовлетворённости, мог ли сбой коммуникации или сотрудничества быть частью реальной первопричины? Оглянитесь на недавний инцидент или спад удовлетворённости и задайте этот вопрос конкретно, а не принимайте первое более очевидное объяснение.
Сколько времени занимает у нового члена команды первый значимый независимый вклад, и насколько это время варьируется от человека к человеку? Долгое или сильно вариативное время адаптации прямой измеримый симптом того, насколько хорошо общее понимание на самом деле течёт в вашей команде.
Соответствует ли наша неформальная коммуникационная сеть нашей формальной организационной структуре, или развилось скрытое узкое место или изолированный карман, который никто не назвал? Если вы никогда не смотрели на это напрямую, само это отсутствие стоит обсудить.
Фактически ли обнаружима наша документация, или она лишь существует где-то, где её трудно найти? Спросите недавнего нового члена команды, или сознательно попробуйте ответить на реальный вопрос, используя только ваши документированные ресурсы, и посмотрите, как фактически проходит этот опыт.
Отраслевой взгляд
Стартап. Коммуникация происходит естественно через близость и ежедневный разговор в маленькой команде, и формальное измерение обычно не нужно. Риск, за которым нужно следить, в опасной концентрации фактора автобуса по мере роста команды за пределы размера, где неформальный осмос всё ещё достигает всех, часто около восьми-двенадцати человек.
Малый бизнес. Простой периодический честный разговор «кто единственный человек, понимающий эту систему» часто раскрывает самые критические риски концентрации знаний без необходимости в формальном инструментировании. Приоритизируйте документирование двух-трёх самых хрупких самых концентрированных областей знания в первую очередь.
Корпорация. И трение межкомандных зависимостей, и концентрация знаний плохо масштабируются здесь, поскольку больше команд означает больше поверхности координации и больше критических систем, которые могут оказаться во владении сжимающегося пула опытных экспертов. Инвестируйте в инструментирование, которое рекомендует эта тема, сознательно, поскольку неформальная осведомлённость подлинно не может покрыть организацию в этом масштабе.
Государство. Долгоживущие системы и долгий стаж сотрудников, распространённые в организациях государственного сектора, могут создавать серьёзный риск фактора автобуса, скрывающийся за видимой стабильностью, поскольку система, не менявшая владельца десятилетие, может полностью зависеть от одного-двух людей, приближающихся к пенсии. Относитесь к измерению концентрации знаний как к заботе о непрерывности операций, а не просто инженерной любезности.
Примеры
Корпорация. Платформенная команда логистической компании обнаружила, только после критического инцидента во время отпуска ключевого инженера, что у основного алгоритма маршрутизации был фактический фактор автобуса, равный одному: история контроля версий показала, что единственный человек был автором более 90% недавних изменений компонента, а запись ротации оповещения показала, что тот же человек лично разрешил каждый связанный инцидент за предыдущие два года. Команда ввела сознательную программу распространения знаний, сессии парной работы и ротацию владения связанными инцидентами, и последующий анализ восемь месяцев спустя показал, что фактор автобуса вырос до четырёх, причём изначальный инженер освободился для более высокорычажной работы, вместо того чтобы оставаться постоянной единственной точкой отказа.
Государство. Инженерная команда государственного агентства по пособиям впервые измерила трение межкомандных зависимостей после повторяющихся неформально замеченных задержек в общем сервисе верификации права на участие. Данные показали, что медианное ожидание изменения зависимости от команды общего сервиса составляло одиннадцать дней, гораздо дольше, чем предполагала любая из команд при неформальном опросе, а первопричина оказалась неясным недокументированным процессом запроса, а не какой-либо нехваткой мощности. Публикация ясного простого процесса запроса и обязательной цели времени ответа для общего сервиса снизила медианное ожидание до менее двух дней в течение одного квартала без необходимости дополнительного персонала.
Бизнес-кейс: мотивация, ROI и TCO
Отдача от прямого измерения коммуникации и сотрудничества: поимка первопричин, неправильно приписываемых другими измерениями: проблема качества, выглядящая как пробел в тестировании, но на самом деле являющаяся сбоем коммуникации, тратит усилия, когда команда пытается исправить её добавлением больше тестов, а не исправлением лежащего в основе сбоя координации. Пример с фактором автобуса выше показывает самую резкую версию этой отдачи: организация, обнаруживающая и исправляющая серьёзный риск концентрации знаний проактивно, избегает катастрофической стоимости обнаружения его во время настоящего кризиса, когда единственный понимавший критическую систему человек подлинно недоступен.
Полная стоимость владения в основном усилия на инструментирование, сочетание данных контроля версий, оповещения и отслеживания задач способами, не автоматическими из коробки, плюс периодическая дисциплина явного рассмотрения концентрации знаний и трения зависимостей. Эта стоимость скромна по сравнению со стоимостью настоящего кризиса фактора автобуса или хронического неадресованного сбоя межкомандной координации.
Антипаттерны и ловушки
- Пропуск этого измерения, потому что его трудно инструментировать автоматически: оставляет первопричины неправильно приписанными другим более простым для измерения измерениям.
- Отношение к организационной структуре как к точной картине реальных паттернов коммуникации: часто неверно, и этот пробел именно то место, где живут скрытые узкие места.
- Игнорирование фактора автобуса, пока кризис не вынудит обнаружение: единственный самый разрушительный отказ, против которого предупреждает эта тема.
- Предположение, что существование документации равно её полезности: устаревший или ненаходимый контент даёт мало реальной коммуникационной ценности.
- Измерение межкомандного трения, но без действия на ясную исправимую первопричину, однажды найденную: тратит диагностическую инвестицию впустую.
- Отношение к медленной вариативной адаптации как чисто к вопросу HR, а не сигналу инженерного сотрудничества: упускает подлинно полезного измеримого представителя.
Модель зрелости
- Уровень 1, Инициация: Коммуникация и сотрудничество вообще не измеряются; фактор автобуса и межкомандное трение обнаруживаются только через кризис.
- Уровень 2, Развитие: Существует некоторая неформальная осведомлённость о концентрации знаний, но нет последовательного измерения или проактивного исследования.
- Уровень 3, Стандартизация: Фактор автобуса и трение межкомандных зависимостей измеряются последовательно для критических систем и общих сервисов по всей организации.
- Уровень 4, Управление: Картирование коммуникационной сети периодически раскрывает скрытые узкие места и изолированные карманы, а время адаптации отслеживается как прямой представитель здоровья общего понимания.
- Уровень 5, Оркестрация: Организация проактивно снижает риск концентрации знаний и межкомандное трение до того, как они вызовут инциденты, и может указать на конкретные вмешательства, сознательное распространение знаний, прояснённые процессы зависимостей, измеримо улучшившие это измерение.
Идеи для обсуждения
- Каков наш фактор автобуса для нашей единственной самой критической системы, честно?
- Какая межкомандная зависимость вызвала больше всего трения в прошлом квартале, и измерили ли мы это?
- Нашёл бы новый член команды нашу документацию, или только обнаружил бы, что она технически где-то существует?
- Соответствует ли наша неформальная коммуникационная сеть нашей организационной структуре?
- У какой проблемы качества или удовлетворённости могла бы на самом деле быть первопричина в сотрудничестве, которую мы не исследовали?
Основные выводы
- Сбои коммуникации и сотрудничества часто маскируются под другие проблемы; первопричина, неправильно приписанная не тому измерению, тратит усилия впустую.
- Отслеживайте концентрацию знаний (фактор автобуса) напрямую, используя данные контроля версий и оповещения, а не ждите, пока кризис её раскроет.
- Измеряйте трение межкомандных зависимостей явно; оно обычно невидимо вовлечённым командам, пока не измерено.
- Используйте время адаптации до продуктивного вклада как прямого практического представителя того, насколько хорошо течёт общее понимание.
- Периодически картируйте реальные коммуникационные сети, поскольку они часто существенно отличаются от формальной организационной структуры.
Источники и дальнейшее чтение
- Forsgren, Nicole, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler, “The SPACE of Developer Productivity,” ACM Queue (2021).
- Team Topologies, Мэттью Скелтон и Мануэль Пайс.
- Peopleware: Productive Projects and Teams, Том Демарко и Тимоти Листер.
- Conway, Melvin E., “How Do Committees Invent?” (1968).