Dokładność szacowania grupowego vs. indywidualnego
Czym jest szacowanie projektu?
Szacunek to przybliżone obliczenie czegoś. Na przykład, oszacowanie kosztów projektu to ogólna koncepcja modelu cenowego projektu. Pomaga ono przedstawić – miejmy nadzieję, bardziej realistyczną – wartość, gdy klienci lub inni interesariusze projektu proszą o ocenę kosztów i czasu wykonania projektu.
Szacowanie Agile vs. tradycyjne
Tradycyjnie przeznaczamy czas na szacowanie projektów programistycznych, podczas gdy w metodach agile preferuje się przypisywanie punktu historyjek (story point) do elementu backlogu jako miary względnego nakładu pracy. Pozwala to zespołowi porównać zrealizowane wcześniej zadania z obecnym elementem backlogu, który ma być oszacowany. Punkty historyjek nie wyrażają się w określonym czasie, lecz odzwierciedlają pracochłonność wymaganą do rozwiązania podobnych zadań na podstawie wcześniejszych doświadczeń.
Szacowanie agile charakteryzuje się trzema cechami:
- Kolektywne szacowanie zespołu
- Względny nakład pracy vs. szacowanie w czasie absolutnym
- Szacowanie prędkości zespołu
1. Szacowanie kolektywne
Podczas wdrażania Scrum zespół dzielił odpowiedzialność i wspólnie zobowiązywał się do wykonania pracy w każdym Sprincie, dlatego przy szacowaniu nakładu pracy dla zespołu agile stosowano podejście kolektywne. Kolektywne szacunki zazwyczaj wykorzystują Planning poker jako narzędzie – zespół dokonuje wspólnego oszacowania, grając w grę szacunkową. Planning poker jest uważany za jedną z najskuteczniejszych i najciekawszych technik szacowania nakładu pracy w Agile. Zestaw kart zawiera liczby podobne do ciągu Fibonacciego, w tym: 0, 0.5, 1, 2, 3, 5, 8, 20, 40, ?, ∞; każda talia kart ma 4 grupy takich liczb, dedykowane dla 4 osób.
Dokładność szacowania grupowego vs. indywidualnego
Według pewnego badania dotyczącego dokładności szacowania nakładu pracy – porównano oszacowania indywidualne i grupowe w eksperymencie na projekcie programistycznym. 20 specjalistów IT z tej samej firmy indywidualnie oszacowało nakład pracy niezbędny do realizacji tego samego projektu programistycznego. Uczestnicy mieli różne doświadczenia i role, a projekt programistyczny był wcześniej wdrożony. Następnie utworzono pięć grup. Każda grupa, dyskutując i łącząc wiedzę swoich członków, ustaliła jedną wspólną ocenę.
Wynik – Szacunki oparte na dyskusjach grupowych były dokładniejsze od szacunków indywidualnych.
Kroki przeprowadzania Planning Poker
- Każdy członek zespołu otrzymuje zestaw kart: 0, 0.5, 1, 2, 3, 5, 8, 13, 20, 40, ?, ∞, w sumie 12 kart.
- Właściciel produktu opisuje daną funkcjonalność zespołowi.
- Członkowie zespołu dyskutują nad funkcjonalnością i, jeśli to konieczne, zadają pytania właścicielowi produktu.
- Po zakończeniu dyskusji każdy z członków wybiera jedną kartę pokerową, która reprezentuje jego szacunek. Następnie wszystkie karty są ujawniane jednocześnie.
- Jeśli zespół ocenił inaczej szacunki, należy zapytać: Czy się zgadzamy? Czy mamy różnice? Czy coś zostało pominięte? Ci, którzy wybrali najwyższą lub najniższą wartość, powinni podzielić się swoimi argumentami z grupą, zanim każdy wybierze kolejną kartę.
- Po dyskusji można przeprowadzić kolejną rundę szacowania, a zespół powinien dojść do porozumienia.
- Następnie wróć do drugiego kroku i rozpocznij szacowanie kolejnego elementu.
2. Szacowanie względnego nakładu pracy vs. szacowanie w czasie absolutnym
Szacunek nie jest niczym więcej jak dobrze uzasadnionym przypuszczeniem. Wykorzystujemy całą dostępną wiedzę i doświadczenie, aby zgadnąć, ile czasu zajmie dana praca. Zamiast patrzeć na każdy nowy element pracy osobno, lepiej porównać go z wcześniej wykonanymi zadaniami. Dla ludzi łatwiej jest odnosić nowe zadanie do podobnych, już znanych, niż próbować oszacować rzeczywisty rozmiar zadania.
Na przykład, czy przypomina to naprawdę mały element? A może bardziej odpowiada temu standardowemu przedmiotowi? Czy może jest naprawdę ogromny, podobnie jak zadanie, które ukończyliśmy w zeszłym miesiącu? Szacowanie względne nie tylko skraca czas przeznaczony na estymację, ale również znacznie zwiększa dokładność szacunków.
Nasz mózg nie radzi sobie z dokonaniem szacunków absolutnych; zawsze porównujemy nowe zadanie do rzeczy, które już znamy.

3. Szacowanie prędkości – rejestracja i uśrednienie szybkości zespołu w każdym Sprincie
Prędkość zespołu, czyli velocity, to liczba punktów historyjek, które zespół Scrumowy faktycznie realizuje w Sprincie. Prędkość zespołu mówi, jak szybko zespół realizuje zadania. W przypadku nowo szacowanego projektu lub zespołu (bez odniesienia do wcześniejszych wyników prędkości) można wykonać 1–2 Sprinty w celu ustalenia początkowej prędkości. W trakcie realizacji Sprintu należy rejestrować prędkość każdego z nich, z myślą o przyszłych planach.

Szacujemy łączną liczbę punktów historyjek dla backlogu produktu, a następnie, znając średnią prędkość poszczególnych Sprintów, możemy obliczyć, ile Sprintów potrzeba na zakończenie projektu, co przedstawiono na poniższym rysunku.

- Jakie są 5 najlepszych technik szacowania w Scrum?
- Kto tworzy elementy backlogu produktu albo User Stories w Scrum?
- Czym jest szacowanie agile?
- Co Scrum mówi na temat szacunków
- Czym jest punkt historyjki w Agile? Jak oszacować User Story?
- Podział User Story – pionowe cięcie vs. poziome cięcie
- Jak priorytetyzować backlog produktu za pomocą metody MoSCoW
- Jak priorytetyzować backlog produktu za pomocą metody 100 punktów?
Ten post dostępny jest również w Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文