Сравнение Kanban и Scrum

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

Max Rehkopf Max Rehkopf
Просмотр тем

Agile — это набор идеалов и принципов, которые служат для нас ориентиром. Kanban и Scrum — это методологии, которые помогают командам придерживаться принципов agile и выполнять работу.

Указать на различия между методологиями Scrum и Kanban несложно, но это даст лишь поверхностное представление. Хотя методологии различаются, их принципы в целом одинаковы. Обе помогают улучшить качество продуктов (и сервисов) и избавляют от множества проблем.

Итак, на чем мы остановились?

Agile — это структурированный итеративный подход к управлению проектами и разработке продуктов. В нем учитывается непостоянный характер разработки продуктов. Самоорганизующиеся команды, выбравшие этот подход, получают возможность реагировать на изменения, не отклоняясь от намеченного пути. В наши дни agile не дает особого преимущества перед конкурентами. Сегодня просто невозможно разрабатывать продукт в течение нескольких месяцев или даже лет в условиях полной секретности. Это значит, что сейчас как никогда важно работать правильно.

Суть Kanban — в визуализации, ограничении объема незавершенной работы и достижении максимальной эффективности (или скорости). Kanban-команды стремятся по максимуму сократить время, которое уходит на выполнение проекта (или пользовательской истории) от начала до конца. Для этого они используют доску Kanban и непрерывно совершенствуют свой рабочий процесс. 

Задача команд Scrum — поставить работающее ПО за ряд промежутков времени, которые называются спринтами. Они стремятся создавать циклы обучения для быстрого сбора и учета отзывов клиентов. Scrum-команды используют особые роли, создают специальные артефакты и проводят регулярные собрания, чтобы работа шла в нужном русле. Лучше всего про Scrum написано в руководстве по Scrum.

 

Scrum

Kanban

График

Scrum

Регулярные спринты с фиксированной продолжительностью (например, 2 недели)

Kanban

Непрерывный процесс

Подходы к релизу

Scrum

В конце каждого спринта

Kanban

Непрерывная поставка

Роли

Scrum

Владелец продукта, scrum-мастер, команда разработчиков

Kanban

Обязательных ролей нет

Ключевые показатели

Scrum

Скорость

Kanban

Время выполнения, время цикла, объем незавершенной работы (WIP)

Отношение к изменениям

Scrum

В ходе спринта команды не должны вносить изменения.

Kanban

Изменение может произойти в любой момент

Коллеги по команде используют доску Scrum | Atlassian — тренер по agile

Scrum — структурированный agile-подход

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

График Scrum

В Scrum высокий темп работы достигается за счет ее деления на спринты продолжительностью от двух до четырех недель (максимум) с точными датами начала и окончания. Из-за узких временных рамок сложные задания приходится делить на более мелкие истории, а команда быстрее учится. Сможет ли ваша команда за это время поставить пригодный для использования код? Вот в чем заключается главный вопрос.

Ключевыми точками в спринте являются собрания по планированию спринта и по обзору итогов спринта, а также ретроспективы. Кроме того, в ходе спринта проходят ежедневные scrum-совещания (стендапы). Эти scrum-собрания не отнимают много сил и проводятся на постоянной основе. 

Подходы к релизу

Сейчас в методологии Scrum нередко продукт выпускается по ситуации, но долгое время было принято выпускать продукт в конце каждого спринта. Команды ставят цель для каждого спринта (цель спринта) и на собрании по обзору итогов спринта принимают решение, выпускать результат работы или нет.

Роли в Scrum

В Scrum четко обозначены три роли.

  • Владелец продукта представляет интересы клиента, управляет бэклогом продукта и помогает определить приоритеты для команды разработчиков.
  • Scrum-мастер следит, чтобы команда соблюдала принципы Scrum.
  • Команда разработчиков выбирает, какую работу нужно сделать, поставляет инкременты и несет коллективную ответственность.

Кто руководит командой Scrum? По факту никто. Команды Scrum проповедуют принцип самоорганизации; в них все участники равны, хоть и исполняют разные обязанности. Команду объединяет общая цель — поставить ценный продукт клиентам.

Ключевые показатели

Скорость — сумма очков оценки сложности, отражающая объем работы, которую выполнили за спринт. Это базовый показатель для команд Scrum. От него зависит, какой объем работы команда возьмет на себя в будущих спринтах. Если команда в среднем за спринт может заработать 35 очков оценки сложности (скорость = 35), она не примется за бэклог спринта, содержащий задач на 45 очков.

Отношение к изменениям

Команды стараются не изменять объем работ во время спринта. Однако иногда Scrum-команды получают информацию от клиентов и понимают, что то, над чем они работают, не так ценно для клиента, как казалось раньше. В таких случаях объем спринта следует изменить, ведь нет ничего важнее, чем поставить ценный для клиента продукт. В рамках ретроспективы спринта команды Scrum должны обсуждать, как свести число изменений к минимуму в будущем, так как они ставят под угрозу возможность создания готового к поставке инкремента.

Подробнее о методологиях Scrum см. в статье Что такое Scrum?.

Коллеги по команде используют доску Kanban | Atlassian — тренер по agile

Kanban — непрерывное совершенствование, гибкие процессы

Суть Kanban — в визуализации работы, ограничении объема незавершенной работы (WIP) и быстром перемещении задач от стадии «Выполняется» на стадию «Завершено».

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

Модель Kanban

В основе Kanban лежит непрерывная структура рабочего процесса, дающая командам свободу действий и возможность меняться вместе с изменениями приоритетов. Рабочие задачи представлены карточками на доске Kanban и перемещаются из одной стадии рабочего процесса (столбца) в другую. Обычно рабочий процесс подразделяется на стадии «Предстоит сделать», «В процессе», «На проверке», «Заблокировано» и «Завершено». Но это не самый интересный способ разбить процесс.

Возможность создавать собственные столбцы в зависимости от того, как работает ваша команда, — лучшая особенность Kanban. Моя команда поставляет контент, поэтому задачи проходят столбцы (если упростить) «Бэклог», «Приоритеты расставлены», «Очертания намечены», «Написание», «Оформление», «Техническая экспертиза» и «Поставлено». С помощью нашей доски мы узнали, что поставляем примерно одну порцию контента в неделю, и поняли, где у нас проблемные места (да, это именно «Техническая экспертиза»!).

Подходы к релизу

В Kanban обновления выпускаются по мере готовности; регулярный график или заранее определенные сроки отсутствуют как таковые.

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

Роли в Kanban

Доска Kanban принадлежит всей команде. Некоторые команды привлекают к участию тренера по agile, но Kanban, в отличие от Scrum, не предусматривает роль «kanban-мастера», который отвечал бы за устранение шероховатостей в процессе работы. Команда несет коллективную ответственность за совместное выполнение заданий на доске и поставку результатов.

Ключевые показатели

Время выполнения и время цикла — важные показатели для команд Kanban. Они отражают, сколько в среднем уходит времени на выполнение работы от начала до конца. Сокращение времени цикла говорит об успехе команды Kanban.

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

Другое средство борьбы с проблемными местами — лимиты незавершенной работы (WIP). Они позволяют ограничить максимальное количество карточек, которые могут находиться в любом столбце одновременно. Когда лимит WIP достигнут, специальный инструмент, например Jira Software, помечает этот столбец, и команда направляет свое внимание на эти задачи, чтобы передать их на следующие стадии.

Отношение к изменениям

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

Подробнее о методологиях Kanban см. в статье Что такое Kanban?.

Agile-проект Atlassian | Atlassian — тренер по agile

Сравнение инструментов Scrum и Kanban

Сторонники agile не склонны рассуждать об инструментах. Нередки случаи, когда выбор инструмента определяет выбор методологии, а выбор методологии определяет принципы, которых придерживается команда. Мы же считаем, что процесс принятия решения должен идти в обратном направлении.  

Только после того, как вы освоили принципы Scrum и пришли к выводу, что эта методология полностью вам подходит, следует выбирать оптимальный инструмент Scrum. То же можно сказать и про Kanban. Наше мнение предвзято, но мы считаем, что Jira Software, лучший инструмент для разработки ПО, используемый agile-командами, удовлетворит всем вашим потребностям.

Jira позволяет создавать проекты специально под Scrum и Kanban, чтобы вы могли реализовывать принципы каждой методологии. Вы также всегда можете обратиться за помощью к нашим руководствам по применению Scrum с помощью Jira Software и применению Kanban с помощью Jira Software.

Kanban или Scrum — не можете выбрать?

Применять Scrum и Kanban — значит следовать agile строго «по учебнику». Они прошли проверку временем и, откровенно говоря, им сложно что-либо противопоставить. Переиначивая расхожее выражение, можно сказать: «Еще никого не уволили за выбор Scrum».

Но решение необязательно должно быть категоричным. Сотни команд используют гибридные модели, разработанные под влиянием и Scrum, и Kanban. В Jira Software и недавно выпущенных проектах нового поколения мы предусмотрели все необходимое, чтобы команды могли выбрать компромиссный вариант.

Проекты следующего поколения дают командам возможность самим выбирать элементы agile, которые им нужны. Это могут быть элементы Scrum, Kanban или их сочетание. Необязательно брать за основу одну методологию в первый же день работы. В проектах следующего поколения вы можете поэтапно добавлять все более и более мощные возможности по мере понимания того, что подходит вашей команде (а что нет).

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

Что бы вы ни выбрали, не спешите менять методологию. Пусть какие-нибудь рабочие задачи из бэклога пройдут весь путь до стадии «Завершено», и только потом спросите команду, что удалось, а что нет. Знакомьтесь со Scrum и Kanban, задавайте эти вопросы, и в конечном счете вы познаете радость следования agile. 

продолжение темы
Kanplan