Stożek niepewności w agile estimation
Wstępne szacunki są rozbieżne, ponieważ zakres prac jest nieznany, a nie dlatego, że Państwa zespół nie potrafi dokonywać szacunków. Co oznacza „stożek niepewności” i jak go zawęzić, a nie zwiększać.
Najwcześniejsze oszacowanie jest najgorsze, a wynika to z charakteru samego zadania, a nie z niedoskonałości zespołu. Stożek niepewności stanowi powód, dla którego należy zaprzestać domagania się podania jednej konkretnej liczby w odniesieniu do zadania, którego nikt jeszcze nie rozpoczął.
„Stożek” to prosta obserwacja o daleko idących konsekwencjach: na początku realizacji zadania rozbieżność między Państwa szacunkami a rzeczywistością jest ogromna, a wraz z zdobywaniem wiedzy stopniowo się zmniejsza. Barry Boehm dostrzegł ten wzorzec w danych dotyczących kosztów oprogramowania; Steve McConnell nadał mu nazwę. Przedstawiony na wykresie w funkcji czasu wygląda on jak stożek: szeroki po lewej stronie, gdzie wiedza jest najmniejsza, zwężający się ku punktowi po prawej stronie, gdzie praca jest już prawie ukończona i nie ma już miejsca na żadne błędy.
Dlaczego ma to znaczenie dla szacowania
Większość trudności związanych z szacowaniem wynika z oczekiwania punktowego oszacowania w najszerszym miejscu stożka. Ktoś pyta: „Ile czasu zajmie wdrożenie nowego systemu rozliczeniowego?”, zanim napisano by choćby jedną linię kodu, otrzymuje odpowiedź „około trzech miesięcy” i traktuje ją jako wiążące zobowiązanie. Stożek wskazuje, że liczba ta w rzeczywistości mieści się gdzieś między sześcioma tygodniami a dziewięcioma miesiącami, a udawanie, że jest inaczej, jedynie przenosi rozczarowanie na późniejszy termin.
Właśnie z tego powodu metodyka agile szacuje względną wielkość zadania zamiast ustalać konkretne terminy. Punkty fabularne i planning poker nie próbują walczyć z „stożkiem”; akceptują go. Szybka ocena względna („to jest większe niż to, co dostarczyliśmy w ostatnim sprincie”) stanowi uczciwy poziom precyzji dostępny na wczesnym etapie, a prędkość przekształca ją w prognozę z przedziałem, a nie w fałszywą obietnicę.
Jak zwęzić stożek
Stożek zwęża się w miarę eliminowania niewiadomych, a nie w miarę dodawania bufora. W kolejności według siły oddziaływania:
- Spike to najbardziej ryzykowna niewiadoma. Ograniczony czasowo spike pozwala uzyskać informacje, które są jedyną rzeczą, która faktycznie zawęża zakres.
- Proszę dopracowywać projekt, aż przestaną pojawiać się pytania. Opis, w odniesieniu do którego zespół wciąż zadaje pytania, znajduje się w szerokiej części stożka; precyzyjne kryteria akceptacji przesuwają go w prawo.
- Podzielcie to. Mniejsze zadania znajdują się niżej w strukturze: każde z nich jest zrozumiałe, więc każda prognoza jest dokładniejsza niż jedna prognoza dotycząca całości.
- Proszę ponownie oszacować, gdy zdobędą Państwo nową wiedzę. Ponowne oszacowanie w miarę zawężania się zakresu jest uczciwe; natomiast robienie tego w celu osiągnięcia wyznaczonego celu już nie jest.
Stożek nie stanowi pretekstu do zawyżania wyników
Błędnym wnioskiem jest stwierdzenie: „wszystko jest niepewne, więc należy podwoić każdą prognozę”. Zwiększanie wartości powoduje przesunięcie całego stożka w górę bez jego zawężania; nadal opierają się Państwo na domysłach, tyle że pesymistycznych. Właściwą reakcją na szeroki stożek jest albo wyjaśnienie niepewności (określenie punktu krytycznego, doprecyzowanie, podział), albo uczciwe przedstawienie przedziału i zobowiązanie się do ponownego oszacowania.
Najczęściej zadawane pytania
Czym jest stożek niepewności?
Stożek niepewności opisuje, w jaki sposób zakres oszacowania jest najszerszy na początku realizacji zadania, a następnie zawęża się w miarę postępu prac i wyjaśniania nieznanych czynników. Na wczesnym etapie oszacowanie może znacznie odbiegać od rzeczywistego wyniku w dowolną stronę; gdy zadanie zostanie już dobrze zrozumiane, zakres ten zawęża się, zbliżając się do rzeczywistego wyniku.
Kto wpadł na pomysł stworzenia „stożka niepewności”?
Kształt ten po raz pierwszy zaobserwował Barry Boehm na początku lat 80. jako zależność między kosztami a oprogramowaniem, a Steve McConnell nazwał go później „stożkiem niepewności” i spopularyzował to pojęcie w środowisku metodyki agile oraz w dziedzinie szacowania oprogramowania.
W jaki sposób „stożek niepewności” ma zastosowanie w przypadku szacowania w metodologii agile?
Właśnie dlatego w metodologii agile szacuje się raczej względną wielkość zadania, zamiast z góry ustalać terminy. Systemy punktacji historii (story points) i planowanie pokerowe opierają się na założeniu, że wczesne szacunki są szerokie, przedkładają szybką ocenę względną nad fałszywą precyzję oraz przewidują ponowne szacowanie w miarę zawężania się zakresu poprzez dopracowywanie, testy wstępne i dostarczanie gotowych elementów.
W jaki sposób można zmniejszyć stożek niepewności?
Nie należy go sztucznie powiększać; należy natomiast wyjaśnić niewiadome, które powodują jego rozszerzenie. Należy skupić się na najbardziej ryzykownym elemencie, dopracować opowieść do momentu, aż znikną pytania, podzielić ją tak, aby każdy fragment był zrozumiały, a następnie ponownie oszacować, gdy już coś się Pan dowiedział. Stożek zwęża się wraz z eliminacją niepewności, a nie w wyniku zawyżania liczby.
Warto przeczytać
- Oszacowanie względne a bezwzględne: dlaczego metoda względnego doboru rozmiarów sprawdza się w teorii stożka.
- Podział opowieści użytkownika: działania rozpoznawcze i podziały – działania pozwalające uzyskać informacje, które zawężają zakres.
- Velocity: przekształcenie wstępnego, ogólnego oszacowania w prognozę z przedziałem.
- Przewodnik po szacowaniu w metodologii agile: kompletny zestaw informacji dotyczących szacowania.
- Bezpłatny Planning Poker dla zespołów stosujących metodologię agile: uzyskaj szybki wgląd w sytuację, o czym wskazuje „stożek”.