1.3 Результаты важнее выпуска: выбор того, что измерять
Обзор и мотивация
Каждая инженерная метрика попадает в одну из трёх категорий, и их смешение это вторая по частоте причина провала в этой книге после полного игнорирования закона Гудхарта. Входная метрика (input metric) измеряет затраченные усилия: часы инженеров, вложенные доллары, принятые в работу стори-пойнты. Метрика выпуска (output metric) измеряет то, что произвела система: отгруженные функции, слитые пулл-реквесты, закрытые заявки. Метрика результата (outcome metric) измеряет изменение, которое на самом деле имело значение: удержанную выручку, предотвращённые инциденты, сэкономленное время пользователя. Команды тяготеют ко входам и выпуску, потому что их легко считать и они полностью находятся под контролем команды. Ценность почти всегда живёт в результатах, которые проявляются медленнее, сложнее поддаются измерению и труднее приписываются работе какой-то одной команды.
Эта тема о том, чтобы сознательно сопротивляться этому тяготению. Дашборд, построенный полностью из входов и выпуска, может выглядеть впечатляюще загруженным, не производя при этом вообще никакой реальной ценности: команда может отгрузить десятки функций, которыми никто не пользуется, закрыть сотни заявок, вновь открывающихся через неделю, или попасть в каждую оценку стори-пойнтов, пока фактические результаты продукта, удержание, удовлетворённость, выручка остаются на месте или снижаются. Ничто из этой загруженности не проявится как проблема на дашборде, построенном только из выпуска, потому что такие дашборды не созданы для того, чтобы это видеть.
В масштабе корпорации и государства именно это различие определяет, может ли руководство отличить команду, которая продуктивна, от команды, которая просто активна. Подразделение может годами отчитываться отличными цифрами выпуска, отгруженными функциями, закрытыми спринтами, в то время как результат, который на самом деле волнует инвестора или законодательный орган, удержанная выручка, сокращённое время ожидания для граждан, незаметно разрушается под этим. «Мы доставили дорожную карту» это не то же самое утверждение, что «дорожная карта сделала вещи лучше», и только набор метрик, взвешенный в пользу результатов, может отличить одно от другого.
Ключевые принципы
- Входы и выпуск это представители; результаты это сама вещь. Взвешивайте ваш набор метрик в пользу результатов везде, где вы можете до них дотянуться.
- Лёгкость измерения не причина что-то измерять. Легче всего считаются обычно входы и выпуск, не потому что они важнее всего, а потому что они механически просты для захвата.
- Приписывание усложняется по мере движения к результатам. Принимайте этот компромисс сознательно, а не отступайте к выпуску только потому, что результаты труднее приписать.
- Команда может контролировать свои входы и выпуск, но лишь влиять на результаты. Проектируйте подотчётность соответственно: держите команды ответственными за то, что они действительно контролируют, и отслеживайте результаты как общие, межкомандные сигналы.
- Единственный результат-путеводная звезда с небольшим набором движущих факторов лучше стены плиток выпуска. Охват должен обеспечиваться структурой, а не самим объёмом дашборда.
Рекомендации
Классифицируйте каждую метрику перед её принятием
Для любой кандидатной метрики спросите, к какой из трёх категорий она относится. «Слитых пулл-реквестов в неделю» это выпуск. «Процент слитых пулл-реквестов, вызвавших производственный инцидент в течение недели» ближе к результату, потому что измеряет последствие, а не объём. Эта классификация занимает тридцать секунд и должна быть обязательной, прежде чем метрика добавляется на любой командный или организационный дашборд, потому что это самый быстрый способ поймать дашборд, незаметно заполняющийся легко считаемым выпуском, в то время как считается, что он измеряет ценность.
Постройте дерево метрик вокруг единственного результата
Не отслеживайте плоский список. Организуйте метрики как дерево метрик (иногда называемое деревом KPI): верхняя метрика результата, разбитая на движущие факторы, которые причинно или математически её питают, вплоть до операционных измерений выпуска и входа, которыми действительно владеют отдельные команды. Когда верхний результат двигается, дерево показывает вам, какой движущий фактор нижнего уровня исследовать, превращая «число упало» в «причина именно в этом шаге конвейера». Назовите единственную метрику-путеводную звезду наверху везде, где ваша область это поддерживает: меру, которая лучше всего отражает доставленную ценность, частоту развёртывания в паре с долей неудачных изменений для платформенной команды, или еженедельное активное использование ключевой функции для продуктовой команды.
Взвешивайте результаты на ревью, а не только на дашборде
Дерево метрик хорошо ровно настолько, насколько хорошо оно используется на практике. На ревью спринтов, квартальных бизнес-обзорах и обновлениях для руководства начинайте с числа уровня результата и используйте метрики выпуска и входа под ним только для объяснения движения, а не для его замены. Команда, отчитывающаяся «мы закрыли 40 заявок за этот спринт» без какого-либо контекста результата, не сказала вам ничего о том, имела ли эта работа значение; команда, отчитывающаяся «вырвавшиеся дефекты упали на 30%, и вот инвестиция в тестирование, которая это обеспечила», сказала вам нечто реальное.
Принимайте более медленную обратную связь для метрик результата и сочетайте их с более быстрыми опережающими индикаторами
Метрики результата часто являются запаздывающими: они подтверждают результат после того, как прошло достаточно времени, чтобы быть уверенными. Это запаздывание настоящая цена, поскольку оно задерживает обучение. Сочетайте каждую метрику результата хотя бы с одним опережающим индикатором, метрикой, которая двигается раньше и предсказывает результат, так чтобы команда могла корректировать курс прежде, чем медленное, авторитетное число наконец появится. Частота развёртывания опережающий индикатор для результатов доставки; растущий тренд вырвавшихся дефектов опережающий индикатор для грядущего результата надёжности. Используйте опережающие индикаторы, чтобы действовать рано, и запаздывающие метрики результата, чтобы подтвердить, что вы были правы.
Компромиссы: плюсы и минусы
| Категория | Плюсы | Минусы |
|---|---|---|
| Входные метрики | Полностью под контролем команды, легко считать | Самая слабая связь с фактической ценностью; легко подделывается объёмом |
| Метрики выпуска | Легко считать, ясное владение, быстрая обратная связь | Вознаграждает активность важнее воздействия; может расти, пока ценность падает |
| Метрики результата | Напрямую отражают то, что важно; трудно дёшево подделать | Медленные, зашумлённые, трудно приписываются одной команде |
| Структура дерева метрик | Связывает ежедневную работу со стратегической ценностью; помогает диагностике | Требует настоящей аналитической работы для правильного построения и обслуживания |
Центральное напряжение: контролируемость против ценности. Входы и выпуск полностью под контролем команды, что делает их соблазнительными для привлечения команд к ответственности; результаты несут ценность, но лишь частично находятся во влиянии какой-либо одной команды, поскольку хорошая функция всё равно может провалиться по причинам, полностью лежащим вне инженерии. Разрешайте это, привлекая команды к ответственности за входы и выпуск, которые они полностью контролируют, в то время как результаты отслеживаются как общие сигналы, которыми владеет вся организация вместе, связанные через явное дерево метрик, а не оставленные как необъяснённый разрыв между «мы сделали работу» и «помогло ли это».
Вопросы для обсуждения в команде
Для каждой метрики на нашем текущем дашборде: это вход, выпуск или результат, и говорит ли баланс между тремя честную историю? Большинство дашбордов при честной проверке оказываются почти полностью входами и выпуском, потому что именно их инструментарий сообщает по умолчанию. Классифицируйте каждую плитку и подсчитайте разбивку; дашборд вообще без плиток результата измеряет активность и представляет её как эффективность.
Какова наша единственная метрика-путеводная звезда результата, и можем ли мы проследить её вниз через дерево метрик до чего-то, чем действительно владеет каждая команда? Без этой связующей структуры движущееся верхнее число не даёт никакой подсказки, куда смотреть, и команды не видят, как их ежедневные метрики выпуска связаны с чем-то значимым. Принесите вашу текущую верхнюю метрику, если она у вас есть, и попробуйте построить дерево вживую.
Где мы привлекаем команду к ответственности за результат, на который она может только влиять, но не контролировать его? Это распространённый источник фрустрации и тихого манипулирования, потому что команда, наказываемая за результат, сформированный факторами вне её контроля, имеет все основания защищать себя, а не улучшать реальную систему. Выявите эти несоответствия и либо скорректируйте подотчётность, либо добавьте недостающие рычаги.
Какой опережающий индикатор у нас есть для каждой из наших запаздывающих метрик результата, и насколько заранее он их предсказывает? Набор метрик, состоящий исключительно из запаздывающих, означает, что вы узнаёте о своей ошибке только тогда, когда уже слишком поздно дёшево скорректировать курс. Принесите ваши метрики результата и проверьте, существует ли для каждой настоящий опережающий индикатор, или вы летите вслепую между отчётными периодами.
Сколько из того, что мы празднуем на ревью и ретроспективах, это выпуск («мы отгрузили X») против результата («X изменило Y к лучшему»)? Язык, которым команды празднуют работу, со временем формирует то, что они оптимизируют, часто сильнее, чем это делает дашборд. Прислушайтесь к вашим собственным совещаниям по ревью за один спринт и честно подсчитайте разбивку.
Если бы наши главные метрики выпуска удвоились за одну ночь, обязательно ли улучшились бы наши метрики результата, или они могли бы ухудшиться? Этот мысленный эксперимент выявляет метрики выпуска, оторвавшиеся от результатов, которым они должны были служить, или даже активно противостоящие им, например объём функций, увеличивающий нагрузку на обслуживание быстрее, чем он увеличивает принятие.
Отраслевой взгляд
Стартап. Выберите один результат, обычно представителя того, продолжают ли клиенты получать ценность, например еженедельное удержание или активацию, и относитесь к нему как к вашей путеводной звезде с первого дня. Сопротивляйтесь притяжению к тщеславным метрикам выпуска вроде накопленного числа функций, которые соблазнительно сообщать инвесторам, но которые ничего не говорят о том, работает ли продукт для кого-либо на самом деле.
Малый бизнес. Ваши существующие инструменты, точка продаж, служба поддержки, аналитика, обычно уже сообщают число, близкое к результату, частоту повторных покупок, частоту повторного открытия заявок. Используйте их вместо построения собственного инструментирования результатов, которое у вас нет возможности обслуживать, и сопротивляйтесь искушению отступить к сырым подсчётам активности только потому, что это вид по умолчанию.
Корпорация. Доминирующий провал это портфель команд, каждая из которых оптимизирует локальные метрики выпуска, не складывающиеся ни в какой связный организационный результат. Стройте дерево метрик сознательно, стандартизируйте определения результатов между бизнес-подразделениями и требуйте от каждой крупной инициативы сформулировать её гипотезу результата перед финансированием, а не только её план выпуска.
Государство. Надзорные органы и общество всё более грамотны в различии между «доставили описание работ» и «улучшили результат», и отчёт только по выпуску приглашает именно такую проверку. Определяйте успех как результат, обращённый к гражданину (время ожидания, частота ошибок, удовлетворённость) везде, где это юридически и практически возможно, и будьте явны, когда доступна только метрика выпуска, и почему.
Примеры
Корпорация. Инженерное подразделение логистической компании два года подряд отчитывалось о стабильно растущем числе «отгруженных функций за квартал», в то время как основная оценка удовлетворённости клиентов компании незаметно выравнивалась. Новый вице-президент по инженерии построил дерево метрик, укоренённое в показателе своевременной доставки, фактическом бизнес-результате, разбитом через время простоя на хабе и успешность последней мили вплоть до выпуска уровня команд. В течение одного отчётного цикла стало ясно, что несколько команд с высоким выпуском отгружали функции в областях без измеримого эффекта на метрику-путеводную звезду, и инвестиции сместились к движущим факторам, которые дерево показало действительно важными.
Государство. Цифровая команда национальной службы здравоохранения отчитывалась о «модулях, доставленных против описания работ» для многолетней программы модернизации медицинских карт пациентов. Надзорный комитет задал другой вопрос: стали ли клиницисты тратить меньше времени на административный ввод данных. Команда задним числом внедрила метрику результата, медианные минуты административного времени на приём пациента, и обнаружила, что ранние модули на самом деле увеличили это время из-за трения в рабочем процессе, несмотря на попадание в каждую веху доставки. Более поздние модули были переработаны напрямую вокруг метрики результата, и публичная отчётность программы сместилась от контрольного списка доставки к сравнению результата до и после.
Бизнес-кейс: мотивация, ROI и TCO
Отдача от взвешивания в пользу результатов: избегнутые потери. Организация, способная увидеть почти в реальном времени, что поток выпуска не двигает никакой результат, может перенаправить эту инвестицию прежде, чем будет потрачен целый бюджетный цикл на то, чтобы узнать это трудным путём. Доминирующая скрытая стоимость в крупных инженерных организациях не недоинвестирование, это хорошо выполненная работа, которую вообще не следовало финансировать, потому что она была оторвана от какого-либо реального результата, и дашборд только из выпуска вообще не может увидеть этот разрыв.
Полная стоимость владения измерением результатов выше, чем измерением выпуска, потому что результаты по-настоящему труднее определить, приписать и инструментировать, а построение настоящего дерева метрик требует сознательных аналитических усилий, а не принятия всего, что инструмент экспортирует по умолчанию. Эта стоимость стоит того, чтобы её платить для любой инициативы выше скромного размера, потому что альтернатива, обнаружение постфактум, что год уверенно отчитанного выпуска не произвёл никакой реальной ценности, стоит гораздо дороже предварительного анализа.
Антипаттерны и ловушки
- Дашборд, полностью состоящий из плиток выпуска: измеряет активность и представляет её как эффективность.
- Полная подотчётность команды за результат, который она не может контролировать: порождает фрустрацию и приглашает манипулирование для защиты от несправедливого обвинения.
- Отсутствие опережающего индикатора для запаздывающего результата: команда узнаёт о своей ошибке только тогда, когда её уже слишком дорого исправлять.
- Празднование языка выпуска на ревью при заявлении о ценности результатов: заявленный приоритет и реальный стимул расходятся, и реальный стимул побеждает.
- Плоский список метрик без древовидной структуры: движущееся верхнее число не даёт никакой подсказки, куда смотреть.
- Отношение к измерению результатов как к слишком сложному, чтобы его пытаться: навсегда возвращает организацию к легко считаемым входам и выпуску.
Модель зрелости
- Уровень 1, Инициация: Метрики почти полностью входы и выпуск; никто не может назвать метрики результата организации или проследить к ним путь.
- Уровень 2, Развитие: Некоторые команды неформально определили метрики результата, но нет общего дерева метрик и нет последовательных опережающих индикаторов.
- Уровень 3, Стандартизация: Документированное дерево метрик связывает общую метрику-путеводную звезду результата вплоть до выпуска, принадлежащего командам, применяемое последовательно по всей организации.
- Уровень 4, Управление: Опережающие и запаздывающие индикаторы отслеживаются и рассматриваются вместе; команды подотчётны только за то, что они контролируют, и измерение результатов активно обеспечивается ресурсами.
- Уровень 5, Оркестрация: Измерение результатов напрямую интегрировано в решения о финансировании и приоритизации; организация регулярно перенаправляет инвестиции прочь от работы с высоким выпуском и низким результатом прежде, чем пройдёт целый бюджетный цикл.
Идеи для обсуждения
- Назовите единственную важнейшую метрику результата нашей организации. Все ли с ней согласны?
- Какова наша крупнейшая текущая инвестиция в выпуск, которую мы пока не можем проследить ни до какого результата?
- Где наша структура подотчётности наказывает команду за результат, который она не может контролировать?
- Как бы выглядел наш дашборд, если бы мы удалили каждую чисто выпускную плитку?
- Сколько времени сейчас занимает у нас узнать, действительно ли отгруженная функция помогла?
Основные выводы
- Классифицируйте каждую метрику как вход, выпуск или результат и сознательно взвешивайте ваш набор в пользу результатов.
- Стройте дерево метрик вокруг единственной метрики-путеводной звезды, чтобы движущееся верхнее число указывало на причину.
- Держите команды подотчётными за то, что они контролируют (входы, выпуск); отслеживайте результаты как общие сигналы, на которые влияет вся организация вместе.
- Сочетайте каждую запаздывающую метрику результата с более быстрым опережающим индикатором, чтобы вы могли корректировать курс прежде, чем медленное число подтвердит, что вы ошибались.
- Дашборд только из выпуска измеряет активность и называет её эффективностью; относитесь к этому как к тревожному сигналу, а не как к утешению.
Источники и дальнейшее чтение
- Accelerate: The Science of Lean Software and DevOps, Николь Форсгрен, Джез Хамбл и Джин Ким.
- Lean Analytics, Алистер Кролл и Бенджамин Йоскович.
- Measure What Matters, Джон Дорр.
- The Lean Startup, Эрик Рис.
- Key Performance Indicators, Дэвид Парментер.