Методологии

Что такое Kanban?

Kanban — одна из популярных гибких (Agile) техник, которая отлично подходит для визуализации и оптимизации потока задач. Но, к сожалению, у начинающих тестировщиков этот метод вызывает огромное количество проблем и вопросов. В этой статье мы немного погрузимся в Kanban и разберём то, как он работает.

Немного истории

В 50-е годы 20-го века компания «Toyota» столкнулась с тем, что их склады постоянно переполнялись.

Для решения этой проблемы, «Toyota» придумала интересный метод:

Ввести визуализацию процесса создания автомобилей и ограничение работы на одной стадии, тем самым сделав процесс потоковым, чтобы ни на каком из этапов не было застоев. Позже этот метод начал применяться и в других сферах, в том числе и разработке программного обеспечения.

Как работает Kanban?

Отличительные черты канбана:

  1. Прозрачность процесса путём визуализации разработки с помощью Kanban доски
  2. Ограничение количества задач, находящихся на одной стадии (Work In Progress, WIP), например максимум 5 задач может находиться одновременно на этапе разработки

Ниже можно увидеть пример Kanban доски с ограничениями.

На стадиях In Progress, Peer Review, In Test одновременно может находиться не более того числа, что находится в скобках.

Kanban board - Wikipedia

Для чего это нужно?

Ответ прост: Для того, чтобы команда не делала параллельно несколько задач, а старалась как можно быстрее довести одну задачу из In Progress в Done. Тем самым уменьшив среднее время доставки одной задачи в Done.

Где чаще всего используется Kanban?

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

Scrum VS Kanban


Scrum
Kanban
ГрафикРегулярные спринты фиксированной продолжительности (например, 2 недели)Непрерывный процесс
Подходы к релизуВ конце каждого спринта после одобрения владельцем продуктаПоставка выполняется непрерывно или на усмотрение команды
РолиВладелец продукта, Scrum-мастер, команда разработчиковРолей нет, в некоторых командах работают тренеры по agile
Ключевые показателиКоличество Story Points, которое команда может сделать за спринт (Velocity)Среднее время, за которое задача проходит полный цикл от начала работы до конца (Lean time)
Ограничение по задачамОграничение на количество задач, которые находятся в спринте. В начатый спринт можно добавлять только те задачи, которые соответствуют цели спринта.Ограничение на количество задач, находящихся на одной стадии (Work In Progress, WIP), например, максимум 5 задач может находиться одновременно на этапе разработки
Отношение к изменениямВ ходе спринта команды стремятся избегать изменений в прогнозах спринта: изменения приведут к неверным выводам относительно оценки задачИзменение может произойти в любой момент
Встречи, митингиОбязательны Backlog Refinement, Sprint Planning, Daily Scrum, Sprint Review, Sprint RetrospectiveВстречи и мероприятия не обязательны

Подведём итог:

Kanban — одна из самых неформальных Agile техник, т.к. по сути есть только 2 правила — визуализация и ограничение WIP.

Цель Kanban — сделать так, чтобы в среднем одна задача выполнялась как можно быстрее.

Итеративная методология с доской, но без ограничения WIP — это не Kanban.

Kanban отлично подходит для проектов, где должна быть реализована непрерывная поставка изменений на продакшн.