Lepsze planowanie i szacowanie

Tomasz Głuszak

Zaktualizowaliśmy ten tekst dla Ciebie!
Data aktualizacji: 31.12.2024
Autor aktualizacji: Krzysztof Mietliński

Odkąd istnieje pojęcie projektu osoby za niego odpowiedzialne borykają się z opóźnieniach w jego realizacji. W J-Labs zidentyfikowaliśmy najczęstsze błędy i przyczyny tego stanu rzeczy. Zaczynając od błędnych decyzji związanych z szacowaniem czasu i wymaganego wysiłku. Zarówno w planowaniu długoterminowym (funkcjonalności produktu), jak i krótkoterminowym (user stories, zadania), deweloperzy mają tendencję do niedoszacowywania pracy.

Główne przyczyny to:

• nieuwzględnienie wszystkich czynników,

• brak wiedzy,

• nadmierny optymizm,

• nie zidentyfikowanie wszystkich ryzyk

Możemy wpływ tych czynników zminimalizować stosując pewne techniki.

Z lotu ptaka (Big picture)

Przed przystąpieniem do szacowania uwzględnij wszystkie czynniki i spójrz na projekt całościowo. Jako deweloper nie skupiaj się wyłącznie na kodowaniu. Weź pod uwagę wszystkie etapy rozwoju: analizę, kodowanie, przegląd kodu, testy manualne, testy automatyczne, budowanie, wdrożenie. Zadawaj sobie pytania:
– Czy wymagania biznesowe są jasne i dobrze przygotowane?
– Czy istnieją potencjalne trudności w kodowaniu?
– Czy testowanie będzie proste?
– Co może pójść nie tak podczas testów?
– Czy istnieją testy automatyczne, które mogą zawieść? 

– Jakie jest prawdopodobieństwo niepowodzenia budowania?

Uwzględnienie tych aspektów pozwoli lepiej zrozumieć cały proces.

Wiem, że nic nie wiem

Im więcej wiesz o funkcjonalności, którą masz oszacować, tym lepiej. Jednak rzadko mamy możliwość posiadać pełną wiedzę już na początku. Rozpoznanie tego, czego nie wiesz, jest dużym plusem; czasem wystarczy wiedzieć, gdzie szukać informacji, np. kogo zapytać o dany moduł projektu lub gdzie nauczyć się nowej technologii. Najbardziej niebezpieczne są “niewiadome” – kwestie, które ujawnią się w trakcie realizacji zadania i spowalniają pracę. Aby temu zapobiec, poświęć czas na zdobycie niezbędnej wiedzy przed estymacją. Im więcej niewiadomych odkryjesz, tym lepiej. Przeanalizuj kod, zastanów się, co technicznie trzeba zrobić, upewnij się, że obecna architektura umożliwia łatwe kodowanie. Skonsultuj się z bardziej doświadczonymi deweloperami, aby upewnić się, że nie pominąłeś kluczowych aspektów. Pamiętaj o wydajności i bezpieczeństwie. Zidentyfikuj umiejętności i technologie, których musisz się nauczyć, oraz oszacuj, ile czasu to zajmie. Czas poświęcony na przygotowanie do estymacji jest jak ostrzenie piły – dobrze wykorzystany. Jeśli po przygotowaniach nadal masz wrażenie, że istnieją “niewiadome”, zwiększ szacunki.

Spojrzenie z zewnątrz

Nadmierny optymizm jest powszechnym problemem nie tylko w szacowaniu w branży IT, ale w każdej dziedzinie wymagającej planowania. Badania psychologiczne pokazują, że ludzie mają tendencję do przyjmowania maksymalnie optymistycznych scenariuszy zamiast realistycznych, zwłaszcza jeśli chodzi o czas potrzebny na wykonanie zadania. 

Aby temu zapobiec, warto skorzystać ze statystyk. 

Czasem najlepszym rozwiązaniem jest spojrzenie wstecz i analiza, jak podobne zadania były planowane i realizowane w przeszłości. Niezależnie od używanego narzędzia do śledzenia pracy, spróbuj znaleźć porównywalne zadania i wyciągnij z nich wnioski. Ile story pointów zespół planował na iterację, a ile dostarczył? Jakie są statystyki opóźnień? Jakie rodzaje zadań są najczęściej niedoszacowane? Im więcej danych zbierzesz, tym lepsze będą przyszłe szacunki. Może okaże się, że 25% zadań było niedoszacowanych o 50% – to dobry powód, by następnym razem zwiększyć szacunki. Kategoryzacja zadań również pomoże w dokładniejszym szacowaniu.

Zarządzaj ryzykiem

Dobrą praktyką przed przystąpieniem do szacowania zadań jest rozpoznanie i kategoryzacja wszystkich możliwych ryzyk.

Aby zidentyfikować ryzyka, należy zastanowić się, co może pójść nie tak na każdym możliwym poziomie: technicznym, projektowym, procesowym i organizacyjnym.

Każde zidentyfikowane ryzyko powinno zostać skategoryzowane według prawdopodobieństwa wystąpienia oraz poziomu wpływu. Do tego można użyć określeń takich jak “niskie”, “średnie”, “wysokie” lub bardziej szczegółowych wartości procentowych (0-100), jeśli wymagana jest dokładniejsza analiza. Aby zobrazować sytuację, ryzyka można zaznaczyć na wykresie, jak pokazano poniżej:

Wykres zarządzania ryzykiem z zaznaczonymi trzema ryzykami

Ryzyka oznaczone w zielonym obszarze są mniej poważne niż te bliżej sektora czerwonego. Im więcej ryzyk znajduje się w obszarze czerwonym, tym wyższy powinien być szacunek dotyczący czasu realizacji.

Ryzykiem może być każdy czynnik, który wprowadza niepewność co do wykonania funkcji w określonym czasie. Ryzyka mogą występować na każdym etapie procesu i dotyczyć każdego aspektu przyszłej pracy, na przykład:

• brak (dowolnego rodzaju) zasobu

• zmiany w wymaganiach biznesowych

• niekompatybilne oprogramowanie firm trzecich

Podsumowanie

Planowanie i szacowanie to często niedoceniane umiejętności, które – jak każde inne zadanie – wymagają pewnego doświadczenia. Na szczęście istnieją praktyczne techniki, które ułatwiają opanowanie tych umiejętności.

Poznaj mageek of j‑labs i daj się zadziwić, jak może wyglądać praca z j‑People!

Skontaktuj się z nami