Lettvinte og kortsiktige løsninger kan være fristende når koden nærmer seg klar for produksjonssetting og det skrikes etter ny funksjonalitet. Men selv de mest disiplinerte kan bli sittende med dyr teknisk gjeld når arkitekturen modnes, integrasjoner kommer til, og man oppdager at man burde, skulle, kunne ha gjort ting litt annerledes helt fra start.
Som med annen gjeld, kommer det gjerne renter på toppen. Systemet blir unødvendig komplisert, og kan bli både dyrt og vanskelig å forvalte og videreutvikle.
I en artikkel først publisert i Journal of Systems and Software, har forskere fra Oslo og Gøteborg vist at teknisk gjeld forårsaker overdreven sløsing med arbeidstid og hindrer utviklere i å gjøre en god jobb.
– Utviklere kaster i gjennomsnitt bort 23 prosent av tiden sin på grunn av teknisk gjeld, og blir ofte tvunget til å introdusere ny teknisk gjeld, skriver forskerne i artikkelen.
Kjenner du deg ikke igjen?
– Hvor mye tid som sløses varierer for utviklerne, men for teamet er tallet konsistent. Det betyr at det ofte er noen som tar en for laget, skriver PHD-student Leif Knudsen ved Edos i et nyhetsbrev om artikkelen.
Denne KI-modellen kan bruke PC-en din helt på egen hånd
Ekstra kodeanalyse og testing
Den tekniske gjelden tvinger utviklere til å gjennomføre oppgaver som ellers ville vært overflødige.
Tiden går med på ekstra testing, kildekode-analyse, og på refaktorering av koden, skriver forskerne. Men utviklerne brukte også ekstra tid på å finne workarounds og å lete etter dokumentasjon.
Teknisk gjeld fører til mer teknisk gjeld
I så mye som en fjerdedel av tilfellene med teknisk gjeld, ble utviklerne tvunget til å introdusere ny teknisk gjeld på grunn av tidspress.
Det skjer når ny kode må skrives som workaround rundt gammel kode, eller utvikleren innfører nye vedlikeholdsbehov i et forsøk på å fikse gammel kode.
Ikke overraskende er det programvarens alder som står for de største variasjonene. Utviklere som jobber med programvare som var mellom fem og ti år gammel, kastet bort rundt 15 prosent av tiden sin på teknisk gjeld. Utviklere som jobbet på programvare som var mer enn 20 år gammel, sløste bort over halvparten av tiden sin, hele 55,3 prosent på teknisk gjeld.
Utviklere mer klar over problemet enn ledere
Telenor: Gjør avansert dataanalyse tilgjengelig for flere
Utviklere er mer oppmerksomme på tiden som kastet bort enn lederne, mener forskerne.
Selv om ingen av utviklerne i undersøkelsen loggførte egen tidsbruk på teknisk gjeld, ble de ikke overrasket da de ble konfrontert med tallene fra forskerne.
Lederne derimot var til dels overrasket over tidsbruken, og syntes det var vanskeligere å akseptere tidsbruken.
Både ledere og utviklere syntes det var nyttig å vite hvor mye tid som gikk med til å håndtere teknisk gjeld, men var lite villige til å innføre loggføringsrutiner.
Kostbart
Tidligere undersøkelser har vist at så mye som 69 prosent av IT-lederne mener teknisk gjeld står i veien for innovasjon.
Teknisk gjeld er en enorm kostnad for selskaper. I gjennomsnitt bruker selskaper cirka en tredjedel av IT-budsjettet på teknisk gjeld, for større selskaper er det opptil 41 prosent.
En oppdatert backlogg, og aktiv bruk av statisk kodeanalyse er fortsatt de beste verktøyene for å holde styr på teknisk gjeld.
Men det er ingen god idé å gå inn og refaktorere all kompleks kode. Adam Tornhill anbefaler å prioritere koden som endres ofte, og la det andre ligge.
Startet av 14-åring - var blant verdens viktigste: Kroken på døra for teknologiside