Przeczytałem o Stożku Niepewności, kiedy uczyłem się, aby uzyskać certyfikat Właściciela Produktu. Nigdy wcześniej nie słyszałem o tych ramach, więc oczywiście postanowiłem dowiedzieć się o nich więcej i podzielić się nimi tutaj.
Podstawowa koncepcja Stożka Niepewności została opracowana dla inżynierii i budownictwa w przemyśle chemicznym przez założycieli AACE International (Amerykańskie Stowarzyszenie Inżynierów Kosztów) według Wikipedii.
„Podstawowym celem szacowania oprogramowania nie jest przewidywanie wyniku projektu; jest nim określenie, czy cele projektu są wystarczająco realistyczne, aby umożliwić kontrolę projektu w celu ich osiągnięcia” – Steve McConnell.
Nazwa Stożek Niepewności została po raz pierwszy użyta przez Steve’a McConnella do opisania koncepcji w jego Software Project Survival Guide, kiedy zaproponował ją jako standardowy system klasyfikacji typów szacunków z zakresami niepewności i przedstawił ją jako ilustrację stożka. W oprogramowaniu, Barry Boehm odniósł się do tej koncepcji jako do krzywej lejka.
Stożka niepewności można użyć w rozwoju oprogramowania, gdzie środowisko zmienia się niezwykle szybko, w tym dostępne technologie i cele biznesowe. Można powiedzieć, że koszty inżynieryjne są wprost proporcjonalne do ilości niewiadomych w tworzeniu oprogramowania.
Zarządzanie projektem różni się od tworzenia oprogramowania, gdzie lepsza przewidywalność i ogólne zrozumienie ryzyka jest zazwyczaj możliwe, podobnie jak zdolność do drastycznego zmniejszenia ryzyka projektu. W rozwoju oprogramowania, jednak, niewiadomych i presji zewnętrznych uczynić środowisko niezwykle zmienne i nieprzewidywalne.
W rozwoju oprogramowania szczególnie celem jest zawsze pracować w kierunku zmniejszenia niepewności i minimalizacji ryzyka. Sposobem na to jest włączenie badań do wszystkich faz, a także usunięcie źródeł zmienności z produktu lub projektu tak bardzo, jak to tylko możliwe.
Jednym ze sposobów, aby to osiągnąć jest zmniejszenie liczby decyzji dotyczących zakresu i zasobów. Jak wiemy, Scrum jest frameworkiem, który w tym pomaga. Alternatywnie, podejście Lean Startup może być zastosowane podczas tworzenia oprogramowania.
Stożek niepewności reprezentuje ewolucję ilości najlepszych przypadków niepewności podczas projektu. Ponieważ nie masz zbyt wielu informacji o projekcie w jego początkowych fazach, zwłaszcza jeśli projekt dotyczy nowego produktu, szacunki będą zawierały wiele niepewności, a ryzyko będzie wysokie. W miarę wykonywania kolejnych prac zespół będzie miał więcej informacji o produkcie, a niepewność będzie się zmniejszać.
Jak szacować
Przewidywanie sukcesu jest niezwykle trudne. Wiele czynników może wpłynąć na szacunki i przyczynić się do niepewności projektu. Podczas opracowywania oszacowania, dobrym sposobem na rozpoczęcie jest oparcie oszacowania na innym, podobnym projekcie.
Sposobem na wprowadzenie Stożka Niepewności jest włączenie zakresu niepewności do oszacowania. Pomysł polega na tym, że niepewność i zmienność będą się zmniejszać w miarę rozwoju projektu, ponieważ początek projektu to czas, kiedy liczba niepewności jest największa.
Na początku projektu jest więcej niepewności, ponieważ wiele konkretnych szczegółów projektu jest nieznanych i zostaną one określone w miarę rozwoju produktu. Użycie Stożka Niepewności pomoże Tobie i zespołowi zrozumieć zakres nieprzewidywalności, a także ograniczyć zobowiązania na początku, aby uniknąć niepewności.
Oszacowania powinny być zawsze wykonywane z tą myślą i wspierane przez historyczne informacje z poprzednich projektów, aby przewidzieć najbardziej prawdopodobny scenariusz w formacie zakresu, jak pokazano w Stożku Niepewności.
Ilość wahań będzie się zmieniać w zależności od fazy projektu i typu projektu. Należy pamiętać, że liczba niepewności jest najwyższa na początku projektu, a w miarę postępu projektu, niepewność będzie prawdopodobnie maleć w większości przypadków.
Wcześniejsze zobowiązania w projekcie będą odpowiadać za więcej niepewności i ryzyka. Umiejętność zarządzania oczekiwaniami i upewnienia się, że Twoi interesariusze mają realistyczne zrozumienie ogólnego ryzyka i założeń projektu, może pomóc Ci lepiej współpracować z zespołem i zdobyć ich zaufanie.
Steve McConnell twierdzi, że współczynnik niepewności na początku projektu jest równy 4 (dla wysokiego i niskiego). Zobowiązania podjęte zbyt wcześnie mogą powodować nieefektywność i brak zaufania oraz zmniejszać zdolność do skutecznego zarządzania projektem. Należy o tym pamiętać!
Rola Agile
Agile zdecydowanie pomaga rozwijać szacunki, a także zmusza zespół do ciągłego szacowania, ponieważ więcej się uczy, co jest niesamowitą rzeczą. W miarę jak dowiadujemy się więcej o produkcie i rynku, coraz łatwiej jest szacować. Zwinność i Stożek Niepewności to potężne połączenie, ponieważ Zwinność pomaga zespołom dostarczać wyniki; nie jest jednak odpowiedzią na wszystkie pytania zespołu.
Sposób, w jaki działa obecnie rynek podczas tworzenia oprogramowania, powinniśmy zawsze opracowywać strategię testowania hipotez i napędzać innowacje tak bardzo, jak to tylko możliwe. Agile zdecydowanie pomaga nam wykonywać lepszą pracę z szacunkami w ogóle.
Główną różnicą z Agile jest to, że pozwala na wiele iteracji. Zespół może czuć się bardziej komfortowo szacując i planując iteracje w małych partiach, podczas gdy więcej dowiaduje się o produkcie i rynku.
Gdy używamy podejścia Agile, przyspieszamy naszą zdolność do uczenia się dzięki ciągłym iteracjom i wdrożeniom, więc zespół może szybciej zatwierdzić zdobyte doświadczenia i dowiedzieć się więcej o rynku, co może zmniejszyć niepewność.
Jak stosować
Ramy Stożka Niepewności powinny być częścią zarządzania ryzykiem projektu oraz wszystkimi znanymi i nieznanymi ryzykami. Celem tych ram jest pomoc w lepszym zrozumieniu ryzyka projektu poprzez przygotowanie się na niepewność.
Rola ram w procesie szacowania polega na określeniu najbardziej prawdopodobnego przebiegu, a także na obliczeniu wysokiego i niskiego zakresu prawdopodobieństwa. Można to zrobić za pomocą formuł i na podstawie szacunków poprzednich projektów z wykorzystaniem empirii.
Ramy są wykorzystywane w różnych rodzajach produktów i projektów, ponieważ jest to skuteczny sposób, aby pokazać ryzyko każdej inwestycji. Stożek niepewności pokaże wielkość ryzyka poprzez zademonstrowanie stopnia pewności poprzez cykl życia produktu w postaci lejka.
Empiryzm jest wielkim sprzymierzeńcem ram, ponieważ o wiele łatwiej jest zmierzyć coś w oparciu o poprzednie, podobne doświadczenia. Stożek może pomóc Ci określić, czy projekt jest wykonalny i możliwy do zrealizowania. Mamy nadzieję, że z czasem niepewność będzie się zmniejszać, a uwzględnienie tego faktu pomoże zespołowi w opracowaniu lepszych oszacowań.
Zalety stosowania stożka niepewności:
- Zmniejsza niejednoznaczność.
- Określa najbardziej prawdopodobne oszacowanie.
- Oblicza wysoki i niski zakres prawdopodobieństwa.
- Pomaga określić, na jak duże ryzyko zespół może sobie pozwolić i przyrostowe finansowanie.
- Wzmacnia znaczenie dodatkowych badań.
Wskazówki dotyczące szacowania:
- Oszacowania są niepewne na początku projektu, są niejasne, ale miejmy nadzieję, że są oparte na procesie empirycznym.
- Oszacowania należy regularnie weryfikować, ponieważ więcej wiadomo o projekcie.
- Założenia powinny być przejrzyste i codziennie podwójnie sprawdzane.
- Oszacowania powinny uwzględniać niepewności i być widoczne w planach projektu i tablicach Kanban.
Fakty dotyczące niepewności:
- Trudno jest zrozumieć rynek i to, czego on chce.
- Rynek ciągle się zmienia.
- Konkurencja zawsze będzie istnieć.
Baw się dobrze! ❤