Stożek niepewności w agile estimation
Wstępne szacunki charakteryzują się dużym rozrzutem, 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 powiększać.
Najwcześniejsze oszacowanie jest najgorsze — i 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 czegoś, czego 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 oszacowania
Większość trudności związanych z szacowaniem wynika z oczekiwania, że oszacowanie punktowe zostanie ustalone w najszerszej części 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óźniej.
Właśnie dlatego w metodologii agile szacuje się względną wielkość zadania, zamiast ustalać konkretne terminy. Punkty fabularne i planning poker nie sprzeciwiają się zasadzie stożka — akceptują ją. Szybka ocena względna („to jest większe niż to, co dostarczyliśmy w ostatnim sprincie”) stanowi najbardziej rzetelny 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ę, gdy eliminuje się niewiadome — a nie wtedy, gdy dodaje się rezerwę. W kolejności według siły oddziaływania:
- Spike to najbardziej ryzykowna niewiadoma. Ograniczony czasowo spike pozwala uzyskać informacje, a to jedyna rzecz, która faktycznie zawęża zakres.
- Dopracowujcie projekt, dopóki nie 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 na stożku — każde z nich jest dobrze zrozumiałe, więc każda z ich szacunków jest dokładniejsza niż jeden szacunek dla 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.
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 marginesu bezpieczeństwa powoduje przesunięcie całego stożka w górę bez jego zwęż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 szczytowej wartości, 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 agile oraz w dziedzinie szacowania oprogramowania.
W jaki sposób „stożek niepewności” ma zastosowanie w przypadku szacowania w metodach 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 planning poker opierają się na założeniu, że wczesne szacunki są nieprecyzyjne, przedkładają szybką ocenę względną nad fałszywą precyzję oraz przewidują ponowne szacowanie w miarę zawężania się zakresu projektu 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 zawyżać — należy wyjaśnić niewiadome, które powodują jego rozszerzenie. Należy skupić się na najbardziej ryzykownym elemencie, dopracować opowieść, aż znikną pytania, podzielić ją tak, by każdy fragment był zrozumiały, a następnie ponownie oszacować, gdy już coś się Państwo dowiedzą. 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 teście stożkowym.
- Podział opowieści użytkownika — działania typu „spike” i „split”, czyli kroki pozwalające uzyskać informacje, dzięki którym można zawęzić zakres.
- Velocity — przekształcenie wstępnego, ogólnego oszacowania w prognozę z przedziałem.
- Przewodnik po szacowaniu w metodologii agile — kompletny zestaw materiałów dotyczących szacowania.
- Bezpłatny planer pokerowy dla zespołów stosujących metodologię agile — uzyskaj szybki, względny wgląd, jakiego wymaga model „stożka”.