Сравнение 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 полностью отвечает вашим потребностям, следует выбирать оптимальный инструмент 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