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 :
- 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
- Brak wiarygodnych metod umożliwiających uzyskanie odpowiedzi na pytanie: na kiedy dostarczycie (wy, czyli zespół Scrum) to wydanie lub etap projektu
- 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
- 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.