Teknisk gjeld, med renter

En av de største fellene mange prosjekter faller i er oppsamling av teknisk gjeld. Hver gang du velger å utsette en opprydding eller legger til en feature før du fikser en eksisterende feil, pådrar du deg en teknisk gjeld. Dette kan selvfølgelig være et bevisst valg, og er helt greit så lenge du vet hva kostnaden er.

Som all annen gjeld påløper det renter fra første dag. Jo lengre du venter, jo større kostnad ender du opp med å betale når du bestemmer deg for å rydde opp. Kode er ferskvare, for hver dag som går blir koden du valgte å ikke rydde opp i litt mindre kjent og litt mindre forståelig for de som har skrevet den. Og hvis du lar noen andre enn den originale utvikleren rydde opp blir kostnaden ennå høyere.

Det er ikke helt enkelt å velge. Tar man tak i de eksisterende problemene når de fortsatt er ferske risikerer man å havne etter skjema. Mange velger derfor å ha egne perioder for feilfiksing mellom de normale utviklingsiterasjonene. Dette er i min mening en stor feil. Du ender selvfølgelig opp med en mindre kostbar teknisk gjeld på denne måten da feilene ikke blir liggende lenge om gangen, men det er nesten umulig å estimere på forhånd hvor lang tid man trenger på opprydding og fiksing av feil.

Sett heller av litt ekstra tid på hver feature til fiksing og rydding. Antall features du fullfører i hver periode vil kanskje gå ned litt, men totalkostnaden ved en feature vil også gå ned. Det er få ting som er værre enn å vise kunden et «ferdig» produkt, og så måtte si til dem at det kan ta 2-3 måneder før du kan levere.

Teknisk gjeld er kanskje umulig å unngå til tider. Men husk alltid at du må betale den tilbake før eller senere, med renter.