Usikkerhedskonus

Usikkerhedskonus, beskrevet af Steve McConnel, viser, hvad enhver erfaren softwareprofessionel ved. Det er, at vi i begyndelsen af et projekt ikke ved præcis, hvor lang tid et projekt kommer til at tage.

Grundene til dette er mange. Ingen to projekter nogensinde har:

  1. De samme krav.
  2. De samme mennesker.
  3. Den samme forretningskontekst.
  4. Den samme teknologi.
  5. De samme prioriteter &begrænsninger.

Hvert projekt er unikt. Hver eneste linje af kode er håndlavet. Og vidensarbejde, der involverer kloge kreative mennesker, egner sig ikke til præcision på samme måde som grøftegravning.

Men alligevel er det præcision, der bliver efterspurgt. Sponsorer vil vide præcis, hvornår projektet vil være færdigt, og hvor meget det vil koste.

Håndteringen af dette dilemma er næsten lige så gammel som tiden selv. Her er nogle få måder, hvorpå teams og virksomheder håndterer denne usikkerhed.

Håndtering af keglen

Padpump estimatet

Efter at have mærket brodden af at have undervurderet, er en almindelig reaktion at fordoble eller tredoble estimatet i næste runde. Dette sænker helt klart risikoen på forhånd, men det er sværere end det lyder.

Giv et for stort tal, og sponsorerne vil afvise dit projekt og ikke godkende det. Giv et for lavt tal, og du risikerer at løbe tør for penge. Det bliver dobbelt så risikabelt, når man byder på kontrakter med faste tilbud, hvor der er endnu større pres for at holde tallene nede.

De fleste projekter tilføjer en eller anden form for udfyldning til de endelige tal for at give sig selv tilstrækkeligt spillerum. En anden ting, som teams kan gøre, er at sammenligne dette projekt med andre.

Dimensioner projektet relativt

Mennesker er rigtig gode til at dimensionere ting relativt. Vi kan ikke fortælle dig præcist, hvor stor en sten er. Men vi kan fortælle dig, hvor stor den er i forhold til noget andet. Det kan vi også bruge, når vi dimensionerer projekter.

Vær ærlig og ærlig

Agile’s standardarbejdsmetode er gennemsigtighed og synlighed. Så det bør ikke være nogen overraskelse, at den agile måde at håndtere keglen på er at være åben og ærlig.

Se. Vi ved ikke, hvor lang tid det her vil tage. Dette er vores bedste gæt. Men hvis du giver os et par iterationer, kan vi bygge noget, måle, hvor lang tid det tager, og derefter fortælle dig en meget bedre fornemmelse af, hvor stor denne ting er.

En anden tilgang, som nogle agile teams vælger for at hjælpe med at kommunikere usikkerheden, er at præsentere estimaterne som et interval.

Dette har den fordel, at det synligt viser sponsorerne den usikkerhed, der følger med projektet, og derefter lader sponsorerne afgøre, hvor stor risiko de har råd til at påtage sig.

Fund incrementally

En anden tilgang, der giver meget god mening, men som jeg desværre ikke ser anvendt ofte nok, er incremental funding.

Med incremental funding beder du ikke om hele posen penge på forhånd. Kun nok til at kunne gennemføre nok af arbejdet, så man kan rapportere tilbage med et bedre tal for, hvor lang tid det kommer til at tage.

Det er ikke idiotsikkert. Du kan stadig løbe ind i problemer senere hen. Men ved at give holdene 30-50.000 dollars, lade dem bygge noget og se, hvor lang tid det tager, kan man i høj grad reducere variationen i det forudgående tal.

Du kan læse mere om denne måde at planlægge på og de fordele, den giver, i Beyond Budgeting af Jeremy Hope.

Rodårsagen

Vi lever i en verden med årlige budgetter. Og det er desværre drivkraften bag mange af spændingerne og dramaet på vores arbejdsplads. På nogle måder er årlige budgetter naturlige (vi lever og følger tiden i årlige cyklusser), men på andre måder er de forfærdelige til planlægning, da et år er en lang tid på markedet.

Hvis du oplever, at du bliver snublet af usikkerhedens kegle, skal du blot huske, at hele pointen med softwarevurdering er at afgøre, om projektet overhovedet er muligt.

Og som Steve McConnell siger:

Det primære formål med softwarevurdering 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, Software Estimation: Demystificering af den sorte kunst

Skriv en kommentar