Mirosław Ochodek Szacowanie pracochłonności Wprowadzenie do zagadnienia
Plan szkolenia ▪ Wprowadzenie (9:00-10:30): Czym jest szacowanie? (MO) Systematyczne podejście do planowania (ŁO) Planowanie, a kalendarz (ŁO) Śledzenie postępu prac (ŁO) ▪ Szacowanie rozmiaru (10:45-12:35): Metoda punktów funkcyjnych (ŁO) Metoda delficka (MO) ▪ Szacowanie pracochłonności (12:45-14:15): UC Points (MO) COCOMO II (MO)
Estymacja / szacowanie ?
▪ Niepewna ocena albo przybliżona kalkulacja ▪ Wstępna kalkulacja kosztów projektu ▪ Ocena bazująca na przeczuciach opinii Źródło: The American Heritage Dictionary, Second College Edition, ?
Cele projektu ▪ Określenie pożądanych kierunków, celów w projekcie (objectives) „Potrzebujemy, aby wersja 2.0 była gotowa na spotkanie z klientem w Lutym...” „Ta funkcjonalność musi być gotowa do czerwca, żeby utrzymać zgodność z planami...” CEL JEST POZADANY ALE WCALE NIE ZNACZY ZE OSIAGALNY!
Zobowiązanie ▪ Jest obietnicą dostarczenia określonej funkcjonalności, o określonej jakości do wyznaczonej daty MOZE BYC TAKIE SAMO JAK ESTYMACJA, BARDZIEJ AGRESYWNE LUB BARDZIEJ LIBERALNE
Estymacja / szacowanie ▪ Niepewna ocena albo przybliżona kalkulacja ▪ Wstępna kalkulacja kosztów projektu ▪ Ocena bazująca na przeczuciach opinii Źródło: The American Heritage Dictionary, Second College Edition, √ PRZEWIDYWANIE ILE PROJEKT BEDZIE TRWAL ALBO KOSZTOWAL
Korzyści z estymacji ▪ Lepsze śledzenie statusu projektu ▪ Wyższa jakość Około 40% błędów w oprogramowaniu to wynik stresu ▪ Lepsza koordynacja (poza implementacją) ▪ Trafniejszy budżet ▪ Lepsza współpraca z zespołem wytwarzającym Ponoszą winę za zbyt optymistyczne zobowiązanie? ▪ Wczesna identyfikacja ryzyka
Plan a szacowanie ▪ Estymacja Nieobciążona Proces analityczny ▪ Plan Obciążony Zorientowany na cele ▪ Plan != Estymacja Estymacja może być podstawą dla planu! Plan może być zupełnie inny od oszacowania Należy mieć świadomość rozbieżności (ryzyko)
Komunikacja ▪ Należy dokładnie słuchać pytań Czy chodzi o estymację? Może o cele? A jeśli o zobowiązanie? ▪ Kierownik projektu a przełożony Mówienie wprost o estymacjach w odpowiedzi na pytania o cele -> niezbyt dobry pomysł Wyciągać wnioski z estymacji i w ich kontekście mówić o celach...
Wyniki estymacji ▪ Estymacja Jednopunktowa Czy w tym pkt. Prawdopodobieństwo 100%? Pytanie czy to cel czy estymacja?
Wyniki estymacji ▪ Estymacja Przedziałowa Oparta o rozkład prawdopodobieństwa Krzywa dzwonowa niesymetryczna Nie może się zakończyć przed pewnym czasem Może się nigdy nie zakończyć ;)
Błąd estymacji ▪ Magnitude of Relative Error (MRE) |(Rzeczywisty Czas - Oszacowanie)| MRE = Rzeczywisty Czas Estymowany czas = 230h Czas trwania = 200h |( | MRE = 200 = 15%
Trafność czy precyzyjność? ▪ Które oszacowanie jest lepsze? 365,432 roboczo dni Rok roboczy ▪ Może żadne ;)
Trafność czy precyzyjność? ▪ Trafność Jak blisko podana wartość jest prawdziwej? ▪ Precyzja Jak dokładna jest liczba? ▪ Liczba PI 3 jest trafne ale nie precyzyjne 3, nie jest bardziej trafne ale jest bardziej precyzyjne 3,14159 trafne i precyzyjne
Dobra estymacja ▪ Dobra estymacja Estymacja +-10% możliwa tylko w dobrze kontrolowanym środowisku – C. Jones Dostarcza oszacowań w obrębie 25% aktualnego czasu, przez 75% czasu – S.D. Conte Trafne Szacowanie = narzędzie + kontrola procesu
Estymacja a kontrola ▪ Tworząc estymacje staramy się kontrolować projekt, aby ją spotkać... usuwamy/dodajemy wymagania bardziej/mniej doświadczony zespół mniej/więcej ludzi ▪ Dobra estymacja jeśli (nieformalnie): Końcowy projekt jest podobnej wielkości (zmiany) Podobna zasoby W estymowanym czasie
Prawdziwy cel estymacji ?
▪ Pomaga ocenić czy cele projektu są wystarczająco realistyczne, aby pozwolić na kontrolę projektu w taki sposób by je osiągnąć ▪ Jeśli rozbieżność 20% Kierownik Projektu powinien dać radę odpowiednio kontrolując osiągnąć cele ▪ Estymacje muszą być przydatne... Po co komuś estymacja +-5% jeśli projekt zmienił się o 100%? ▪ Pytanie: czy twoje ubrania zmieszczą się do małej walizki, czy będziesz zmuszony wziąć większą?
Jak dobrze estymujesz? ?
Stożek niepewności ▪ Trafność szacowania różna na różnych etapach ▪ Nawet jeśli poświęcimy więcej czasu nie uzyskamy lepszych rezultatów ▪ Stożek sam się nie zawęża !...
Więcej czy mniej? ▪ Przeszacowanie Prawo Parkinsona Syndrom Studenta ▪ Niedoszacowanie Zmniejsza efektywność planu Statystycznie zmniejsza szanse ukończenia na czas — (Programiści i tak w 20-30% niedoszacowują) Słabsze przygotowanie techniczne prowadzi do gorszych rezultatów Destruktywna dynamika spóźnionego projektu — 4x więcej błędów…
Jak prezentować wyniki estymacji? ▪ Spisać założenia przy których szacujemy! Które funkcje są wymagane Które funkcje nie są wymagane Jak mają być dopracowane konkretne funkcje Dostępność kluczowych zasobów Zależność od „innych stron” Największe niewiadome Największe wpływy na estymację (i jej wrażliwość) Jak dobra jest estymacja? Do czego może zostać użyta?
▪ Wyrazić niepewność Plus-Minus (+-2 tygodnie) Ryzyka (Plus-Minus jeśli się zmaterializują) — +2 tygodnie jeśli dostawca się spóźni Współczynniki Pewności — Luty – 30% (na zakończenie) — Kwiecień – 60% Estymacja bazująca na przypadkach (najlepszy, najbardziej prawdopodobny, najgorszy itd.) Jednostka czasu w zależności od dokładności estymacji Jak prezentować wyniki estymacji?
▪ Estymacje przedziałowe Jak szeroki ma być przedział (np. 68% prawdopodobieństwa) Czy twoja organizacja jest w stanie poradzić sobie z estymacjami przedziałowymi (np. budżetowanie) Czy możesz funkcjonować z uśrednieniem przedziału (częsta praktyka ) Czy przedstawiać zakres związany ze wcześniejszym zakończeniem? Nie wyrażaj zobowiązań jako przedziałów. Jak prezentować wyniki estymacji?
Software Estimation Steve McConnell Software Estimation Demystyfying the Black Art
Szacowanie Dziękuje za uwagę