Тема 64 из 91· Разработка ПО и цифровая доставка
Метрики потока
Метрики потока измеряют, как работа движется через систему поставки: время цикла, время ожидания, пропускная способность, незавершённая работа (НРВ) и эффективность потока. Они управляются законом Литтла — той же математикой очередей, которая управляет больничными койками и листами ожидания.
Почему это важно
Большая часть времени поставки — это не работа, это ожидание. Исследования эффективности потока интеллектуального труда регулярно обнаруживают, что элементы активно обрабатываются только 5-15% от прошедшего времени; остальное — очереди. Это означает, что самое дешёвое ускорение — устранение очередей, а не наём персонала — именно то понимание, которое обнаружили больничные программы потока пациентов о койках. Для всего, у чего есть стоимость задержки, метрики потока локализуют, где накапливается стоимость задержки.
Расчёт
Время цикла = t(завершено) − t(начато)
Время ожидания = t(доставлено) − t(запрошено) (включает очередь предварительной работы)
Пропускная способность = завершённые элементы / период
НРВ = начатые, но незавершённые элементы
Эффективность потока = активное время / (активное время + время ожидания) × 100
Закон Литтла: среднее НРВ = пропускная способность × среднее время цикла
(эквивалентно: время цикла = НРВ / пропускная способность)
Закон Литтла — это рычаг: при фиксированной пропускной способности сокращение НРВ пропорционально сокращает время цикла. Он также управляет больницами: занятые койки = госпитализации/день × длительность пребывания.
Разобранный пример
У команды 40 элементов в работе, и она завершает 10/неделю: время цикла = 40/10 = 4 недели. Они вводят лимиты НРВ, сокращая НРВ до 15: время цикла = 15/10 = 1,5 недели — те же люди, та же пропускная способность, доставка на 62% быстрее, чисто за счёт дисциплины очереди.
Оценено с помощью СЗ: если элементы в среднем стоят £3000/неделю стоимости задержки, каждый элемент теперь проводит на 2,5 недели меньше в очереди: 10 элементов/неделю × 2,5 × 3000 = £75 000/неделю устранённой стоимости задержки — от изменения политики, которое ничего не стоит.
Больничное зеркало: 40 госпитализаций/день × 6,0 дней ДП = 240 коек; сократите неклиническое ожидание внутри ДП до 5,6 дней, и 16 коек освобождаются (длительность пребывания) — тот же закон, тот же рычаг.
Связь с программной инженерией
Метрики потока — это общий язык между инженерией поставки и операциями здравоохранения:
- Ориентиры под-этапов PR (LinearB, ~8 млн PR): элитное время принятия < 7ч, рецензия < 6ч, общий цикл < ~26ч — время принятия — это чистая очередь, первое, что нужно атаковать.
- Листы ожидания — это отставания; РНЛ — это время ожидания; занятость коек — это НРВ. Улучшение переносится в обоих направлениях: лимиты НРВ ↔ сглаживание госпитализаций; инструментирование времени очереди ↔ отслеживание этапа пути.
- Эффективность потока ниже 15% нормальна в обеих областях, и обе скрывают это, потому что люди заняты, пока работа ждёт — измеряйте часы работы, а не работников.
Подводные камни
- Поклонение утилизации: доведение утилизации работников до 100% нелинейно увеличивает время очереди (М/М/1: ожидание ∝ ρ/(1−ρ)) — причина, по которой больницы, загруженные на 95%, встают в затор, а команды, выделенные на 95%, застревают.
- Средние значения по асимметричным распределениям: время цикла имеет тяжёлые хвосты; прогнозируйте по перцентилям (p85), а не по средним.
- Сокращение НРВ путём отклонения работы выше по потоку и называние этого улучшением потока — спрос не исчез, он встал в очередь за пределами границы измерения (больничная версия: скорые, ожидающие вне отделения неотложной помощи).
Источники
- Обзоры закона Литтла и метрик потока. https://agility-at-scale.com/safe/lpm/flow-metrics/ ; https://getdx.com/blog/flow-metrics/
- Инженерные ориентиры LinearB. https://linearb.io/resources/engineering-benchmarks
- Reinertsen DG, The Principles of Product Development Flow.