Przejdź do głównej zawartości

Scrum czy Kanban

Porównanie Scruma i Kanbana: sprinty ograniczone czasowo a ciągły przepływ, role, limity WIP, metryki oraz miejsce, jakie zajmuje między nimi tablica East Agile Tracker oparta na iteracjach.

Scrum i Kanban to dwie metody zwinne, które zespoły porównują najczęściej. Obie czynią pracę widoczną i obie dążą do dostarczania w małych porcjach. Różnią się tempem pracy: Scrum planuje w stałych ramach czasowych, a Kanban zaciąga pracę w sposób ciągły i ogranicza, ile jej jest jednocześnie w toku.

Ta strona porównuje obie metody. Szerszą rodzinę, w tym XP i Lean, opisuje strona Czym jest rozwój zwinny?.

Scrum dzieli pracę na sprinty — stałe ramy czasowe, zwykle od jednego do czterech tygodni. Każdy sprint zaczyna się planowaniem sprintu (sprint planning), podczas którego zespół wybiera pracę, którą spodziewa się ukończyć, a kończy przeglądem tego, co powstało, i retrospektywą sposobu pracy zespołu.

Scrum wyróżnia trzy role:

  • Product Owner — odpowiada za backlog produktu i jego kolejność.
  • Scrum Master — wspiera zespół w procesie i usuwa przeszkody.
  • Deweloperzy (Developers) — budują przyrost produktu.

Główną miarą jest velocity: ile pracy zespół kończy w sprincie, co zasila plan następnego sprintu. Zobacz Czym jest velocity?.

Kanban wychodzi od przepływu pracy, który zespół już ma. Elementy pracy przesuwają się po tablicy z kolumnami odpowiadającymi etapom (na przykład Do zrobienia → W toku → Przegląd → Gotowe). Metodę niosą trzy idee:

  • Wizualizuj przepływ pracy — każdy element i każdy etap jest na tablicy.
  • Ograniczaj pracę w toku (WIP) — każda kolumna ma limit; nowy element wchodzi dopiero wtedy, gdy inny wyjdzie.
  • Zarządzaj przepływem — zespół mierzy, ile trwają elementy (cycle time, lead time), i usuwa wąskie gardła.

Kanban nie ma ram czasowych i nie narzuca ról. Planowanie odbywa się zawsze wtedy, gdy kolejkę trzeba uzupełnić.

ScrumKanban
RytmStałe sprinty (1–4 tygodnie)Ciągły przepływ
ZobowiązaniePraca zaplanowana na sprintBrak zobowiązania na partię; praca jest zaciągana, gdy jest przepustowość
RoleProduct Owner, Scrum Master, deweloperzyNienarzucone
Zmiana w trakcie cykluOdradzana wewnątrz sprintuDozwolona w dowolnym momencie
Ograniczanie pracyPojemność sprintuLimit WIP na kolumnę
Główne metrykiVelocity, burndownCycle time, lead time, przepustowość
TablicaResetowana co sprintStała

Żadna z metod nie jest ogólnie lepsza. Scrum pasuje zespołom, które chcą regularnego rytmu planowania i prognozy opartej na minionych sprintach, na przykład zespołom produktowym dostarczającym funkcje według harmonogramu. Kanban pasuje do pracy, która napływa nieprzewidywalnie i musi być obsługiwana na bieżąco, na przykład wsparcia, operacji czy utrzymania.

Wiele zespołów łączy obie metody („Scrumban”): zachowuje rytm planowania, a jednocześnie pilnuje, ile pracy jest w toku.

East Agile Tracker jest oparty na iteracjach, co sytuuje go bliżej Scruma i eXtreme Programming niż Kanbana. Dla niektórych z powyższych pojęć używa własnych nazw:

  • Sprinty nazywają się iteracjami. Każdy projekt ustawia długość iteracji na 1–4 tygodnie. Iteracje tworzą się automatycznie; nie ma sprintu do otwarcia ani zamknięcia. Zobacz Iteracje.
  • Backlog to jedna uporządkowana lista. Właściciel produktu utrzymuje ją w ścisłej kolejności priorytetów, a Backlog prognozuje nadchodzące iteracje na podstawie prędkości. Zobacz Historyjki użytkownika i planowanie iteracji.
  • Prędkość wyznacza rozmiar planu. Przy włączonym auto-plan iterations bieżąca iteracja wypełnia się do Twojej prędkości i nie dalej. Zobacz Planowanie iteracji.
  • Każda historia ma własny stan. Historia przechodzi przez stany Unstarted → Started → Finished → Delivered → Accepted, widoczne na karcie, a nie przez kolumny tablicy. Zobacz maszynę stanów.

Nie ma limitów WIP ani trybu ciągłego przepływu bez iteracji. Z Kanbana przenoszą się widoczność (każda historia i jej stan są na jednej tablicy) oraz metryki przepływu: strona Metryki pokazuje trend prędkości, burndown i historie przenoszone między iteracjami.