Перейти до вмісту

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 прогнозує наступні ітерації на основі швидкості. Дивіться Користувацькі історії та планування ітерації.
  • Швидкість визначає розмір плану. Коли ввімкнено auto-plan iterations, поточна ітерація заповнюється до вашої швидкості й не далі. Дивіться Планування ітерації.
  • Кожна історія має власний стан. Історія проходить стани Unstarted → Started → Finished → Delivered → Accepted, показані на картці, а не колонки дошки. Дивіться скінченний автомат станів.

WIP-лімітів немає, як немає й режиму безперервного потоку без ітерацій. З Kanban переносяться видимість (кожна історія та її стан — на одній дошці) і метрики потоку: сторінка Метрики показує тренд швидкості, діаграму згоряння та історії, перенесені між ітераціями.