Scrum z Kanban

Zacznę od pytania: dlaczego w ogóle warto rozszerzyć Scrum o praktyki Kanban?

Moja odpowiedź wynika z doświadczeń oraz wniosków ze współpracy przy projektach realizowanych przez zespoły stosujące zarówno Scrum, jak i zespoły stosujące Kanban.

A doświadczenia te pokazują wyraźnie kilka słabości Scrum, rozumianego tak, jak opisuje go Scrum Guide 2020. Słabości takie jak :

  1. Mało precyzyjne szacowanie wielkości pracy (rozumianej jako historyjki użytkownika) jaka może być wykonana przez zespół Scrum w jednym Sprincie, gdyż bazuje ona na tzw. punktach (ang. story points), co prawda nie wymienionych w Scrum Guide, lecz niemal powszechnie stosowanych przez firmy i zespoły stosujące Scrum
  2. Brak wiarygodnych metod umożliwiających uzyskanie odpowiedzi na pytanie: na kiedy dostarczycie (wy, czyli zespół Scrum) to wydanie lub etap projektu
  3. Brak mierników pozwalających zarówno na oparte o dane doskonalenie pracy zespołu, jak i na skuteczne zarządzanie pracami realizowanymi w ramach Sprintu, umożliwiające przewidywalny i stabilny przepływ tych prac.

Jeszcze inne problemy związane ze stosowaniem Scrum w praktyce projektowej/produktowej wynikają ze stosowania podejścia iteracyjnego, czyli Sprintu. Nie są dyskutowane w niniejszym tekście, gdyż będą one przedmiotem innego artykułu.

Scrum z Kanban – metoda wejścia na wyższy poziom zarządzania

Jak można przezwyciężyć w/w słabości? Odpowiedź jest prosta: rozszerzając Scrum o:

jak i o:

  • Metryki Kanban

umożliwiające skuteczne i efektywne zarządzanie pracami oraz eliminację wymienionych na wstępie słabości Scrum.

W tym właśnie celu powstał „Przewodnik po Kanbanie dla Zespołów Scrumowych”, dostępny na stronie www.scrum.org. Moim zdaniem rozszerzając Scrum o Kanban warto też posłużyć się jeszcze innym przewodnikiem – „The Kanban Guide”, opracowanym przez Daniela Vacanti i Johna Colemana, dostępnym na kanbaguides.org. Polskie tłumaczenie „The Kanban Guide” znaleźć można zarówno na tej stronie, jak i na https://www.jsproject.pl/wiedza/kanban/985-polskie-tlumaczenie-kanban-guide

Rozszerzenie Scrum o praktyki i metryki Kanban oznacza wprowadzenie zasad i praktyk podejścia Flow (ang. przepływ) do Scrum’owego podejścia iteracyjnego.

Przepływ to ruch potencjalnej wartości, wynikającej z ich nośników, czyli produktów, przez system, na przykład zbiór kroków realizacji projektu, lub tworzenia produktu.

Kanban to strategia optymalizacji przepływu wartości

Zanim wyjaśnię, jak można rozszerzyć Scrum o praktyki i metryki Kanban, koniecznie muszę wyjaśnić czym – w rozumieniu The Kanban Guide – jest Kanban.

Kanban to strategia optymalizacji przepływu wartości (ang. flow of value) przez proces, używająca wizualnego systemu ssącego (ang. pull-based system).

Jak podaje The Kanban Guide: strategią Kanban jest optymalizacja wartości poprzez optymalizację przepływu. Optymalizacja niekoniecznie implikuje maksymalizację; oznacza dążenie do odpowiedniej równowagi pomiędzy efektywnością, wydajnością i przewidywalnością sposobu wykonania pracy:

  • Efektywny przepływ pracy (ang. workflow) dostarcza tego czego chce klient, w czasie, w którym klient chce by było to dostarczone
  • Wydajny przepływ pracy, w celu dostarczenia wartości, przypisuje dostępne zasoby ekonomiczne tak optymalnie, jak to tylko możliwe
  • Większa przewidywalność przepływu pracy to możliwość dokładniejszego prognozowania dostarczenia wartości przy akceptowalnym stopniu niepewności.

Powyższe trzy punkty wyjaśniają więc cele Kanban, stające się także celami rozszerzenia Scrum o Kanban. Mamy więc drugą, precyzyjniejszą odpowiedź na pytanie: dlaczego warto rozszerzać Scrum o Kanban

Praktyki Kanban do zastosowania w Scrum

Zacznijmy od praktyk Kanban. Jest z nimi mały problem. Różne źródła (jak np. The Kanban Guide, Przewodnik po Kanbanie dla Zespołów Scrumowych, czy Kanban University) wymieniają różną liczbę tych praktyk, generalnie jednak poruszając się w obrębie kilku tych samych.

Moja propozycja obejmuje następujące praktyki:

1. Definiowanie i wizualizacja procesu pracy (ang. workflow) w postaci tzw. Definicji procesu pracy – Definicji Workflow, zwizualizowanej na tablicy Kanban, a obejmującej m.in. takie elementy, jak:

  • Definicja elementu będącego nośnikiem wartości dla klienta (ang. unit of value), "przepływającego" przez proces pracy (ang. workflow), określanego w The Kanban Guide mianem: Praca (ang. work item/items)
  • Definicja miejsca w procesie pracy, od którego Praca zaczyna "przepływać" przez zdefiniowany proces (punkt rozpoczęcia), oraz miejsca, w którym opuszcza ten proces (punkt zakończenia)
  • Jedna lub kilka zdefiniowanych faz procesu, przez które "przepływa" Praca od punktu rozpoczęcia do punktu zakończenia
  • Definicja sposobu kontrolowania Pracy W Toku (ang. WIP) od punktu rozpoczęcia do punktu zakończenia
  • Jawne zasady postępowania, dotyczące sposobu "przepływu" Pracy przez zdefiniowane fazy procesu pracy, od punktu rozpoczęcia do punktu zakończenia
  • Oczekiwany Poziom Świadczenia Usług (ang. Service Level Expectation - SLE), będący prognozą czasu przepływu (ang. flow) Pracy od punktu rozpoczęcia do punktu zakończenia

2. Aktywne zarządzanie Pracą w procesie pracy, obejmujące takie metody, jak na przykład:

  • Kontrolowanie poziomu Pracy W Toku (ang. WIP)
  • Unikanie gromadzenia się Pracy w dowolnej części procesu pracy
  • Zapewnienie, przy odniesieniu do SLE (ang. Service Level Expectation), by Praca nie ulegała niepotrzebnie starzeniu się
  • Odblokowywanie zablokowanej Pracy
  • Zapewnienie, by Praca wchodziła do systemu w takim samym - lub bardzo zbliżonym - tempie, jak tempo z jakim wychodzi z systemu pracy
  1. Inspekcja i Adaptacja Definicji Procesu Pracy, umożliwiająca ciągłe doskonalenie procesu pracy i jej rezultatów oraz produktów, a dotycząca takich elementów Definicji Procesu Pracy, jak:
  • Zasady wizualizacji procesu pracy i jego faz
  • Zasady dotyczące sposobu pracy, na przykład zasady dotyczące modyfikacji poziomu limitu pracy w toku, SLE, czy wielkości partii zasilającej system.

Metryki Kanban do zastosowania w Scrum

Zastosowanie Kanban wymaga zbierania i analizowania minimalnego zestawu metryk przepływu (ang. flow measures/metrics). Metryki te pokazują aktualną sytuację oraz rezultaty systemu Kanban i pomagają podejmować - oparte na informacjach - decyzje dotyczące sposobu dostarczania wartości.

Cztery podstawowe metryki przepływu, jakie mogą stosować Zespoły Scrum’owe to:

  • Poziom Prac W Toku (ang. WIP): liczba Prac rozpoczętych, lecz nie zakończonych
  • Przepustowość (ang. Throughput): liczba Prac zakończonych w jednostce czasu, czyli w trakcie Sprintu
  • Wiek Pracy (ang. Work Item Age): czas jaki upłynął od rozpoczęcia Pracy a aktualnym momentem w czasie
  • Czas wykonania (ang. Cycle Time): czas, jaki upłynął między rozpoczęciem Pracy (ang. Work Item), a jej zakończeniem.

Omówienie poszczególnych metryk Kanban wykracza poza ramy niniejszego tekstu. Opis niektórych z nich znajdziecie w innych artykułach w bloku Wiedza na www.jsproject.pl.

Podsumowanie

Rozszerzenie Scrum o praktyki i metryki Kanban to metoda na eliminację słabości Scrum, a przede wszystkim na uzyskanie odpowiedniej równowagi pomiędzy efektywnością, wydajnością i przewidywalnością sposobu wykonania pracy.

Parafrazując znane hasło reklamowe: Scrum z Kanban – to jest to!

A o tym, jak w praktyce podczas wydarzeń Scrum’a stosować praktyki Kanban oraz wykorzystywać metryki Kanban napiszę w innym teście – już wkrótce.