Projektmodeller: faseopdelt og agil

Når man skal gennemføre et projekt, skal man vælge en måde at arbejde på. Den måde kalder vi en projektmodel. Modellen bestemmer, hvornår vi planlægger, hvor detaljeret vi planlægger, og hvordan vi leverer undervejs. Der findes mange modeller med mange navne, men de fleste kan koges ned til to grundtilgange: den faseopdelte, plandrevne tilgang og den agile, iterative tilgang. At forstå de to yderpunkter gør det lettere at vælge fornuftigt, også når man ender et sted midt imellem.

Den plandrevne model: vandfald

Den plandrevne model kaldes ofte vandfald, fordi arbejdet flyder nedad gennem en fast række af trin: først afklarer vi kravene, så laver vi et design, så bygger vi, så tester vi, og til sidst leverer vi. Hvert trin bygger på det forrige og afsluttes, før det næste går i gang. Man lægger hovedparten af planlægningen på forhånd og følger derefter planen så trofast som muligt.

Styrken ved vandfald er forudsigelighed. Når man tidligt kan sige, hvad der skal laves, hvornår det er færdigt, og hvad det koster, er det lettere at indgå aftaler, styre økonomien og koordinere mange mennesker. Modellen passer godt til arbejde, hvor løsningen er kendt på forhånd, kravene er stabile, og fejl bliver dyre at rette sent. Et opdigtet eksempel kunne være opførelsen af et mindre lager: man vil nødig grave fundamentet om, fordi man kom i tanke om noget halvvejs.

Svagheden viser sig, når virkeligheden ikke vil makke ret. Fordi vi binder os til en detaljeret plan tidligt, hvor vi ved mindst, risikerer vi at bygge omhyggeligt det forkerte. Ændrer behovet sig undervejs, bliver det dyrt og besværligt at rette, fordi hele planen hænger sammen. Vandfald straffer altså usikkerhed hårdt.

Den agile model: korte iterationer

Den agile tilgang vender problemet om. I stedet for at planlægge alt på forhånd arbejder man i korte iterationer, ofte kaldet sprints, på typisk en til fire uger. Hver iteration leverer en lille, men brugbar del af løsningen. Efter hver runde ser man på resultatet, samler læring og prioriterer forfra, så den næste iteration arbejder på det, der nu er vigtigst. Denne familie af arbejdsmåder rummer blandt andet scrum.

Styrken er tilpasningsevne. Fordi man leverer og evaluerer ofte, opdager man tidligt, om man er på vej i den forkerte retning, og kan nå at rette kursen, mens det stadig er billigt. Man behøver ikke vide alt fra start, for man lærer undervejs. Det gør modellen stærk, når målet er uklart, teknologien er ny, eller behovene skifter.

Her er det vigtigt at rydde en udbredt misforståelse af vejen: agil betyder ikke, at man ikke planlægger. Man planlægger tværtimod hele tiden, bare i mindre bidder og oftere. Forskellen er ikke mængden af planlægning, men hvornår og hvor detaljeret den lægges. Svagheden ved agil er, at den løbende prioritering kræver disciplin og tæt kontakt med brugerne. Uden en klar retning kan projektet flyde, og det kan være svært at love en fast slutdato og pris på forhånd.

Hvornår slår den ene den anden

Valget mellem de to handler grundlæggende om usikkerhed. Jo bedre man kender målet, og jo mere stabile rammerne er, jo mere kan man med fordel planlægge på forhånd, altså jo mere trækker det mod vandfald. Jo mere uklart målet er, og jo mere foranderlige rammerne er, jo mere vinder man ved at arbejde i korte iterationer og lære undervejs, altså jo mere trækker det mod agil. Det er ikke et spørgsmål om mode eller om, hvad der lyder mest moderne, men om projektets natur.

Et opdigtet eksempel gør forskellen tydelig. Et softwarehold skal lave to ting for en webshop. Den ene er en velkendt integration til et betalingssystem, hvor kravene er givne og dokumenterede: den kan planlægges og bygges plandrevet. Den anden er en helt ny anbefalingsfunktion, hvor ingen endnu ved, hvad kunderne vil reagere på: den er oplagt at bygge agilt, hvor man prøver en lille version af, måler og justerer.

Hybrid og valg af model

I praksis lander de fleste projekter et sted midt imellem og bruger derfor en hybrid. En almindelig kombination er at lægge en fast, plandrevet ramme udenom, med et samlet budget og nogle overordnede milepæle, og så arbejde agilt indenfor rammen med selve udførelsen. På den måde får man både den forudsigelighed, som omverdenen ofte kræver, og den tilpasningsevne, som det usikre arbejde har brug for.

Modelvalget hænger tæt sammen med faser og stage-gate, for begge tilgange kan bruge faser og beslutningsporte. Det hænger også sammen med projekttypen: et anlægsprojekt trækker typisk mod det plandrevne, mens et produktudviklingsprojekt trækker mod det agile. Uanset model gælder planlægningsparadokset, at vi ved mindst netop når vi binder os mest, og god projektplanlægning handler i begge modeller om at planlægge løbende, i takt med at usikkerheden falder. Modellen er et middel, ikke et mål: vælg den, der passer til opgavens usikkerhed, ikke den, der er mest på mode.

Kort sagt

Der er to grundtilgange til at gennemføre et projekt. Den plandrevne vandfaldsmodel planlægger meget i starten og bygger sekventielt, hvilket giver forudsigelighed, men straffer forandring. Den agile model arbejder i korte iterationer, der hver leverer noget brugbart, hvilket giver tilpasningsevne, men kræver disciplin og gør faste løfter sværere. Agil betyder ikke fravær af planlægning, kun planlægning i mindre bidder, oftere. Valget afhænger af usikkerheden: kendt og stabilt trækker mod vandfald, uklart og foranderligt trækker mod agil, og de fleste virkelige projekter bruger en hybrid.