Maciek dostał ambitne zadanie. Miał pomalować cały dom swojej babci. Zadanie utrudniało to, że był to jego pierwszy kontakt z pędzlem i farbą. Do tego miał podać spodziewany termin zakończenia. Cała masa wyzwań! Z pomocą przyszły mu estymacje relatywne. Dzięki nim Maciek od razu wiedział, kiedy mniej-więcej skończy prace. Na bieżąco też porównywał rzeczywiste tempo prac z założonym planem i reagował, gdy tylko coś szło niezgodnie z planem.
Jak to zrobił?
Estymacje relatywne, czyli jakie?
W tradycyjnym podejściu Maciek oszacowałby czasochłonność każdej czynności. Na przykład:
- pomalowanie kuchni = 2 dni,
- pomalowanie sypialni = 1 dzień itd.
Następnie zsumowałby wartości i wiedziałby, ile potrzebuje czasu.
Problem w tym, że nie miał pojęcia, ile trwa malowanie kuchni czy pokoju. Nawet gdyby zapytał kogoś o radę, to czas podany przez doświadczonego malarza będzie inny, niż dla początkującego.
Maciek zaczął więc od czegoś, co jest niezależne od jego umiejętności. Zmierzył powierzchnię ścian we wszystkich pokojach. Dzięki temu wiedział, że sypialnia ma 2 razy większą powierzchnię do pomalowania niż kuchnia. A salon ma 2,5 tyle, co sypialnia itd. Dzięki temu określił zależności (relacje), które mogłyby wyglądać np. tak:
- kuchnia: 20 m2 (1 Pkt)
- sypialnia 40 m2 (2 Pkt)
- salon: 100 m2 (5 Pkt)
- itd.
Zakładając, że powierzchnia kuchni jest najmniejsza w całym domu (1 Pkt), każdą kolejną można przedstawić jako relację względem kuchni. Dzięki temu obliczenia są dużo prostsze. A jeżeli któreś z pomieszczeń miałoby np. 95 m2, to taką wartość też można zaokrąglić do liczby całkowitej, czyli 5 Pkt. W praktyce te kilka metrów niewiele zmienia, a łatwiej jest wykonać obliczenia.
Maciek zsumował więc tak uzyskane wyceny punktowe. Powiedzmy, że wyszło mu 30 Pkt.
Kolejnym pytaniem jest więc, jak przeliczyć te punkty na czas trwania?
Jak to się ma do godzin?
Jak już wiesz, nie istnieje jeden stały przelicznik punktów na czas. Na początku prac może to być na przykład 1 Pkt = 8 godzin. Po zdobyciu pierwszych doświadczeń czas spadnie do np. 1 Pkt = 5 godzin. itd.
Jak więc wyliczyć spodziewaną czasochłonność?
Do tego potrzebne będzie określenie prędkości (Velocity), czyli liczby zrealizowanych Punktów (Story Point) przez zespół (tu tylko Maciek) w danej jednostce. Na przykład na tydzień. Przy założeniu stałego zaangażowania w prace.
Jest to typowa miara stosowana w estymacjach relatywnych.
Maciek pomalował więc pierwsze pomieszczenia. Powiedzmy, że przez pierwszy tydzień pomalował pokoje warte 5 Pkt. Z tego wynika, że jego prędkość to 5 Pkt / tydzień. Co za tym idzie, cały dom, czyli 30 Pkt pomaluje w 6 tygodni. Prawdopodobnie!
Jest to bowiem pierwsza, przybliżona estymacja uzyskana w sposób doświadczalny, nie teoretyczny.
Jak zarządzać estymacjami relatywnymi?
Po każdym tygodniu Maciek sprawdzał prędkość i wyliczał czas potrzebny do zakończenia malowania całego domu. Po pierwszym tygodniu prognozy wynosiły 6 tygodni (w sumie). Powiedzmy, że w drugim tygodniu pracował już sprawniej i pomalował pokoje warte 7 Pkt.
Zostało mu więc tylko 18 Pkt (30 – 5 – 7). Przy średniej prędkości = 6 ((5+7)/2) dało to dodatkowe 3 tygodnie.
Całkowity spodziewany czas skrócił się więc z 6 do 5 tygodni.
Po jakimś czasie prędkość malowania ustabilizowała się na stałej wartości. Maciek był w stanie dość precyzyjnie przewidzieć na kiedy skończy malowanie całego domu.
Pułapki szacowania relatywnego
Maciek musiał pamiętać o dwóch ważnych zasadach w stosowaniu estymacji relatywnych:
- Jeżeli wracał do pomalowanego pomieszczenia, żeby coś poprawić, to nie doliczał dodatkowych punktów. Czyli jeżeli musiał spędzić cały tydzień na poprawkach w pomalowanych już pokojach (zamkniętych zadaniach), to wartość zrealizowanych punktów w takim tygodniu = 0. Nic nowego nie zostało dostarczone. Taka też wartość trafia do wyliczania średniej prędkości.
- Jeżeli po tym zleceniu dostałby kolejne, to wartość prędkości z poprzedniego zlecenia będzie jedynie sugestią. Łatwo wyobrazić sobie scenariusz, gdy jeden dom ma idealnie proste ściany, które maluje się łatwo i szybko. Inny dom będzie miał dużo skosów, łuków i wybrzuszeń, co wydłuży czas malowania. Przelicznik Punktów na godziny pracy będzie zupełnie inny.
Do czego stosować estymacje relatywne?
Zauważ, że Maciek nie analizował precyzyjnie każdego z pomieszczeń. Być może w którymś z nich jest coś, co znacznie wydłuży czas malowania. W innym mogą być proste i czyste ściany, gotowe do nałożenia farby, co przyspieszy prace. Estymacje relatywne działają więc dobrze w dłuższym dystansie. Do średniego oszacowania całości prac. Jest to przybliżenie, obarczone na pewno jakimś błędem.
Estymacje relatywne nie zadziałają, gdy potrzebne jest podanie dokładnego spodziewanego czasu trwania. Takie podejście nie sprawdziłoby się, gdyby Maciek musiał podać precyzyjną wycenę, z niewielkim marginesem błędu. Wtedy jednak czas na analizę byłby dużo dłuższy niż w przypadku stosowania estymacji relatywnych.
Coś za coś!
Co słychać u Maćka?
Być może ten opis brzmi nieco skomplikowanie.
Na szczęście jeden obraz może być więcej wart niż tysiąc słów.
W darmowej części kursu o Planowaniu i Estymacjach w projektach zwinnych możesz obejrzeć całą historię Maćka. Z przykładami obliczeń.
Kliknij link poniżej i wybierz „Podgląd tego kursu” ↘️
Jak wprowadzić estymacje relatywne w projekcie?
Przeniosę teraz historię Maćka na grunt projektów informatycznych (i każdych innych).
Jak wdrożyć estymacje relatywne w projekcie?
1. Określ relacje pomiędzy zadaniami. Czyli np. zadania typu X to 1 Punkt (Story Point), zadania typu Y to 2 Story Pointy itd. Ważne, żeby te szacunki były spójne, czyli żeby każde zadanie typu X dostało taką samą wycenę w punktach. Może w tym pomóc Plannig Poker, a także stosowanie słowników wycen (więcej o tym w kursie).
2. Zacznij pracować. Realizuj zaplanowane zadania, notując wartości wycen każdego z zadań.
3. Sprawdzaj prędkość. Po każdym tygodniu (czy dwóch) sprawdzaj wartość zrealizowanych punktów.
4. Aktualizuj obliczenia. Wyliczaj średnią i na tej podstawie określaj szacunkowy czas zakończenia całej grupy zadań. Pamiętaj, że jest to statystyczne oszacowanie i rzeczywistość może odbiegać od tak obliczonych wartości.
Wady estymacji relatywnych
Takie obliczenia nie są pozbawione wad.
Przede wszystkim, wyliczanie prędkości wymaga stałego zespołu pracującego na full time w projekcie. Jeżeli zespół się często zmienia i ludzie przeskakują pomiędzy projektami, to ciężko będzie określić stabilną wartość prędkości.
Wartości średnie są…no właśnie, średnie. Nie pokażą chwilowych problemów. Albo pokażą je zbyt późno.
Takich estymacji nie warto też używać do oszacowania tego, co zespół będzie w stanie dostarczyć w kolejnym tygodniu czy dwóch. To, że zespół realizuje średnio 25 Pkt nie oznacza, że w kolejnym tygodniu też tyle dostarczy. Jeżeli będzie to akurat okres urlopowy, to prędkość znacząco spadnie względem średniej. Wyceny krótkoterminowe warto więc opierać na tradycyjnym oszacowaniu godzinowym.
Na pytanie, czy lepiej stosować estymacje relatywne, czy godzinowe odpowiadam na poniższym nagraniu ↘️