Перейти к содержимому

Scrum или Kanban

Сравнение Scrum и Kanban: ограниченные по времени спринты против непрерывного потока, роли, WIP-лимиты, метрики и место, которое между ними занимает доска East Agile Tracker, построенная на итерациях.

Scrum и Kanban — два agile-метода, которые команды сравнивают чаще всего. Оба делают работу видимой, и оба стремятся поставлять небольшими частями. Различаются они тем, как задают темп работы: Scrum планирует в фиксированных временных рамках, а Kanban непрерывно вытягивает работу и ограничивает, сколько её находится в работе одновременно.

На этой странице сравниваются оба метода. Более широкое семейство, включая XP и Lean, описано на странице Что такое agile-разработка?.

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

Scrum определяет три роли:

  • Product Owner — отвечает за бэклог продукта и его порядок.
  • Scrum Master — помогает команде с процессом и устраняет препятствия.
  • Разработчики (Developers) — создают инкремент продукта.

Главная мера — velocity: сколько работы команда завершает за спринт; это значение ложится в основу плана следующего спринта. См. Что такое velocity?.

Kanban отталкивается от рабочего процесса, который у команды уже есть. Рабочие элементы перемещаются по доске с колонками, соответствующими этапам (например, К выполнению → В работе → Проверка → Готово). Метод держится на трёх идеях:

  • Визуализируйте рабочий процесс — каждый элемент и каждый этап находятся на доске.
  • Ограничивайте незавершённую работу (WIP) — у каждой колонки есть лимит; новый элемент входит, только когда другой выходит.
  • Управляйте потоком — команда измеряет, сколько времени занимают элементы (cycle time, lead time), и устраняет узкие места.

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

ScrumKanban
РитмФиксированные спринты (1–4 недели)Непрерывный поток
ОбязательствоРабота, запланированная на спринтНет обязательства на пакет; работу вытягивают, когда есть ёмкость
РолиProduct Owner, Scrum Master, разработчикиНе предписаны
Изменения посреди циклаНежелательны внутри спринтаДопустимы в любой момент
Ограничение работыЁмкость спринтаWIP-лимит на колонку
Главные метрикиVelocity, burndownCycle time, lead time, пропускная способность
ДоскаСбрасывается каждый спринтПостоянная

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

Многие команды сочетают оба метода («Scrumban»): сохраняют ритм планирования и одновременно следят за тем, сколько работы находится в процессе.

East Agile Tracker построен на итерациях, поэтому он ближе к Scrum и к eXtreme Programming, чем к Kanban. Для некоторых из перечисленных выше понятий он использует собственные названия:

  • Спринты называются итерациями. Каждый проект задаёт длину итерации от 1 до 4 недель. Итерации создаются автоматически; нет спринта, который нужно открывать или закрывать. См. Итерации.
  • Backlog — это единый упорядоченный список. Владелец продукта держит его в строгом порядке приоритетов, а Backlog проецирует предстоящие итерации на основе velocity. См. Пользовательские истории и планирование итерации.
  • Velocity определяет размер плана. При включённой настройке auto-plan iterations текущая итерация заполняется до вашей velocity и не дальше. См. Планирование итерации.
  • У каждой истории своё состояние. История проходит состояния Unstarted → Started → Finished → Delivered → Accepted, показанные на карточке, а не колонки доски. См. конечный автомат состояний.

WIP-лимитов нет, как нет и режима непрерывного потока без итераций. Из Kanban переносятся видимость (каждая история и её состояние — на одной доске) и метрики потока: страница Метрики показывает тренд velocity, burndown и истории, перенесённые между итерациями.