Тема 64 из 91· Разработка ПО и цифровая доставка

Метрики потока (Flow Metrics)

Метрики потока измеряют, как работа движется через систему поставки: время цикла, время выполнения, пропускную способность, незавершённую работу (work in progress, WIP) и эффективность потока. Ими управляет закон Литтла — та же математика очередей, что управляет больничными койками и листами ожидания.

Почему это важно

Большая часть времени поставки — это не работа, а ожидание. Исследования эффективности потока в интеллектуальном труде регулярно обнаруживают, что над элементами активно работают только 5–15% от их прошедшего времени; остальное — очереди. Это значит, что самое дешёвое ускорение — устранение очередей, а не найм — именно то понимание, которое обнаружили больничные программы потока пациентов применительно к койкам. Для всего, что имеет стоимость задержки, метрики потока показывают, где накапливается эта стоимость.

Математика

Время цикла        = t(завершено) − t(начато)
Время выполнения   = t(доставлено) − t(запрошено)     (включает очередь до начала работы)
Пропускная способность = завершённых элементов / период
WIP                 = элементы, начатые, но не завершённые
Эффективность потока = активное время / (активное + время ожидания) × 100

Закон Литтла: средний WIP = пропускная способность × среднее время цикла
              (эквивалентно: время цикла = WIP / пропускная способность)

Закон Литтла — это рычаг: при фиксированной пропускной способности сокращение WIP пропорционально сокращает время цикла. Он же управляет больницами: занятые койки = поступления/день × длительность пребывания.

Практический пример

У команды 40 элементов в работе, и она завершает 10/неделю: время цикла = 40/10 = 4 недели. Они вводят лимиты WIP, сокращая WIP до 15: время цикла = 15/10 = 1,5 недели — те же люди, та же пропускная способность, поставка на 62% быстрее, чисто за счёт дисциплины очереди.

Оценено через CoD: если элементы в среднем несут £3 000/неделю стоимости задержки, каждый элемент теперь проводит в очереди на 2,5 недели меньше: 10 элементов/неделю × 2,5 × 3 000 = £75 000/неделю устранённой стоимости задержки — от изменения политики, не стоящего ничего.

Больничное зеркало: 40 поступлений/день × 6,0 дней длительности пребывания = 240 коек; сократите неклиническое ожидание внутри длительности пребывания до 5,6 дня, и высвобождаются 16 коек (длительность пребывания) — тот же закон, тот же рычаг.

Связь с разработкой программного обеспечения

Метрики потока — общий язык между инженерией поставки и операциями здравоохранения:

  • Бенчмарки подэтапов PR (LinearB, ~8 млн PR): элитное время подбора < 7ч, ревью < 6ч, полный цикл < ~26ч — время подбора — это чистая очередь, первое, на что стоит нападать.
  • Листы ожидания — это бэклоги; RTT — это время выполнения; занятость коек — это WIP. Улучшения переносятся в обоих направлениях: лимиты WIP ↔ сглаживание поступлений; инструментирование времени в очереди ↔ отслеживание этапов пути.
  • Эффективность потока ниже 15% нормальна в обоих доменах, и оба это скрывают, потому что люди заняты, пока работа ждёт — измеряйте часы работы, а не работников.

Подводные камни

  • Культ утилизации: доведение утилизации работников до 100% нелинейно взрывает время очереди (M/M/1: ожидание ∝ ρ/(1−ρ)) — причина, по которой больницы с занятостью 95% встают в затор, а команды с загрузкой 95% буксуют.
  • Средние по скошенным распределениям: время цикла имеет тяжёлый хвост; прогнозируйте по процентилям (p85), а не по средним.
  • Сокращение WIP отклонением работы выше по потоку с называнием этого улучшением потока — спрос не исчез, он встал в очередь за пределами границы измерения (больничная версия: машины скорой помощи, ждущие снаружи ED).

Источники