Rozbiłam projekt na najmniejsze możliwe zadania. Następnie przeglądam listę trzy razy.
Po raz pierwszy przejdę na listę szukam rzeczy, z którymi mam duże doświadczenie. Są to rzeczy, w których na podstawie moich wcześniejszych doświadczeń mogę dokładnie oszacować czas, jaki zajmuje.
Potem przeglądam listę w poszukiwaniu rzeczy, których nie jestem pewien i obawiam się, że potrwają długo. Poświęcam trochę czasu na zbadanie każdego z nich i podzielenie ich na jeszcze mniejsze zadania. To pozwala mi lepiej zrozumieć, co dokładnie jest w to zaangażowane, i ułatwi to podejście później.
Ostatni raz przeglądam listę, zakładam, że każde zadanie zajmie jednego programisty, jeden dzień pracy do wykonania. Czasami ktoś może zrobić całą masę w ciągu jednego dnia. To wspaniale. Ale czasami w jednym zadaniu kryje się cała gama ukrytych złych przeczuć, których nikt się nie spodziewał, i zajmie to kogoś w ciągu tygodnia. W końcu wyrównuje.
To nie daje bardzo dokładnych szacunków. Naprawdę nie można dokładnie oszacować. Nigdy nie możesz wiarygodnie przewidzieć, w którym dniu skończysz coś. Jednak da ci to bardzo dobry konserwatywny i dokładny szacunek. Dokładność i precyzja to dwie różne rzeczy.
Dziękuję za osoby, które pomogły mi w tym pytaniu i nie wahaj się jeszcze dodać swojego doświadczenia. –