Hvis du har vært i programvareindustrien i en periode, er sjansen stor for at du har hørt begrepet "teknisk gjeld". Alle har noen form for gjeld, og det er ikke annerledes i teknologiverden.
Hva er teknisk gjeld, hvordan oppstår det, og hva - om noe – bør du gjøre med det?
Teknisk gjeld handler i stor grad om fremtidige ekstrakostnader eller merarbeid innen programvareutvikling som kommer av å velge lettvinte kortsiktige løsninger i stedet for gode og langsiktig.
Teknisk gjeld defineres gjerne som gapet mellom best mulig teknisk løsning og nåværende løsning. Teknisk gjeld er en samlebetegnelse på alt som er uferdige eller unødvendig kompliserte og utdaterte oppsett og koder i løsningene, som igjen vil hindre eller forsinke bedriften i å drifte og videreutvikle så effektivt som mulig.
Kort sagt:
Teknisk gjeld er programmering og koding du må gjøre i morgen fordi du tok en snarvei for å levere programvaren i dag.
Noen ganger når du prøver å definere betydningen av et begrep, kan det være nyttig å forstå hva det ikke er.
Derfor; rot er ikke en teknisk gjeld. Rot er bare nettopp det, det er rot.
Beslutningen om å jobbe slik at det opparbeides teknisk gjeld baseres på reelle prosjektbegrensninger. De innebærer vurderinger og risiko, men kan være ugunstige i et lengre perspektiv.
Beslutningen om å rote det til er aldri en rasjonell beslutning. Det er alltid basert på latskap og mangel på profesjonalisme, og vil ikke lønne seg på lang sikt. Rot må derfor skilles fra begrepet teknisk gjeld.
Utviklingsavdelingen må stadig velge mellom å utvikle en perfekt designet app, programvare, system el.l, mot det å skrive en kode og levere en løsning som er god nok. Ren, godt utformet kode gjør det lettere å implementere fremtidige endringer og justeringer.
Tøffe tidsfrister og begrensede ressurser i en bedrift hindrer ofte utviklere i å bruke nok tid til å levere «perfekt».
Les også: Hva er forskjellen mellom å rekruttere eksterne ansatte og outsourcing til lavkostland?
Det er her teknisk gjeld kommer på banen: å levere «perfekte» produkter, vurdert opp mot å lansere ferdige produkter på markedet innen tøffe tidsfrister. Teknisk gjeld oppstår når utviklerteamet velger å ta snarveier når de skriver kode, slik at de oppnår målet raskere. Da gjør de dette på bekostning av at det senere vil bli noe vanskeligere å vedlikeholde koden.
Noen ganger kan du velge teknisk gjeld av strategiske årsaker.
Det er flere grunner til at utviklere kan velge (eller få beskjed om å bruke) den enkle løsningen i stedet for den beste når de koder.
Dette er grunnen til at teknisk gjeld ikke nødvendigvis er dårlig.
Faktisk har de fleste, om ikke alle utviklingsteam, en viss grad av teknisk gjeld.
Les også: Bruker du for mye tid på å søke etter utviklere?
Enkelt sagt, teknisk gjeld er verken bra eller dårlig, det er gjeld. Det er flere elementer som spiller inn når du skal vurdere om den tekniske gjelden dere har er under kontroll eller ikke. På lik linje som med økonomisk gjeld kan det føre til alvorlige problemer hvis du mister kontroll, og ikke betaler tilbake.
Noen ganger kan teknisk gjeld være nødvendig innen programvareutvikling.
Det trenger ikke være en dårlig ting. Det kan ikke alltid unngås, og du bør heller ikke alltid unngå det.
"Du bør vite hva «kostnaden» sannsynligvis vil være, hva som
kreves for å rette det, og når du har tenkt å betale tilbake."
Hvis du velger å ta opp et teknisk lån, må du ha oversikt over hva det er, hvorfor du har det, og viktigst av alt; når og hvordan du planlegger å betale det. Da er ikke teknisk gjeld lenger et problem.