Główne składowe sukcesu trafnego szacowania zadań
Szacowanie, jak sama nazwa wskazuje, to nie dokładna wycena, lecz przybliżony czas realizacji zadania. Nie jest to prognoza ze 100% pewnością, a raczej najlepsza możliwa estymacja na podstawie dostępnych informacji.
Szacowanie zadań jest trudne. Wpływa na nie wiele czynników: zakres prac, nieoczekiwane trudności, zależności między zadaniami czy zmiany priorytetów. Rozłóżmy temat na czynniki pierwsze i zobaczmy, co da się z tym zrobić.
1. Przygotowanie do szacowania
Aby określić termin realizacji projektu lub zadania trzeba podzielić go na mniejsze części, możliwe do omówienia i umiejscowienia w czasie. Jak do tego się przygotować w kilku punktach:
- Zakres zadań - musimy wiedzieć, co dokładnie jest do zrobienia i jaki cel mamy osiągnąć.
- Brzegowe przypadki użycia - konieczna znajomość jest mało prawdopodobnych, ale możliwych scenariuszy, na które trzeba zabezpieczyć aplikację (zazwyczaj to najbardziej czasochłonne do realizacji części zadania).
- Definition of Ready (DoR) i Definition of Done (DoD) - warto je określić, bo dzięki temu wszyscy wiedzą, kiedy zadanie jest gotowe do rozpoczęcia i kiedy można uznać je za ukończone.
- Kryteria akceptacji - są bardzo istotne, bo dzięki nim zespół zna cel swojej pracy.
Bardzo ważne jest zwłaszcza na początku współpracy zespołu, by opis szacowanego zadania był precyzyjny i łatwy do zrozumienia. Z czasem ta współpraca staje się łatwiejsza, bo wszyscy uczestnicy szacowania stają się ekspetami w domenie biznesowej.
2. Zadanie szacuje cały zespół
Pisząc "cały zespół" mam na myśli nie tylko programistów, czy testerów, ale także szeroko rozumiany biznes, osoby koordynujące projekty czy specjalistów zaangażowanych w konkretny etap. Szacowanie to proces zespołowy, ponieważ:
- Cały zespół odpowiada za dowiezienie celu – w tym przypadku to odpowiedzialność grupowa.
- Wiedza o zadaniach w zespole jest rozproszona – jedna osoba może mieć mniej doświadczenia niż inna.
- Szacowanie to proces edukacyjny – pozwala lepiej poznać domenę biznesową i techniczną.
- Integruje zespół oraz pomaga dowiedzieć się, kto jest ekspertem w danej dziedzinie i kogo pytać o pomoc.
- Buduje poczucie odpowiedzialności – jeśli zespół sam coś oszacował, czuje się za to odpowiedzialny.
3. Jednostki szacowania
Celem szacowania nie jest podanie dokładnej liczby godzin, lecz określenie przybliżonego horyzontu czasowego. Planowanie dotyczy iteracji (np. sprintów), więc nie ma większego znaczenia, czy używasz godzin, punktów czy koszulek rozmiarowych – liczy się jedynie fakt czy na koniec zespół dotrzymał słowa i zrealizuje zadania w zadeklarowany czasie.
Szacowanie można zrobić w:
- Roboczo-godzinach – najprostsze, ale może prowadzić do zbyt szczegółowego planowania.
- Story pointach (punkty, marchewki, zapałki itp.) – pozwalają na określenie względnej trudności zadań, ale nie powodują przywiązania się do konkretnej jednostki czasowej.
- Koszulkach (XS, S, M, L, XL) – szybkie i intuicyjne podejście, ale sprawdzające się raczej przy dużych zadaniach.
Wybór jednostki, w której szacowane są zadania wynika bardzo często z kultury organizacyjnej, dojrzałości firmy i frameworka w jakim pracuje.
4. Proces szacowania
Jednym z najlepszych znanych mi sposobów szacowania zadań jest planning poker, którego przebieg w dużym skrócie wygląda następująco:
- Każdy członek zespołu przedstawia swoją ocenę.
- Jeśli oceny się różnią, zespół dyskutuje o przyczynach rozbieżności.
- Proces powtarza się, aż osiągnięty zostanie konsensus.
- Ważne: w szacowaniu bierze udział cały zespół, niezależnie od tego, kto finalnie wykona zadanie.
Spotkałem się z różnymi podejściami do szacowania, na różnych poziomach planowania prac w IT: czasem robią to eksperci, czasem liderzy zespołów, innym razem managerowie i analitycy. Jednak najbardziej skuteczną i rozwijającą metodą długofalowo jest opisany powyżej planning poker.
5. Iteracje są ważniejsze niż pojedyncze zadania
Szacowanie jest obarczone błędem, kluczowe jest planowanie całych iteracji:
- Zespół zobowiązuje się do realizacji zadań na iterację – decyzja powinna należeć do zespołu, a nie do osób naciskających z zewnątrz.
- Zespół powinien mieć przestrzeń do nauki i samodoskonalenia.
- Rozliczanie zespołu powinno dotyczyć sprintu jako całości, a nie pojedynczych zadań.
Biznes i interesariusze muszą zrozumieć, że proces precyzyjnego szacowania jest bardzo kosztowny i skomplikowany. Ma na niego wpływ bardzo wiele czynników zewnętrznych, a jedna drobna zmiana w zakresie zadania może zmienić jego wycenę kilkukrotnie. Dlatego jednym najlepszych sposobów realizacji zadań jest iteracyjne podejście, które przynosi efekty biznesowe po każdym cyklu wytworzeniowym.
6. Zespół nie dotrzymał terminu realizacji
Najczęściej popełniane błędy:
- Zespół nie zrozumiał zakresu wymagań i źle je oszacował.
- Zakres wymagań był niepełny lub zmienił się podczas pracy.
- Szacowanie odbywało się w gronie mało doświadczonych osób.
- Zespół zapomniał o czasie na zadania dodatkowe niezbędne do realizacji celu (np. testowanie).
- Presja czasu podczas szacowania nie pozwoliła dobrze zrozumieć treści zadania.
- Zespół nie miał kompetencji do realizacji zadania.
- Zespół był zbyt ambitny i optymistyczny, więc wział na siebie za dużo!
Do tej listy błędów na pewno jeszcze można dopisać dużo, wszystkie niestety w konsekwencji kończą się tym samym: przekroczeniem terminu, nerwami interesariuszy i poczuciem porażki członków zespołu - wniosek jest jeden, nikt nie jest zadowolony.
7. Skuteczne szacowanie
Faktem jest, że prędzej czy później się pomylisz. Aby podnieść skuteczność szacowania, warto przygotować:
- Wymagania zrozumiałe przez zespół - to nie osoba tworząca zakres ma go rozumieć, najtrudniejsze jest przekazanie go zespołowi.
- Zadania optymalnej wielkości - zasada jest prosta: mniejsze zadanie, to mniejszy zakres do oszacowania, to mniejsze prawdopodobieństwo popełnienia błędu.
- Bufor czasowy - "nie wiesz, czego nie wiesz" – lepiej zostawić przestrzeń i dobrać zadania, niż nie wyrobić się i ponieść porażkę.
- Szacuj z zapasem zawsze wtedy, gdy zakres nie jest precyzyjny.
- Uwzględnij czynniki zewnętrzne – wdrożenia w innych projektach, potencjalne awarie, urlopy, sezon chorobowy – wszystko to może wpłynąć na wydajność zespołu.
- Zadbaj o kompetencje zespołu, tak aby potrafił on zrealizować postawione przed nim zadanie - to wcale nie jest takie oczywiste!
Podsumowanie
Szacowanie to nie wycena – różnica polega na tym, że szacunek to przybliżona estymacja, a wycena zakłada pełną precyzję.
Daj zespołowi pracować! Kluczowe jest dostarczenie zadeklarowanych zadań, a nie dokładność pojedynczych oszacowań. Nie ważne, jak szacujesz, ważne, czy dowozisz to, co obiecałeś. Jeśli nie – czas na korektę.
Nauka szacowania to proces, który wymaga czasu. Zespół potrzebuje co najmniej kilku iteracji, by się poznać, i jeszcze kilku, by dojść do precyzji. Dlatego zadbaj oto, aby ten czas przebiegł profesjonalnie, w dobrej atmosferze i dbając o profesjonaliz.
Powyższy artykuł dotyka tylko wierzchołka góry lodowej, jakim jest planowanie, szacowanie i realizacji projektów. Wiele aspektów w tym procesie jest indywidualnych i wynika ze specyficznych problemów danego otoczenia.
Szukasz pomocy lub szkolenia w temacie szacowania zadań i projektów?
Zapraszam do współpracy, więcej w zakładce oferta i kontakt!
Opublikowane 17.03.2025