Урок 7 из 8 · 20 мин · обновлено

Kanban, метрики и ретроспектива

Чем Kanban отличается от Scrum, зачем ограничивать число задач в работе, какие метрики показывают здоровье процесса — время цикла, диаграмма сгорания, скорость — и как провести полезную ретроспективу.

Kanban

Kanban — второй популярный способ работать по Agile. В нём нет спринтов: задачи идут непрерывным потоком. Как только кто-то освободился, он берёт следующую задачу сверху.

Kanban удобен, когда задачи приходят постоянно и их трудно запланировать на две недели вперёд: поддержка пользователей, исправление срочных ошибок, работа отдела эксплуатации. Многие команды смешивают подходы: спринты из Scrum и лимиты из Kanban.

В Jira для этого есть шаблон проекта Kanban: та же доска, но без раздела спринтов.

Ограничение работы в процессе

Главная идея Kanban — ограничить работу в процессе (WIP, work in progress). Для каждой колонки задают WIP-лимит: например, в «In Progress» не больше 3 задач, в «Testing» — не больше 2. Если колонка заполнена, Jira подсветит её, и новую задачу туда брать нельзя.

Зачем? Когда у каждого по пять начатых задач, человек постоянно переключается, ничего не доходит до конца, а очередь в тестирование растёт. С лимитом команда вынуждена заканчивать начатое: если тестирование забито, разработчик идёт помогать тестировать, а не начинает новое.

Лозунг Kanban: «Перестаньте начинать — начните заканчивать».

Метрики

Метрики показывают, здоров ли процесс. Главные:

  • время цикла (cycle time) — сколько задача идёт от начала работы до готовности. Если оно растёт, где-то образовалась пробка;
  • время выполнения (lead time) — от появления задачи в бэклоге до готовности. Это время, которое ждёт заказчик;
  • скорость (velocity) — стори-пойнты, сделанные за спринт (урок 4);
  • диаграмма сгорания (burndown chart) — сколько работы осталось в спринте по дням. Идеальная линия — ровный спуск к нулю. Если график стоит на месте, а в последний день обрывается, задачи закрывали разом в конце: возможно, они слишком крупные или застревали в тестировании.

В Kanban смотрят накопительную диаграмму потока (cumulative flow diagram): сколько задач в каждой колонке по дням. Если полоса «Testing» расширяется — пробка в тестировании.

Все эти отчёты в Jira есть в разделе Reports.

Метрики — инструмент для команды, чтобы видеть проблемы. Как только их начинают использовать для наказаний и сравнения людей, они перестают говорить правду.

Ретроспектива

Ретроспектива — встреча в конце спринта о том, как команда работала. Простой формат:

  1. Что было хорошо? — что стоит сохранить.
  2. Что мешало? — проблемы без поиска виноватых.
  3. Что попробуем? — 1–3 конкретных изменения на следующий спринт с ответственными.

Главное — третий пункт. Ретроспектива, после которой ничего не меняется, превращается в жалобы. Хорошее изменение конкретное: не «лучше общаться», а «тестировщик участвует в уточнении историй до спринта».

На следующей ретроспективе проверяют, сработали ли прошлые договорённости.

Попробуйте сами. В команде «Зерна» на доске 9 задач в In Progress на 4 разработчиков, в Testing — 7 задач на одного тестировщика, а в Done за неделю — 2. Что происходит и что вы предложите на ретроспективе?

Ответ

Что происходит: разработчики начинают много задач одновременно, а тестирование — бутылочное горлышко: один тестировщик не успевает за четырьмя разработчиками. Задачи копятся в Testing, а готово мало.

Предложения:

  • ввести WIP-лимиты: In Progress — 4, Testing — 3;
  • когда Testing заполнен, разработчики помогают тестировать или пишут автотесты, а не берут новое;
  • подключать тестировщика к уточнению историй, чтобы критерии приёмки были ясны заранее и баги не возвращались по кругу.

Через спринт проверить: выросло ли число задач в Done и сократилось ли время цикла.

Мини-тест: проверьте себя

Закрепите урок: несколько вопросов, разбор ответов — в конце.

  1. Чем Kanban отличается от Scrum?

  2. Зачем ограничивать число задач в колонке «В работе»?

  3. Диаграмма сгорания спринта идёт ровно до середины спринта, а потом резко падает в последний день. О чём это говорит?