Smidig og stor – en selvmotsigelse innen it-utvikling?

(Foto: Ahlert Hysing)

Smidig og stor – en selvmotsigelse innen it-utvikling?

Det er fremdeles uklart om smidig utvikling er mest egnet i store it-prosjekter, men det heller i positiv retning.

Smidig utvikling av it-systemer har røtter langt tilbake i tid. Ikke minst har smidig utvikling blitt inspirert av ideer om evolusjonær IT-utvikling (Evo) fremsatt av Tom Gilb [1] allerede på 1960-tallet. Boka om Evo-metoden kom i 1976 og beskrev de viktigste prinsippene til dagens smidig-utvikling. Oppdragsgiverne til Tom Gilb og hans revolusjonære, evolusjonære ideer om it-utvikling var i stor grad internasjonale firma, med store, virksomhetskritiske systemer.

Hopper vi fram i tid til smidig-konferansen i Kanada i 2003, det vil si to år etter at «Det smidige manifestet» og smidig-bevegelsen så dagens lys, så gikk debatten heftig om smidig utvikling faktisk egner seg for utvikling av store, virksomhetskritisk it-systemer. En av personene bak det smidige manifestet, Martin Fowler, hadde en tittel på sin presentasjon som sa det meste: «Hvorfor det å skalere smidig-utvikling er det siste du vil ønske å gjøre». Mange på konferansen var enige med ham i dette. Også forskerne var på den tiden skeptiske til om smidig-utvikling egnet seg for større prosjekter. Skepsisen var kanskje ikke uventet. Smidig-bevegelsens verdier og prinsipper, og kanskje særlig hvordan disse ble implementert i tidlige metoder som eXtreme Programming (XP), synes i stor å ha vært basert på erfaringer fra mindre, samlokaliserte team, relativt forutsigbare omgivelser – ofte videreutvikling av eksisterende systemer, uten de mest kompliserte og virksomhetskritiske systemene.

Fortsatt var det langt fra klart i hvilken grad og på hvilken måte smidig egnet seg for storskala it-utvikling.

Suksesshistorier

Det som i praksis gir den mest overbevisende argumentasjonen for at smidig faktisk egner seg for store it-prosjekter er suksesshistorier. Her har PERFORM-prosjektet til Statens Pensjonskasse (SPK) gått opp løypa, i alle fall i Norge. Prosjektet hadde et budsjett på ca. en milliard kroner, 12 utviklingsteam og 2.300 brukerhistorier – og fikk en vellykket fullføring rundt 2012 [2]. SPK har i etterkant av PERFORM-prosjektet videreutviklet sine smidige utviklingsprosesser, og bruker disse på nye store prosjekter. Ingen tvil om at SPK opplevde og opplever at smidig utvikling egner seg svært godt for store it-prosjekter.

Omtrent på samme tid (opprinnelig planlagt ferdig i 2013) som PERFORM-prosjektet forsøkte skatteetaten i Storbritannia å bruke smidige metoder til å fornye skattesystemet gjennom «Universal Credit»-prosjektet til flere milliarder kroner. I likhet med SPK hadde de ikke så mye erfaring med smidig da de startet, men i motsetning til SPK feilet prosjektet stort. Smidig utvikling fikk deler av skylden og ble kastet på båten. Det ble i evaluerings-rapporten til prosjektet hevdet at egnethet til smidig-utvikling for store it-prosjekter «remains unproven» [3]. Kritikere av evaluerings-rapporten på den annen side hevdet at dette ikke var et eksempel på en fiasko med smidig utvikling, men på en feil innføring av smidig og håpløse prosjektrammer. Vi vil neppe noen gang vite sannheten om dette.

Mars/april 2019-nummeret til IEEE Software har som spesialtema «Agile development at scale: The next frontier», med Torgeir Dingsøyr fra Sintef som gjesteredaktør. Her finner vi flere artikler om hvordan det går og hvordan man best lykkes med store smidige it-prosjekter. Mitt bidrag der er en analyse av 196 norske, smidige og ikke-smidige, it-prosjekter. Den viser at prosjekter som hevdes å være gjennomført smidig, særlig dersom de har fleksibilitet i leveransene og hyppige leveranser til produksjon, lykkes betydelig oftere enn de som er ikke-smidige [4]. Fordelen med å bruke smidig var størst for de minste prosjektene, men fortsatt stor for de mellomstore og store (>100 mill kroner).

Kommer an på ...

Svaret på om smidig egner seg for storskala it-utvikling er neppe et klart ja eller nei. Det er i stedet det mer kjedelige «det kommer an på». Det vi vet i dag er at det går an å lykkes bra, og at de fleste synes å lykkes bedre med enn uten smidig utvikling, og at dette også gjelder for utvikling av store, kompliserte it-systemer. Noen garanti for suksess har man åpenbart ikke. Det er helt klart mulig å feile stort – også med bruk av smidige prinsipper.

Magne Jørgensen, forsker ved SimulaMet og professor ved OsloMet

 

[1] Tom Gilb er en av få nordmenn (født i USA) som er mye mer kjent utenlands enn innenlands. I tillegg til å være svært tidlig ute med smidig utvikling, så har han også vært (og er) en pioner rundt nyttestyring (gevinstrealisering) innen it-utvikling.

[2] T. Dingsøyr, N. B. Moe, T. E. Fægri, and E. A. Seim, “Exploring software development at the very large-scale: A revelatory case study and research agenda for agile method adaptation,” Empirical Softw. Eng., vol. 23, no. 1, pp. 490–520, 2018. [Online]. Available: https:// doi.org/10.1007/s10664-017- 9524-2

[3] https://ukcampaign4change.com/2011/10/10/universal-credit-internal-report-now-published/

[4] Jørgensen, M. (2019). Relationships Between Project Size, Agile Practices, and Successful Software Development: Results and Analysis. IEEE Software, 36(2), 39-43.

Debatt