Отличия Scrum и Kanban
В этом уроке вы узнаете, чем Scrum отличается от Kanban и в каких случаях применим каждый из этих подходов.
Отличия Scrum от Kanban
Методология Scrum чётко определяет роли в команде разработки: Product Owner, Scrum Master и Development team. Kanban не диктует, какие роли должны быть в команде и как они должны называться. Тот же Delivery Manager не всегда присутствует в команде в явном виде, организацией процесса работы команды может заниматься Product Owner.
Как мы помним, при Scrum команда работает по спринтам, каждый из которых обычно длится две недели. В результате спринта команда выполняет определённое число задач, которое было оговорено на старте работы над спринтом.
При Kanban работа идёт непрерывно — команда постоянно выпускает релизы и не ограничивает себя в выборе задач и времени работы над ними.
Перед стартом спринта в Scrum Product Owner и Scrum Master отсортировывают задачи по важности в бэклоге продукта так, чтобы можно было спланировать следующий спринт. В Kanban не нужно разбираться с бэклогом продукта, так как команда работает непрерывно.
В той и другой методологии есть и общие элементы. Например, обе методологии подразумевают наличие встречи для планирования задач команды разработки — планирование спринта при Scrum и встреча наполнения очереди при Kanban. Каждая из встреч подразумевает взятие на себя обязательств по выполнению тех или иных задач. В Scrum время на выполнение задач зафиксировано (в течение спринта), в Kanban — нет.
Ещё один общий элемент двух методологий — ежедневные встречи команды — дейли и kanban-митинг. Эти встречи нужны, чтобы актуализировать статус задач и обсудить вопросы, которые возникают в ходе работы команды.
Каждая из методологий также подразумевает презентацию выполненных работ на специальной встрече. При Scrum она называется «демонстрацией», при Kanban — встречей по планированию поставки.
Как выбрать между Scrum и Kanban
Выбирая, в каком подходе работать, важно знать, что:
- Kanban позволяет оперативно реагировать на изменения, то есть сразу брать в работу новые задачи, когда они появляются у команды разработки.
- Scrum позволяет спланировать работу команды на ближайший спринт так, чтобы до его окончания в фокус внимания команды не попадали новые задачи.
Scrum лучше подходит командам, для которых нужен строгий контроль за сроками или есть заранее известные дедлайны. Кроме того, Scrum позволяет построить карту развития продукта, так как перед глазами всегда есть бэклог продукта, в котором содержится перечень всех будущих доработок и задач. Также Scrum может хорошо себя показать, если нужно регулярно проверять гипотезы и внедрять их в продукт.
Kanban подойдёт командам, для которых важно как можно быстрее закрывать потребности пользователей и постоянно меняться — стартапы или быстрорастущие проекты. В таких командах каждый день может появляться новая важная задача, которую необходимо решать здесь и сейчас. Scrum или водопад в такой ситуации лишь свяжет команду разработки по рукам и не позволит быстро внедрять изменения.
Сопоставьте ситуацию с подходящей ей методологией.
- Вы с командой занимаетесь разработкой медицинского оборудования для лечения детей. Сначала вы проектируете аппарат, а потом разрабатываете для него ПО, чтобы врач мог проводить процедуры и следить за состоянием ребёнка.
Каскадная модель
- Вы с командой разрабатываете приложение для знакомств среди студентов первого курса. Этот проект вы готовите в рамках месяца первокурсника к старту праздника.
Метод набегающей волны
- Вы с командой разрабатываете приложение с картой города. Но сейчас снова популярны покемоны (помните Pokemon Go?), все бегают по городу и ищут их. Вы хотите, чтобы через ваше приложение пользователи могли видеть на карте, где в городе найти конкретного покемона, чтобы поймать его.
Kanban
- Вы с командой разрабатываете приложение для покупки одежды из популярных магазинов по аналогии с Lamoda.
Scrum