Hjelper smidige metoder?

Hjelper smidige metoder?

KRONIKK: De aller fleste er overbevist om at deres utviklingsmetode er den beste, særlig de som bruker "smidige metoder". Samsvarer denne sterkere overbevisningen med hvor godt smidige metoder faktisk virker?

Innen utvikling av it-systemer øker stadig bruken av smidige metoder som XP, Scrum og Lean. Smidige metoder vektlegger hyppig feedback og små leveranser og er i mindre grad opptatt av design i forkant av programmeringsfasen, detaljerte planer og dokumentasjon. Flere studier (for eksempel "Empirical analysis on the satisfaction of IT employees comparing XP practices with other software development methodologies", Mannaro, Melis og Marchesi, XP2004) rapporterer at utviklere som bruker smidige metoder er mer fornøyde med metoden sin, enn utviklere som bruker andre metoder, og opplever at den gir økt effektivitet, kvalitet og nytte for kunde. I hvilken grad bør vi bruke dette som indikator på at smidige metoder faktisk virker bedre enn andre metoder? Og hvor godt virker faktisk smidige metoder?

Forskning på fornøydhet

For en del år siden gjorde jeg en spørreundersøkelse i en stor norsk it-organisasjon der jeg spurte alle utviklerne hvor godt fornøyd de var med det utviklingsverktøyet de brukte i sitt daglige arbeid. Det slående var at de aller fleste var fornøyde eller svært fornøyde med deres eget verktøy, og at det var så å si ingen korrelasjon mellom målt effektivitet og kvalitet, og hvor fornøyde utviklerne var.

Denne observasjonen samsvarer med øvrig forskning på fornøydhet. I "Most people are happy", Diener og Diener, Psychological Science, 1996 rapporteres det for eksempel at de aller fleste mennesker er fornøyde på de fleste viktige områder til tross for, objektivt sett, store forskjeller. Fornøydhet med et produkt eller en tilværelse sier ofte mer om oss som mennesker, enn om produktet eller tilværelsen i seg selv, og er dermed en dårlig indikator på om en utviklingsmetode virker bedre enn andre.

En bedre metode for å evaluere om smidige metoder virker, kan være å basere vurderinger på resultater fra forskningsstudier. Dette er hva Tore Dybå og Torgeir Dingsøyr ved SINTEF nylig gjorde i sin "Empirical studies of agile software development: A systematic review", Information and Software Technology, 2008. I alt ble 33 empiriske forskningsstudier med akseptabel kvalitet identifisert, evaluert og oppsummert.

Dessverre gir den godt gjennomførte oppsummeringen av studier på smidige metoder heller ingen klare svar på om smidige metoder virker bedre enn andre metoder. Resultatene fra studiene er svært sprikende på viktige områder, studiene omhandler i hovedsak utviklere med liten grad av erfaring i smidige metoder, og sammenligningen med alternative utviklingsmetoder er oftest mangelfull. Dybå og Dingsøyr konkluderer med at robustheten i kunnskapen om effekten av smidige metoder er svært lav og at vi trenger flere og bedre studier for å finne ut i hvilke sammenhenger smidige metoder virker bedre enn andre.

Kontrollerte eksperimenter

Et interessant spørsmål i den sammenhengen er hva vi faktisk kan forvente å finne ut om virkningen av smidige metoder gjennom empiriske studer. Smidige metoder er vagt definert, bruken av smidige metoder varierer svært mye, bruken av alternative metoder varierer svært mye, hvor godt smidige metoder virker i forhold til alternative metoder er åpenbart avhengig av sammenhengen – som også varierer mye.

Konsekvensen er at vi neppe vil ha råd til å gjennomføre det antallet studier som ville være nødvendig for å skaffe oss robust kunnskap om i hvilke situasjoner ulike varianter av smidige metoder trolig vil virke bedre enn ulike varianter av alternative utviklingsmetoder.

Det er trolig noe enklere å finne ut om deler av smidige metoder vil passe for ens egne prosjekter ved bruk av prinsipper fra tradisjonell prosessforbedring og kontrollerte eksperimenter. Ved å studere effekten av innføring av en veldefinert, ikke alt for stor prosessendring over tid i en sammenheng som er lik eller ligner den man ønsker å vite noe om, vil man ha større mulighet for å få robust og relevant kunnskap. Denne framgangsmåten er kanskje lite inspirerende og spennende for utviklere og andre som ønsker store forandringer og følelsen av å være med på noe nytt, og kanskje heller ikke akseptabel for som mener at metoder må evalueres som helhet og ikke del-for-del på grunn av synergieffekter. I valget mellom svært lite robust kunnskap om effekten av smidige metoder som helhet, og vesentlig mer robust kunnskap om viktige deler av metodene i de mest relevante sammenhengene, er kanskje likevel det siste likevel å foretrekke.

Les om: