Про скорость разработки в Канбан
В августе 2016 года на одном из проектов установили ограничение Work In Progress равное количеству девелоперов работающим над проектом. Т. е. если кто-то заболевал или уходил в отпуск, ограничение Work In Progress уменьшалось на единицу. При добавлении разработчиков, увеличивалось на единицу.
На скриншоте Control Chart в Jira и эффект от внедрения данной практики:
Rolling avarage дней между «взято в разработку» и «готово к релизу» (конкретно на этом проекте даже выкачено на продакшен) снизилось с 7.4 дней до 2.7 дней.
То есть бизнес стал получать свою функциональность в два раза быстрее.
Недавно проводил мастер-класс новой проектной команде по Канбану и WIP:
Смысл в том, что бы браться за новые задачи только после того, как уже взятые в работу полностью готовы.
Частая картина в девелоперских командах:
- Программист взял Задачу 1 в разработку
- Отправил Задачу 1 на тестирование
- Тестер приступил к тестированию через 5 часов
- Программист пока взял Задачу 2
- Задача 1 вернулась с багом
- Программист решает закончить Задачу 2
- Через 3 часа программист отправляет Задачу 2 на тестирование
- Программист возвращается к доработке Задачи 1
- Через час исправляет баг и отправляет Задачу 1 на тестирование
- Через 2 часа Тестировщик приступает к тестированию Задачи 1
- Задача 1 отправляется в релиз
Итого время простоя задачи
на пункте 3: 5 часов
на пункте 7: 3 часа
на пункте 10: 2 часа
Проблемы бесконтрольного набора задач:
- Задача долго отлеживается, перед тем как её возьмут на тестирование, потому что тестировщики заняты тестированием других задач
- Задача долго отлеживается после возвращения на доработку, потому что программист пока ждет результатов тестирования, взял себе на разработку уже другую задачу, и пока ее не закончит, к доработкам вернувшегося тикета не приступит.
Как итог: куча полуфабрикатов, недоделок, незавершенных задач — одним словом, связанный капитал: время и деньги на разработку потрачены, а результата нет.
Так вот, в моих командах, процесс устроен следующим образом:
Как результат:
- минимальное время на реализацию задач
- минимальное количество задач погрязших в болоте доработок
- у программистов и тестировщиков есть время на саморазвитие
- бизнес подразделение довольно: новая функциональность начинает приносить деньги сразу же, а не «через 2 недели, когда будет релиз»
+ Полезное из переписки на facebook: