Метрики потока

Перевод оригинальной статьи от SAFe.

Первая часть статьи "Метрики SAFe: результаты, поток, компетенции".
Читайте здесь

В этой статье будут детальнее рассмотрены 6 метрик потока:
  1. Распределение потока
  2. Скорость потока и Пропускная способность системы
  3. Время потока
  4. Загрузка потока и Кумулятивная диаграмма
  5. Эффективность потока
  6. Предсказуемость потока
В предыдущей статье были рассмотрены 3 области метрик:
  1. метрики результата,
  2. метрики потока – как раз о них рассказывается подробнее в этой статье,
  3. метрики компетентности,
а также то, зачем нужны метрики, и какие 4 ошибки не стоит допускать при их выборе и применении.
Распределение потока (для задач и бюджета)
Что измеряет метрика?
Распределение потока измеряет объем каждого типа работы в системе за любые периоды времени. Может включать соотношение новых бизнес-функций (историй, фич, эпиков), технических задач (enablers), дефектов и работы по снижению рисков.

Как измеряется?
Для элементов каждого типа в любой момент времени подсчитайте:
  • их количество или размер, например, в очках историй (story points),
  • за итерацию команды или инкремент программы или выше (PI).

Почему метрика важна?
Отслеживая объем проходящей через систему работы каждого типа, можно балансировать загрузку команды по разными типам задач.
Обычно используется для балансировки задач бизнеса и технических.
  • Слишком большое внимание к новым бизнес-функциям оставит мало мощности команд для архитектуры, инфраструктуры и технического долга, работа над которыми позволяет в дальнейшем создавать новую ценность.
  • С другой стороны, слишком большие инвестиции в технический долг могут привести к недостаточной работе по созданию ценности для клиентов.
Целевые значения распределения усилий помогут сбалансировать внимание команды к каждому типу задач.
Рис. 1. Распределение потока работ между фичами, enablers, поддержкой на каждый инкремент (PI)
Другой вариант – распределение бюджета
Также полезно анализировать распределение потока финансирования в рамках портфеля. Отслеживание распределения бюджета по инвестиционным горизонтам позволяет сбалансировать портфель, чтобы обеспечить и краткосрочное, и долгосрочное “здоровье”.
Скорость потока и Пропускная способность системы
Что измеряет метрика?
Скорость потока измеряет количество элементов бэклога (историй, фич, эпиков), завершенных в заданный период времени.

Как измеряется?
Подсчитайте элементы работы, выполненные за определенный период времени.
  • Периодом времени может быть итерация команды или инкремент программы (PI).
  • Среди элементов могут быть истории, фичи, эпики.
  • Подсчитывается количество элементов или их размер в очках историй (sptory points).

Почему метрика важна?
При прочих равных условиях более высокая скорость подразумевает более высокую производительность и является хорошим индикатором того, что командой производятся усовершенствования процесса, включая выявление и устранение задержек. Однако скорость системы не будет увеличиваться вечно, и с течением времени будет важна стабильность системы. Значительное падение скорости указывает на проблемы, требующие расследования.
Рис. 2. Скорость потока команды в очках историй по итерациям со средней скоростью 31 story points
Другой вариант – частота развертывания
Deployment frequency – показатель производительности и пример скорости потока. Вместо историй, завершенных за итерацию, он измеряет количество развертываний за заданный период времени.
Время потока
Что измеряет метрика?
Время потока измеряет общее время, затраченное на все этапы рабочего процесса. Является мерой эффективности всей системы. Время выполнения измеряется
  • от появления идеи до произведенной ценности.
  • Время прохождения отдельных частей процесса тоже может быть полезно измерять, чтобы точнее определять возможности для улучшений, например, от готовности кода до развертывания (commit to deploy).

Как измеряется?
Рассчитайте среднюю для конкретного типа элемента работы длительность процесса до завершения.
  • Среди элементов могут быть истории, фичи, эпики.
Гистограмма – удобная визуализация времени потока (рис. 3). Она помогает выявить требующие внимания отклонения и сократить общее среднее время потока. На гистограмме изображено количество элементов (по Y), на которые было затрачено конкретное количество времени (по X).

Почему метрика важна?
Время потока помогает организациям и командам сосредоточиться на том, что действительно важно – на предоставлении ценности бизнесу и клиентам в кратчайшие сроки. Чем короче время выполнения, тем меньше времени наши клиенты тратят на ожидание новых функций, и тем ниже лежащая на организации стоимость задержки.
Рис. 3. Гистограмма количества фич, на выполнение которых ушло X дней, и среднее время потока 36,4 дня для фичи
Другие варианты – время реализации изменений и время восстановления обслуживания
Lead time for changes и time to restore service – примеры метрик времени потока, фокусирующихся на конкретных этапах рабочего процесса.
Загрузка потока и Кумулятивная диаграмма
Что измеряет метрика?
Загрузка потока показывает, сколько элементов в настоящее время находится в системе. Поддержание стабильного ограниченного количества активных элементов (ограничение работы, находящейся в процессе выполнения, WIP limit) имеет решающее значение для обеспечения быстрого потока элементов через систему (принцип SAFe №6).

Как измеряется?
Кумулятивная диаграмма потока (CFD) – один из распространенных инструментов, который используется для эффективной визуализации загрузки потока во времени (рис. 4). CFD показывает:
  • количество работы в каждом состоянии в момент времени,
  • скорость, с которой элементы принимаются в очередь работ (кривая прибытия),
  • скорость, с которой они выполняются (кривая отправки).
В конкретный момент времени (по X) загрузка потока – это расстояние по вертикали между кривыми соседних статусов.

Почему метрика важна?
Возрастающая загрузка потока – опережающий индикатор избыточной незавершенной работы в процессе. Вероятным следствием станет скорое увеличение времени потока, поскольку в системе начнут скапливаться очереди. Поэтому измерение и снижение загрузки потока имеет критическое значение.
Более того, на диаграмме легко увидеть, как более частые поставки снижают загрузку потока, улучшая при этом время и скорость потока.
Рис. 4. Визуализация загрузки потока с помощью кумулятивной диаграммы
Состояния сверху вниз:
  • Воронка идей
  • Анализ
  • Бэклог к реализации
  • Реализация
  • Проверка на пред-промышленной среде
  • Развертывание в промышленной среде
  • Выпуск
  • Готово
Эффективность потока
Что измеряет метрика?
Эффективность потока измеряет, какая часть общего времени потока тратится на полезную работу и какая часть уходит на ожидание между шагами.

Как измеряется?

Чтобы правильно измерить эффективность потока, его участники (команды, программы, ARTs, VSs) должны четко понимать, как выглядит их поток, и через какие этапы проходят элементы работы. Это понимание достигается с помощью Value Stream Mapping – процедуры определения этапов рабочего процесса. После определения шагов эффективность потока рассчитывается так – общее время активной работы над элементами разделите на общее время потока, а результат выразите в процентах.


Почему метрика важна?
В типичной еще не оптимизированной системе эффективность потока может быть крайне низкой, часто выражающейся однозначными числами. Это указывает на большое количество потерь (wastes) в системе и на узкие места и задержки, которые необходимо устранить. И наоборот, чем выше эффективность потока, тем система более способна быстро создавать ценность.
Рис. 5. Эффективность потока – отношение времени активной работы над к общему времени потока
Другой вариант – процент неудачных изменений
Change failure rate – процент выведенных в промышленную среду изменений, требующих исправления. Другими словами, как часто работа, поступающая на этап “развертывание в продуктив”, содержит ошибки?
При отрисовке карты потока создания ценности для измерения эффективности потока эта информация отражается в метрике “процента завершенных без возврата” для каждого шага, т. е. проценте работы, которую следующий шаг может выполнить без необходимости доработки на предыдущем шаге.
Высокий % неудачных изменений в значительной степени сказывается на низкой эффективности потока.
Предсказуемость потока
Что измеряет метрика?
Предсказуемость потока измеряет, насколько хорошо команды и программы (поезда релизов и решений) могут планировать и достигать своих целей инкремента (PI).

Как измеряется?
Предсказуемость потока измеряется с помощью метрики предсказуемости программы SAFe (МПП, PPM) – отношение достигнутой части запланированной к поставке бизнес-ценности к фактически полученной бизнесом ценности за инкремент программы (PI). Значения определяются для каждой команды отдельно, а затем суммируются по всем командам программы.

Почему метрика важна?
Низкая или неустойчивая предсказуемость делает обещания по поставке нереалистичными и часто выявляет корневые проблемы в технологиях, планировании или эффективности организации. Эти проблемы необходимо решать. Надежные команды и программы работают в диапазоне 80–100% предсказуемости. Это позволяет бизнесу и заинтересованным сторонам планировать эффективно.
Рис. 6. Метрика предсказуемости программы (PPM), агрегированная из значений предсказуемости команд
Краткая справка о целях инкремента – PI Objectives
Владельцы бизнесов (business owners) присваивают значение “бизнес-ценности” (BV, Business value) каждой из целей команды в ходе личного общения с командой. Путем такой оценки задач транслируется информация о стратегии. Эти оценки используются командами для планирования последовательности реализации.

Бизнес-ценность именно присваивается, а не рассчитывается.

Владельцы бизнесов используют шкалу от 1 (самая низкая) до 10 (самая высокая) для оценки каждой цели. Оценки не нужно выравнивать между командами – у каждой команды есть своя “десятка”, или даже несколько таких “десяток” – элементов бэклога с наивысшим приоритетом.

Важно, чтобы бизнес-ценность определялась только на уровне командных целей PI. Для расчета метрики предсказуемости на уровне программы (МПП, PPM) необходимо агрегировать оценки уровня команд.

После поставки инкремента программы (PI) владельцы бизнесов встречаются с каждой командой, чтобы оценить фактическую ценность, достигнутую для каждой из их командных целей PI. Для каждой команды рассчитывается фактический размер предоставленной бизнесу ценности (Actual BV). При подсчете учитываются и необязательные (uncommitted) цели, как показано на рис. 7 ниже.

Для расчета метрики предсказуемости программы запланированные и фактические бизнес-ценности всех команд суммируются, как показано на рис. 6 выше.
Рис. 7. Необязательные цели учитываются в фактическом размере предоставленной бизнесу ценности
Метрики DevOps – DORA
Вместе с 3 областями измерений (о них читайте в наше статье "Метрики SAFe: результаты, поток, компетенции") часто бывает полезно использовать дополнительные метрики, чтобы получить представление о производительности DevOps в организации. В частности можно использовать “метрики DORA”:
  • Deployment frequency,
  • Lead time for changes,
  • Time to restore service,
  • Change failure rate.

О них рассказано по тексту выше:
  • Частота развертывания – в скорости потока. 
  • Время изменений – во времени потока.
  • Время восстановления работоспособности – во времени потока.
  • Процент неудачных изменений – в эффективности потока.
Подойдет ли вам?
Напишите нам, мы с вами свяжемся и подскажем, насколько такой подход применим в вашей ситуации.
Возможно будет интересно
Перевод
Автор перевода
Дмитрий Блинов
Тренер
Консультант по Agile, управлению проектами и soft skills