Эффективность потока: сколько задача ждёт
Возьмём одну задачу. Создали 1 сентября, закрыли 11-го: lead time 10 дней. Но если спросить разработчика, сколько он над ней работал, ответ будет «дня два». Остальные восемь задача ждала: лежала в бэклоге, ждала ревьюера, стояла под блокером «ждём ответ заказчика».
Эффективность потока (flow efficiency) и есть эта доля:
У задачи из примера 2 / 10 = 20%. По канбан-литературе у большинства команд она 15–40%: задачи в основном не делаются, а лежат.
Зачем это скрам-мастеру
Аналитика говорит: «cycle time P85 = 12 дней». Это диагноз, но без причины. Чтобы сократить срок, непонятно, куда смотреть: ускорять разработчиков или разгребать очередь на ревью?
Эффективность потока отвечает: «из 12 дней задачи 8 проводят в ожидании, из них 5 в Review». Это прямое указание, где лечить. Ускорить работу на 20% даст мало, сократить очередь на ревью вдвое даст в разы больше. Это главная идея канбана: оптимизируй ожидание, а не работу.
Что считается ожиданием
Такт не знает, работа в колонке или ожидание: у одной команды Review – живая работа ревьюера, у другой – очередь на неделю. Поэтому у колонки есть переключатель «Очередь» (в настройках колонки, доступен скрам-мастеру). Backlog помечен очередью по умолчанию.
Ожидание складывается из двух частей:
- время в колонках-очередях;
- время под флагом блокера в рабочих колонках (события
task_blocked/task_unblockedуже пишутся в журнал).
Если задача стоит в очереди и одновременно под блокером, время считается один раз, как очередь.
Как это реализовано
Ничего нового не копится. Каждый перенос задачи пишет событие с колонкой-назначением и временем; из них восстанавливается полная хронология задачи: «Backlog 1–3 сентября, In Progress 3–5, Review 5–10, Done с 10-го». Поверх хронологии накладываются интервалы блокеров.
Для каждой задачи, закрытой за выбранный период (14 / 30 / 90 дней), часы раскладываются по трём корзинам: работа, очередь, блок. Итоговая эффективность взвешена по часам, а не усреднена по задачам, чтобы одна двухчасовая задача не перевешивала недельную.
Две честные оговорки:
- Флаг «Очередь» берётся текущий и применяется ко всей истории. Если пометить колонку сегодня, прошлое пересчитается так, будто она была очередью всегда.
- Меньше пяти закрытых задач за период – карточка покажет «недостаточно данных», а не процент на двух точках.
Где увидеть
Карточка «Эффективность потока» на странице аналитики доски: общий процент, полоса работа / очереди / блок и список колонок с долей ожидания в каждой. Сокращать стоит самую большую очередь из списка.
Что считается в разделе, а что отложено: блокировки через зависимости задач (
task_dependencies) пока не учитываются, у них нет событий начала и конца. Это следующий шаг, когда появятся соответствующие события.