Motivation for godt softwarehåndværk

Hvilken motivation er der i det hele taget for at beskæftige sig med solidt softwarehåndværk? Hvorfor ikke blot acceptere, at vi slår nogle skæverter og så komme videre ud over stepperne? Kan det betale sig at gøre sig umage? Kan vi ikke bare smide det dårlige system væk, bygge et nyt med mere tidsvarende teknologi? Kig bare tilbage på de sidste 20 år: Vi har gennemgået en eksplosiv udvikling, så det er da gået meget godt?

Lad os med det samme slå fast, at det kan betale sig lave godt håndværk, og at udviklingen vi imødeser kan blive katastrofal, hvis ikke standarderne for vores arbejde følger tilsvarende med.

Omkostningen ved at udskyde bugfixing

 

Motivation: Fejl bliver dyrere at rette hen i udviklingsfaserne

Såfremt vi ikke tænker over håndværket i at teste og reviewe tidligt risikerer vi, at fejl koster en faktor 150 mere at rette, end hvis vi havde fundet fejlen så tidligt som muligt i udviklingsforløbet.

Omkostningen ved at udvikle ikke brugbar software

 Når det går helt galt udvikler vi systemer som af den ene eller den anden grund ikke kan anvendes og derfor skrottes. Selvfølgelig har skrot også værdi - i form af erfaringer - men hvis vi ikke forstår at omforme erfaringerne på håndværksmæssig vis er det hele tabt. Umiddelbart taber kunder / skatteborgere en stor sum penge og vi som individer taber øjensynligt evnen og lysten til at lære af vores fejl.

Omkostningen ved at udvikle fejlslagen software som en del af et større hele

Der findes talrige eksempler på systemer, hvor fejl i softwaren har haft katastrofale følger. Bedst kendt er måske Mars Polar Lander modulet, som oplevede en softwarefejl i opfattelsen af afstanden til overfladen på Mars, hvorfor modulet kolliderede med for høj hastighed under landing.

 

Andre eksempler er fejl i styringssoftwaren til F-16 jagerflyet, som bevirkede at flyet vendte rundt, når det fløj over ækvator. I USA har man estimeret de årlige omkostninger som følge af software fejl til 60 mia. $

Ok, så jeg forstår, hvorfor det for NASA og på regeringsniveau kan betale sig at udvikle med stor omhu, men vi er bare en mindre virksomhed, der med vore projekter ikke stiller de samme høje krav. Så hvorfor skal vi give os af med at investere i anvendelsen af dygtige håndværkere, når vi pt. kan købe udviklere til en trediedel af prisen østpå?

Selv for mindre virksomheder kan det betale sig at udvikle med omhu, også selvom dette kan betyde en umiddelbar omkostning i forbindelse med erhvervelsen af nye færdigheder. Den egentlige omkostning i softwareudvikling er ikke de udviklingstimer, som investeres i produktet, men mere den know-how og modenhed som systemet indeholder. Dertil kommer, at der kan opnås en meget stor ROI med velkonstrueret software, hvorved udviklingsomkostningerne "vejer" relativt mindre.

Det er vigtigt at tænke sig om inden man skrotter et 10 år gammelt system, blot fordi det skal bringes op på en ny teknologisk platform. Det koster dyrt at starte helt forfra og opnå samme grad af afluset kode og viden om brugernes ønsker og arbejdsgange.

Det er derfor altafgørende at vi designer systemer, som kan opdateres over tid uden at man skal starte helt forfra. Det er ligeledes vigtigt, at udviklerne ikke blot har fået den nødvendige uddannelse, men også har gennemlevet de mange timer, der skal til for at blive en dygtig håndværker. Nyere forskning viser, at det tager ca. 10.000 timers deliberate practice at blive en dygtig håndværker.

Add comment

Loading