Hvordan blir it-prosjekter så dyre?

Hvordan blir it-prosjekter så dyre?

KRONIKK: Utviklerens rolle er sentral for å redusere kompleksiteten.

For utviklingsprosjekter består kostnaden hovedsaklig av arbeidet som går med på utviklingsjobben. For å få kontroll på it-prosjektene kan det hjelpe å forstå dette arbeidet bedre.

Det er to måter å få kontroll på kostnadene ved utviklingen: Vi kan redusere prisen per time som brukes og vi kan redusere antall timer som brukes. Disse to synene gir to veldig forskjellige innfallsvinkler.

Man kan redusere timeprisen på et prosjekt ved å gi arbeidet til mindre erfarne utøvere eller å sende jobben til lavkostland. Ulempen med begge strategiene er at man ikke lenger vet hva man får. På et tidspunkt er det ingen vei tilbake: Ingen vet hvordan systemet fungerer, og den eneste måten å endre noe er ved å investere nye uforutsigbare mengder arbeid.

Dersom vi i stedet ser på utvikling som en profesjon med yrkesetikk og yrkesstandard, så kan vi kanskje redusere kompleksiteten i prosjektet. Det vil gi en mer bærekraftig situasjon. Men hvordan kommer vi hit?

Problem og løsning

Min yrkesetikk sier at jeg setter kundens mål først. For utvikling innebærer dette at man i det minste forstår målene til kunden og ikke bare kravspesifikasjonen. Det er ofte her det strander. Jeg kom inn på et skakkjørt prosjekt der utvikleren hadde blitt bedt om å lage en webløsning for å registrere informasjon som i dag ble registrert i et regneark. Regnearket var avansert og webløsningen hadde vokst seg kompleks og full av feil. Ved å forstå kundens behov laget vi i stedet en løsning der vi importerte de eksisterende regnearkene. Løsningen ble billigere, enklere og mer brukervennlig. Men den oppfylte ikke kravspesifikasjonen.

Min yrkesstandard sier at jeg også må utføre arbeidet med riktig kvalitet. Akkurat som en rørlegger må overholde våtromstandarden og en kirurg må vaske hendene før han opererer, så må en utvikler skrive tester for koden hun utvikler. Samtidig må fagmannen ikke bruke mer tid på finpussing enn det oppgaven krever.

Problemet kan ikke bare løses ved noen helter og mange fotsoldater. Min kollega Christin sier: "Arkitekten som ikke godtar noe mindre enn perfeksjon, gjør hele teamet til fabrikkarbeidere som kun følger arkitektens planskisse," selv når denne planskissen ikke stemmer overens med virkeligheten. Alle utviklerne kan være en del av problemet og alle må være en del av løsningen.

Fagfolk

Hvordan reduserer vi kompleksiteten i it-prosjekter? Det starter med å øke utviklernes forståelse for hva som skal lages. Dette krever at både utviklerne og kunden bruker tid på å forstå problemet som skal løses. Det krever at utviklerne verken utfører arbeid med uforsvarlig standard eller finpusser arbeidet for mye. Og det krever at alle programmere, arkitekter og testere i et prosjekt blir behandlet som fagfolk.

Betyr dette at å sende arbeid til lavkostnadsland ikke vil fungere? Nei. Det er mange dyktige fagfolk i for eksempel India og øst-Europa. Men vi må innse at med mindre kunden tar alvorlig ansvaret om å lære utviklerne om sin forretning, så vil resultatet bli et dårlig og komplekst system, dog til en lavere pris.

Les om: