Dziwi mnie, że nikt nie wspominał o technice estymacji PERT opisanej w The Clean Coder Roberta Martina . W tej metodzie szacujesz, jak długo potrwa to w 3 scenariuszach: optymistycznym ( O
), nominalnym ( N
) i pesymistycznym ( P
). Następnie oczekiwany czas trwania = (O+4N+P)/6
i otrzymasz standardowe odchylenie (P-O)/6
.
Wydaje się, że działa to całkiem dobrze i korzystałem z niego kilka razy, kiedy kierownictwo naprawdę dba o to, ile czasu prawdopodobnie zajmie.
Jak skomentowali inni, dokonałem również szacunków, analizując dane historyczne („Ile czasu zajęło zrobienie tego podobnego zadania?”).
Ale moją ulubioną metodą jest w ogóle nie dokonywanie szacunków czasowych, a jedynie szacowanie punktowe i uzyskiwanie prędkości nad iteracjami. Jeśli zespół jest dość konsekwentny w doborze i wykonywaniu pracy (historie użytkowników), oszczędzasz mnóstwo czasu, nawet nie pytając, ile czasu zajmie każda rzecz.
Szacunki godzinowe są piekielnie trudne do poprawienia i wymagają dużo pracy, aby rozbić rzeczy na wystarczająco małe kawałki, aby skutecznie zmierzyć. I nawet wtedy rzadko są poprawne, ponieważ istnieje zbyt wiele zmiennych, a my zapominamy brać pod uwagę takie rzeczy, jak choroba, wakacje, a nawet rozproszenie.
Jeśli muszę wykonać szacunkowe godziny, staram się je wykonywać tylko dla drobnych zadań w ramach iteracji. Wszystko mierzę w szacunkach półdniowych (4, 8, 12 godzin), chyba że wiem, że może być mniej. Ale rzadko oceniam coś w czasie krótszym niż 1 godzina.