Burndown Chart, czyli wykres spalania, to zmora niektórych i przydatne narzędzie dla innych. Dzięki popularności elektronicznych systemów niektórym wydaje się też, że jest to element obowiązkowy Scruma. My jednak dobrze wiemy, że tak nie jest.
Czym jest Burndown Chart?
Burndown Chart (wykres spalania) to proste narzędzie obrazujące nam, w tempie realizujemy nasze prace i jak się ono ma do tempa wzorcowego. „Wzorcowego”, czyli takiego które zapewni nam zrealizowanie wszystkich prac w jakimś z góry założonym czasie.
Jeżeli przyłożymy tę ogólną definicję do naszej ulubionej metodyki, czyli Scruma, to będziemy mogli powiedzieć, że Burndown Chart obrazuje nam ile pracy zostało nam jeszcze do zrealizowania w bieżącym Sprincie. Oczywiście, patrząc z punktu widzenia bieżącej chwili.
Tuż po Planowaniu Sprintu (albo rozpoczęciu naszego cyklu), Burndown Chart pokaże nam, że jesteśmy na kursie i ścieżce. Zostało nam bowiem 100% czasu i 100% rzeczy do zrobienia. Celujemy w równe tempo, więc w połowie czasu chcielibyśmy, żeby została nam jeszcze połowa pracy. Natomiast w ostatnim momencie Sprintu chcemy zrealizować ostatnie prace i skończyć wszystko „na czas”.
To dzięki Burndown Chartowi będziemy widzieć, że na przykład jesteśmy w dwóch trzecich Sprintu, a została nam jeszcze połowa pracy. Zaobserwujemy też, że nasze tempo pracy cały czas się zmniejsza. Skąd to wiemy i jak to widać?
Wykres Burndown Chart
Burndown Chart jest bardzo prosty w swojej konstrukcji. Na osi poziomej mamy czas, czyli poszczególne dni naszego Sprintu. Na osi pionowej odkładamy jednostkę, w której mierzymy wielkość pozostałej pracy. Jeżeli dzielimy nasze wymagania na zadania i szacujemy je w godzinach, to mogą to być nawet godziny (tak jak na załączonym powyżej obrazku). Jeżeli szacujemy nasze wymagania w Story Pointach, to będę to Story Pointy. Jeżeli nie robimy ani jednego, ani drugiego, to na osi pionowej będziemy po prostu odkładać liczbę wymagań (sztuk), które pozostały nam do realizacji.
Każdego dnia rysujemy słupek, który obrazuje nam, ile w danym dniu pozostawało nam pracy. I to praktycznie wszystko. Do kompletu musimy jeszcze narysować linię, która prowadzi od 100% pracy pierwszego dnia do 0% pozostałej pracy na koniec Sprintu. Ta linia nazywana jest linią idealnego trendu i mówi nam, że gdybyśmy pracowali każdego dnia w równym tempie, to nasza pozostała do realizacji praca powinna być „spalana” (czy też „wypalana”) dokładnie w takim tempie.
Jeżeli poszczególne słupki poszczególnych dni odbiegają od linii idealnego trendu, to nasz Burndown Chart mówi nam, że nie wszystko jest tak, jak być powinno.
Przed czym ostrzega Burndown?
Co to zasady, Burndown Chart, może nas ostrzegać przed jedną z dwóch rzeczy: albo pracujemy zbyt wolno, albo przybywa nam pracy do realizacji. Ponadto, wyraźnie widać na nim zmiany trendów. Możemy na przykład zaobserwować, że przez ostatnie 3 dni nie zrealizowaliśmy zupełnie nic, podczas gdy tydzień temu pracowaliśmy w idealnym, wzorcowym tempie.
Jeżeli nasza prędkość spalania spada to znaczy, że napotykamy na jakieś trudności, bądź dzieją się jakieś nieprzewidziane rzeczy w zespole. Może kogoś zabrakło, może ktoś został odciągnięty do innych prac A może po prostu nie aktualizujemy danych w naszym narzędziu. Żaden Burndown Chart nie powie nam prawdy, jeśli dane z których korzysta nie są aktualne. Ale spadek prędkości spalaina może być też spowodowany tym, że robimy co możemy, ale pracy ciągle przybywa…
To jest druga rzecz którą najczęściej widzimy na wykresie spalania. To są te bardzo brzydkie wykresy, które zamiast spadać w dół, idą do góry. To obrazuje, że pozostałej pracy mamy coraz więcej. Czasami wynika to z tego, że odkrywamy nowe wymagania w trakcie realizacji, a czasami są to tak zwane wrzutki. Wrzutki to rzeczy których nie planowaliśmy, ale ktoś postanowił nam je dorzucić do bieżącego Sprintu.
Może się także wydarzyć, że słupki wylądują poniżej linii idealnego spalania. Świetnie! To znaczy, że prawdopodobnie skończymy wszystko co mamy zaplanowane przed końcem Sprintu. Jest to rzadki problem, bo przeważnie da o sobie znać Prawo Parkinsona i praca nam się mimo wszystko rozpycha do dostępnego czasu. Jeżeli jednak tak się nie zadzieje, to przecież wystarczy dobrać kolejne rzeczy z backlogu.
Praktyczne zastosowania wykresu spalania
W tym momencie ktoś może powiedzieć, że przecież dobrze zgrane zespoły doskonale wiedzą te wszystkie rzeczy. Wiemy, że ktoś nam dorzuca pracę albo że pracujemy wolniej niż powinniśmy. Zgadzam się z tym stwierdzeniem – w doświadczonych zespołach wszystkie te rzeczy są oczywiste dla każdego.
Zespoły, które dopiero zostały stworzone bądź zaczynają swoją przygodę ze Scrumem mogą się gubić w mnogości różnych procesów i działań. Jeżeli jeszcze nie nabraliśmy scrumowej wprawy, to możemy nie wiedzieć czy nasze tempo jest dobre, złe, średnie czy jakiekolwiek inne. Możemy też nie zauważyć, że ktoś nam dorzuca pracę albo że pracujemy zbyt wolno, żeby być w stanie zrealizować cały plan Sprintu.
Burndown Chart jest też nieocenionym narzędziem dla Scrum Mastera, który może samodzielnie śledzić te wszystkie rzeczy i zwracać uwagę Deweloperom na niektóre aspekty ich codziennej pracy. Jeżeli ktokolwiek nabierze podejrzeń, że nie uda nam się wyrobić ze wszystkim, to czym prędzej powinniśmy zawołać Product Ownera. Wspólnie wybierzmy wtedy te rzeczy, na których powinniśmy się skupić. Zgodnie z hasłem „planuj mniej, żeby robić więcej” rozmieniając się na drobne możemy nie dowieść nic. A skupiając się na jednej-dwóch rzeczach, zrealizujemy je jak należy.
Pamiętajmy też, że Scrum Guide mówi, że masz zespół powinien być w stanie w dowolnym momencie Sprintu podsumować pracę, która pozostała nam do realizacji. Jeżeli mamy porozbijane wymagania na zadania, a te zadania wyszacowane w godzinach to wystarczy to wszystko zsumować i mamy odpowiedź na zadanie z podręcznika. Dobrze jest jednak mieć coś więcej, niż tylko samą suchą liczbę. Tu Burndown Chart jest idealnym rozwiązaniem, chociaż musimy podkreślić – nie jest w żaden sposób wymagany przez Scrum.
Burndown i Burnup
W literaturze i w Internecie znajdziecie też informacje o wykresie zwanym „Burnup Chart”. Jest to nic innego niż wykres obrazujący pracę, którą już udało nam się skończyć (zrealizować) w trakcie Sprintu. Burnup to dokładna odwrotność Burndown Chartu, czyli wykresu spalania, bo zamiast się „spalać”, on „przyrasta”. Stąd taka dziwna nazwa.
Burnup Chart to zobrazowanie ukończonej pracy. Tu zwracam uwagę na słowo klucz „ukończone”, czyli zgodne z Definition of Done. W ramach wykresu Burnup nie powinniśmy używać takich jednostek jak godziny czy dni, bo obrazują one tylko i wyłącznie poświęcony wysiłek, a nie zakończoną pracę. Właściwe będą więc Story Pointy albo liczba zakończonych wymagań. Takie jednostki będziemy odkładać na Burnup Charcie.
W dobrych narzędziach elektronicznych oba wykresy są często nałożone na siebie. Dzięki temu możemy z jednej strony zobaczyć czy spalamy pracę z odpowiednią prędkością, a z drugiej strony popatrzeć na to w jakim tempie kończymy poszczególne wymagania. Tu pewnie dla niektórych będzie szokiem fakt, że w Sprincie prace realizujemy przez cały czas jego trwania. To nie jest tak, a przynajmniej tak być nie powinno, że dopiero w jego ostatnich wóch dniach „kończymy wszystko” i nasz Burnup Chart skacze od 0 do 100%. To jest jednak temat na zupełnie inny tekst… bądź na nasze szkolenia i warsztaty, na które serdecznie zapraszamy.