Teknisk skuld är en någon abstrakt term och syftar på det arbete som måste göras för att “städa upp” efter tidigare bristfälligt utvecklingsarbete. Man får helt enkelt betala tillbaka för tidigare felprioriteringar eller mindre bra val.
Orsaken till teknisk skuld är ofta ogenomtänkta eller alltför snabba beslut, men det kan också uppstå på grund av att man en gång i tiden helt enkelt valde den enkla vägen – trots att den inte var den bästa. Lösningen fungerar då ofta till en början, men blir i framtiden svår att underhålla och skala. Man tvingas lägga ner extra arbete på mjukvaran när den tekniska skulden måste betalas av – vilket gör att en kostnad uppstår. Man får städa upp och ta konsekvenserna av de genvägar som tagits.
Förklarat i en mening är teknisk skuld det framtida extra arbete som uppstår när en snabb och enkel lösning väljs framför hållbarhet och kvalitet.
Teknisk skuld uppstår när beslut tas alltför snabbt på bekostnad av långsiktig kvalitet. Det kan vara ett resultat av bristfälligt utvecklingsarbete men oftast har det sin grund i utmanande omständigheter, otillräcklig planering och framtvingade kompromisser. Låt oss gå igenom några situationer där teknisk skuld kan uppstå.
Ska ni ta fram en mjukvarulösning är det viktigt att sätta upp tydliga ramar för vad som ingår i projektet. Annars är det lätt hänt att man under projektets gång börjar addera mer och mer vilket försvårar utvecklingsarbetet.
Om en lösning ska tas fram under tidspress kan det resultera i att man tar genvägar som för stunden fungerar bra men som i framtiden kan få negativa konsekvenser.
Upprepade ändringar och omprioriteringar i projektet leder ofta till utmaningar i utvecklingsarbetet och kan resultera i att saker måste göras på ett suboptimalt sätt.
När lösningen är implementerad är det viktigt att förstå vikten av regelbundet underhåll av den. Ni kommer till slut nå en punkt när ni måste se över mjukvaran och väl där kan det bli ett onödigt stort jobb om ni låtit för mycket tid passera.
En teknisk lösning berör sällan bara en avdelning i verksamheten och det är därför viktigt att alla berörda parter är inblandade i projektet redan från början. Ni måste ha en rak kommunikation och prata samma språk för att skapa de bästa förutsättningarna för er själva. Annars resulterar det nästan alltid i scope creep då ni kommer vilja tillföra funktioner efterhand som folk sätter sig in i projektet.
Teknisk skuld uppstår sällan vid enstaka tillfällen under utvecklingsarbetet utan byggs upp under ett antal, ibland nästintill osynliga tillfällen. Skulden uppstår därmed inte bara, utan får även möjlighet att växa och gro innan någon tar tag i den. För att inte öka på skulden alltför mycket är det därför viktigt att hålla koll på mjukvaran och regelbundet utföra underhåll, men också att aktivt arbeta med förbättringar. Annars riskerar kodbasen att bli rörig och det kan därmed bli svårt att lägga till nya funktioner när det väl behövs.
Att helt undvika teknisk skuld kan vara svårt, speciellt när det rör sig om stora, komplexa projekt som sträcker sig över lång tid, men det viktigaste är att alla inblandade arbetar tillsammans för att minimera den. Det första steget är att vara medveten om hur skulden uppstår och att grunden till den oftast läggs redan i planeringsstadiet. Det är därför av yttersta vikt att ni noggrant planerar ert mjukvaruprojekt och från början prioriterar rätt. Ha en tät dialog med ert utvecklingsteam och försök att inte stressa med den här typen av projekt – lösningen ni tar fram kommer vara värd tiden ni lagt ner på den.
Block QuoteTillbaka