Szacowanie w metodologii agile: kompletny przewodnik
Praktyczny przewodnik po agile szacowaniu: historie użytkowników, planning poker, punkty historii, prędkość oraz techniki, które sprawdzają się, gdy historia okazuje się większa, niż się wydawało.
Planning Poker to oparta na konsensusie technika szacowania w metodologii agile: zespoły głosują anonimowo, następnie ujawniają wszystkie karty jednocześnie i omawiają rozkład wyników, aż szacunki się zbieżą.
Jak przeprowadzić sesję planowania pokerowego, która pozwoli uzyskać przydatne szacunki bez zbędnego przedłużania: przygotowanie, runda składająca się z czterech faz, wybór talii oraz bezkompromisowe ograniczenie czasowe.
Punkty fabularne służą do pomiaru względnego nakładu pracy, złożoności i niepewności związanej z zadaniem — a nie liczby godzin. Jak oszacować nakład pracy na podstawie historii referencyjnej oraz jakie pytania sprawiają zespołom trudności.
Liczba punktów fabularnych rośnie: 1, 2, 3, 5, 8, 13, ponieważ powiększające się odstępy odzwierciedlają niepewność — skala przestaje udawać, że można odróżnić 13 od 14. Oto dlaczego właśnie te odstępy mają znaczenie.
Punkty fabularne służą do pomiaru względnego nakładu pracy, a godziny – do pomiaru czasu trwania — są to różne osie. Jeśli stworzą Państwo tabelę przeliczeniową z punktów na godziny, niepostrzeżenie powrócą Państwo do szacowania czasu.
Wskaźnik prędkości to średnia liczba punktów fabularnych realizowanych przez zespół w każdym sprincie. Do czego służy, dlaczego przestaje działać w momencie, gdy staje się celem, oraz jak zapewnić jego rzetelność.
Ludziom trudno jest oszacować, „ile to zajmie”, ale dobrze radzą sobie z pytaniem „czy to jest większe od tamtego”. Szacowanie względne opiera się na tym drugim podejściu — i właśnie dlatego punkty fabularne się sprawdzają.
Wstępne szacunki charakteryzują się dużym rozrzutem, ponieważ zakres prac jest nieznany, a nie dlatego, że Państwa zespół nie potrafi dokonywać szacunków. Co oznacza „stożek niepewności” i jak go zawęzić — a nie powiększać.
Epiki, historie i zadania to trzy poziomy, z których każdy obejmuje trzy rodzaje zadań. Czym się one charakteryzują, które z nich przynoszą punkty fabularne oraz dlaczego przypisanie punktów do niewłaściwego poziomu sprawia, że wskaźnik prędkości traci znaczenie.
Porównanie technik szacowania w metodologii agile — planning poker, szacowanie za pomocą rozmiarów koszulek, metoda „buckets”, głosowanie punktowe, szacowanie na podstawie podobieństwa oraz szacowanie „magiczne”, a także potencjalne pułapki związane z każdą z nich.
Typowe błędy popełniane podczas sesji planowania metodą pokera — uśrednianie kart, szacowanie w godzinach, nadużywanie wskaźnika prędkości, zawyżanie liczby punktów fabularnych — oraz sposoby ich naprawienia.
Kryteria akceptacji to test określający, czy dana historia została zaliczona, czy odrzucona, sporządzany przed rozpoczęciem prac — obejmują one formaty, które się sprawdzają, przykładowe rozwiązania oraz różnice w stosunku do definicji zakończenia.
Definicja zakończenia to lista kontrolna obowiązująca w całym zespole, którą każda historia musi spełnić przed wydaniem. Przykładowa definicja zakończenia, kto jest za nią odpowiedzialny oraz czym różni się ona od kryteriów akceptacji.
Definicja gotowości to lista kontrolna wskazująca, że dana historia może zostać zrealizowana w ramach sprintu. Co powinna obejmować przydatna lista, dlaczego większość z nich jest ignorowana oraz jaka wersja faktycznie stanowi przeszkodę.
Historia, której nie da się oszacować, to zazwyczaj taka, której nie można jeszcze opublikować. Jak rozpoznać, kiedy należy ją podzielić, oraz jakie linie podziału pozwalają uzyskać fragmenty gotowe do publikacji, a które tylko sprawiają takie wrażenie.
SPIDR to pięć sprawdzonych sposobów podziału opisu użytkownika — spike, ścieżka, interfejs, dane, reguły. Każda z tych linii podziału — kiedy się sprawdza i kiedy prowadzi do powstania fałszywego podziału.
Podział pionowy zapewnia wartość; podział poziomy zapewnia obietnice. Dlaczego podział według warstwy technologicznej opóźnia uzyskanie wartości oraz jak dokonywać podziału według rezultatów dla użytkownika, aby w każdym sprincie dostarczać konkretne wyniki.
Opis użytkownika to krótka, sformułowana prostym językiem obietnica wartości. Format „rola–cel–korzyść”, trzy „C”, lista kontrolna INVEST oraz sytuacje, w których opisy użytkownika nie są odpowiednim narzędziem.
Szesnaście przykładów historii użytkownika z obszarów uwierzytelniania, handlu elektronicznego, aplikacji mobilnych, interfejsów API oraz błędów — każda z nich opatrzona jest komentarzami, a obok niepoprawnych wersji przedstawiono ich poprawione wersje, dzięki czemu różnice są wyraźnie widoczne.
Klasyczny szablon opisu użytkownika z kartą typu „kopiuj-wklej”, warte poznania warianty oraz jeden praktyczny przykład przedstawiający proces od szablonu, przez kryteria akceptacji, aż po oszacowanie.