Jeg læste om Cone of Uncertainty, da jeg læste for at få Product Owner-certificeringen. Jeg havde aldrig hørt om denne ramme før, så selvfølgelig besluttede jeg mig for at lære mere om den og dele den her.
Det grundlæggende koncept for Cone of Uncertainty blev udviklet til ingeniørarbejde og byggeri i den kemiske industri af stifterne af AACE International (American Association of Cost Engineers) ifølge Wikipedia.
“Det primære formål med softwareoverslag er ikke at forudsige et projekts resultat; det er at afgøre, om et projekts mål er realistiske nok til, at projektet kan styres til at opfylde dem.” – Steve McConnell.
Navnet Cone of Uncertainty blev første gang brugt af Steve McConnell til at beskrive konceptet i sin Software Project Survival Guide, da han foreslog det som et klassificeringssystem for standardoverslagstyper med usikkerhedsintervaller og præsenterede det som en kegleillustration. Inden for software omtalte Barry Boehm konceptet som Funnel Curve.
Usikkerhedskonus kan bruges i softwareudvikling, hvor miljøet ændrer sig ekstremt hurtigt, herunder de tilgængelige teknologier og forretningsmål. Det er rimeligt at sige, at ingeniøromkostningerne er direkte proportionale med mængden af usikkerheder i softwareudvikling.
Projektledelse adskiller sig fra softwareudvikling, hvor bedre forudsigelighed og overordnet forståelse af risici typisk er mulig, ligesom det er muligt at reducere projektrisici drastisk. I softwareudvikling gør imidlertid de ukendte faktorer og det eksterne pres miljøet ekstremt volatilt og uforudsigeligt.
Sær i softwareudvikling er målet altid at arbejde hen imod en reduktion af usikkerhederne og en minimering af risiciene. En måde at gøre det på er at inddrage forskning i alle faser og også at fjerne kilder til variabilitet fra produktet eller projektet så meget som muligt.
En måde at opnå dette på er at reducere antallet af beslutninger vedrørende omfang og ressourcer. Som vi ved, er Scrum en ramme, der hjælper med det. Alternativt kan Lean Startup-tilgangen anvendes, mens der udvikles software.
Usikkerhedskeglen repræsenterer udviklingen af mængden af usikkerheder i bedste fald i løbet af et projekt. Da man ikke har mange oplysninger om projektet i de indledende faser, især hvis projektet er relateret til et nyt produkt, vil estimaterne indeholde en masse usikkerheder, og risiciene vil være høje. Efterhånden som mere arbejde udføres, vil teamet have flere oplysninger om produktet, og usikkerhederne vil blive mindre.
Hvordan man estimerer
Det er ekstremt svært at forudsige succes. Mange faktorer kan påvirke dit estimat og bidrage til projektets usikkerheder. Mens du udvikler estimatet, er en god måde at starte på at basere dit estimat på et andet lignende projekt.
En måde at introducere usikkerhedens kegle på er ved at inkludere et interval af usikkerheder i dit estimat. Ideen er, at usikkerhederne og variabiliteterne vil falde, efterhånden som projektet udvikler sig, da projektets begyndelse er det tidspunkt, hvor antallet af usikkerheder er størst.
Der er flere usikkerheder i begyndelsen af et projekt, fordi en masse specifikke projektdetaljer er ukendte og vil blive defineret, efterhånden som produktet udvikles. Brug af usikkerhedskonus vil hjælpe dig og teamet med at forstå intervallet af uforudsigelighed og også med at begrænse forpligtelserne i begyndelsen for at undgå usikkerheder.
Overslagene bør altid foretages med dette i tankerne og understøttes af tidligere projekters historiske oplysninger for at forudsige det mest sandsynlige scenarie i et intervalformat, som vist af usikkerhedskonus.
Mængden af variationer vil svinge afhængigt af projektfasen og projekttypen. Husk, at antallet af usikkerheder er størst i begyndelsen af projektet, og efterhånden som projektet skrider frem, vil usikkerhederne sandsynligvis falde i de fleste tilfælde.
Første forpligtelser i projektet vil tage højde for flere usikkerheder og risici. Evnen til at styre forventningerne og sikre, at dine interessenter har en realistisk forståelse af de overordnede projektrisici og antagelser, kan hjælpe dig med at arbejde bedre sammen med teamet og vinde deres tillid.
Steve McConnell siger, at usikkerhedsfaktoren i begyndelsen af projektet er lig med 4 (for høj og lav). For tidligt indgåede forpligtelser kan resultere i ineffektivitet og manglende tillid og reducere evnen til at styre et projekt med succes. Husk det!
Agile’s rolle
Agile hjælper helt klart med at udvikle estimatet og tvinger også teamet til konstant at estimere, efterhånden som der bliver lært mere, hvilket er en fantastisk ting. Efterhånden som man lærer mere om produktet og markedet, bliver det nemmere at estimere. Agile og Cone of Uncertainty er en kraftfuld kombination, da Agile hjælper med at give teams mulighed for at levere et resultat; det er dog ikke svaret på alle dit teams spørgsmål.
Den måde markedet fungerer på i dag, mens vi udvikler software, bør vi altid udvikle en strategi for at teste hypoteser og drive innovation så meget som muligt. Agile hjælper os helt klart til at gøre et bedre stykke arbejde med estimater generelt.
Den største forskel med Agile er, at det tillader flere iterationer. Teamet kan føle sig mere tryg ved at estimere og planlægge iterationer i små serier, mens man lærer mere om produktet og markedet.
Når vi bruger den agile tilgang, fremskynder vi vores evne til at lære med konstante iterationer og implementering, så teamet kan validere læringen hurtigere og lære mere om markedet, hvilket kan reducere usikkerhederne.
Hvordan man anvender
Sikkerhedsrammen Cone of Uncertainty bør være en del af projektets risikostyring og alle kendte og ukendte risici. Målet med rammen er at hjælpe dig med at forstå projektrisici bedre ved at forberede dig på usikkerheder.
Rammens rolle i estimeringsprocessen er at bestemme det mest sandsynlige forløb og også at beregne det høje-lavt interval af sandsynligheder. Dette kan gøres ved hjælp af formler og baseret på tidligere projekters estimater ved hjælp af empiri.
Rammen bruges i forskellige typer af produkter og projekter, fordi det er en effektiv måde at vise risiciene ved enhver investering på. Usikkerhedskonus vil vise mængden af risiko ved at demonstrere graden af sikkerhed gennem produktets livscyklus i en figur af en tragt.
Empirisme er en stor allieret af rammen, da det er så meget nemmere at måle noget baseret på tidligere, lignende erfaringer. Keglen kan hjælpe dig med at afgøre, om projektet er gennemførligt og muligt. Håbet er, at usikkerhederne med tiden vil falde, og at tage højde for det vil hjælpe dit team med at udvikle bedre estimater.
Fordele ved at bruge usikkerhedskeglen:
- Mindsker tvetydighed.
- Bestemmer det mest sandsynlige estimat.
- Beregner højt og lavt interval af sandsynligheder.
- Hjælper med at bestemme, hvor stor risiko holdet har råd til og inkrementel finansiering.
- Forbedrer vigtigheden af yderligere forskning.
Stimateringstips:
- Stimater er usikre i starten af projektet, de er vage, men forhåbentlig baseret på en empirisk proces.
- Overslag skal revideres regelmæssigt, efterhånden som man får mere at vide om projektet.
- Ansætninger skal være gennemsigtige og dobbelttjekket dagligt.
- Overslag skal tage højde for usikkerheder og være synlige i projektplaner og Kanban-tavler.
Fakta om usikkerheder:
- Det er svært at forstå markedet, og hvad det ønsker.
- Markedet ændrer sig konstant.
- Konkurrence vil altid være der.
Have det sjovt! ❤