Hva er en svært dyktig utvikler verdt?

KOMMENTAR: Kunder underbetaler de dyktigste og overbetaler de minst dyktige systemutviklerne, skriver professor Magne Jørgensen.

Publisert Sist oppdatert

nn Marc Andreessen, grunnleggeren av Netscape, skal ha sagt at: "Five great programmers can completely outperform 1,000 mediocre programmers."

Lyle M. Spencer rapporterer at de beste systemutviklere produserte 13 ganger så mye testet funksjonalitet per månedsverk som de gjennomsnittlige, og 32 ganger mer enn de dårligste.

Mange andre studier dokumenterer lignende produktivitetsforskjeller mellom svært dyktige og middels/dårlige systemutviklere. Disse forskjellene i produktivitet tilsier at det kan være et kupp for en kunde å betale de beste utviklerne 5.000 kroner timen, og tilsvarende ineffektivt å betale de dårligste 500 kroner timen. Den faktiske forskjellen i timelønn reflekterer trolig i liten grad de dokumenterte forskjellene i produktivitet. Den viktigste grunnen for dette kan være mangel på kunnskap. Når man ikke vet hvor mye mer produktiv en systemutvikler er enn en annen, blir det som i ordtaket: "I mørket er alle katter grå".

nn Systemutvikling er i tillegg som friidrettens tikamp. For å være en svært god systemutvikler er det ikke engang nok å ha vunnet et verdensmesterskap i programmering. I tillegg kreves det gode evner til å forstå oppdragsgivers behov (domenekunnskap), se muligheter for gjenbruk, finne fram til viktig informasjon, lage bra design, levere utvidbare løsninger, jobbe i team, selge inn gode løsninger og oppdage forbedringsmuligheter. Vi kan kanskje klare å måle noen av disse egenskapene, men vet lite om hvordan vi skal sette dette sammen til en samlet vurdering av dyktigheten til en systemutvikler.

For å gjøre det enda mer utfordrende så viser undersøkelser at systemutviklere som er svært gode i en sammenheng kan være mer gjennomsnittlige i en annen. Forskningen viser for eksempel at mens forskjellene mellom en svært dyktig og en middels utvikler kan være svært store på vanskelig oppgaver, så reduseres den kraftig med enklere oppgaver.

Alle disse vanskelighetene med å sammenligne dyktighet bør imidlertid ikke ta bort fokus på at det er svært store forskjeller i dyktighet. Med en svært dyktig systemutvikler kan et it-system koste en brøkdel av hva det ellers ville koste og få mye høyere kvalitet.

Et illustrerende eksempel på produktivitetsforskjeller observerte jeg nylig i en undersøkelse der jeg lar seks ulike leverandører lage det samme it-systemet. Gjennom en forespørsel på en online markedsplass (Freelancer.com) fikk jeg inn 15 tilbud med priser fra 99 (!) til 15.000 amerikanske dollar. Etter å ha gått gjennom kompetanse og kundefornøydhet på tidligere leveranser hos alle leverandørene valgte jeg to leverandører med relativt lav pris (400 og 800 dollar), to med middels høy pris (1.200 og 2.000 dollar) og to med relativt høy pris (5000 og 5500 dollar) til å lage det samme it-systemet. Antall estimerte timeverk varierte fra 43 til 334 timeverk og leveransetidspunkt ble anslått å være fra to til tolv uker fram i tid. Alle leverandørene hadde svært gode referanser fra tidligere kunder.

To av leverandørene er ennå ikke helt i mål, men forskjellen mellom utviklerne er likevel slående. Den mest effektive utvikleren - fra Finland - leverte med god kvalitet og brukte kun 29 timeverk på utvikling, testing, dokumentasjon og installering av leveransen! Den nest raskeste utvikleren - fra Malaysia - brukte 84 timeverk, men her var kvaliteten noe variabel og vi som kunde måtte bruke en del ekstra arbeid og tid på oppfølging. De resterende leverandørene, med team på to til fire personer, har brukt/kommer trolig til å bruke mellom 200 og 400 timeverk på samme leveransen, det vil si opp til ca. 13 ganger så mye som den finske utvikleren.

En motivasjon for å velge to leverandører med svært lav pris i dette forskningsprosjektet var å se nærmere på hva som skjer når man har et sterkt fokus på lav pris når man velger leverandører. Jeg har i flere undersøkelser vist at dette gir en betydelig økning i risikoen for å feile og i gjennomsnitt lavere kundefornøydhet. I dette tilfelle var imidlertid den leverandøren med desidert lavest pris også den uten tvil dyktigste utvikleren. Utfordringen er dermed å vite når en svært lav pris skyldes sterk overoptimisme, inkompetanse eller plan om lavkvalitetsleveranse og når den skyldes eksepsjonell dyktighet. Uten evalueringer av produktivitet og kvalitet på tidligere leveranser, eller praktiske tester av utviklerne, vil dette ofte være umulig å avgjøre.

Det er grunn til å tro at kunder stort sett underbetaler de dyktigste og overbetaler de minst dyktige systemutviklerne.

Dette vil kun endre seg når kundene er i bedre stand til evaluere og verdsette de enorme forskjellene i dyktighet. Antar man at leverandøren stort sett vet mer om dyktigheten til utviklerne enn det du vet, er trolig det minst lure man gjør som kunde å presse ned prisen slik at leverandøren bruker flere av de middels og færre av de virkelig dyktige utviklerne på akkurat ditt prosjekt.