Du siger teknisk gæld, men hvad mener du egentlig?

Teknisk gæld, 20. juni 2023

Teknisk gæld, 20. juni 2023

Har du brug for en indflyvning til begrebet ‘teknisk gæld’, så foreslår jeg, at du læser det første blogindlæg. Her gennemgår jeg begrebet, samt fordele og ulemper ved at introducere teknisk gæld.

Ingen universel definition

Teknisk gæld kan nemt gå hen og blive et lidt diffust og uhåndgribeligt begreb. Det skyldes blandt andet, at der ikke eksisterer en universel definition, og fordi brugen af begrebet har været i rivende udvikling, siden Cunningham introducerede det i 1992. Derfor er det svært at vide, hvad folk egentlig mener, når de siger ‘teknisk gæld’. Vi mangler simpelthen et ordforråd, der kan nuancere og konkretisere begrebet.

Tre bud på kategorisering af teknisk gæld

Som så meget andet kan det være svært at finde én løsning, der dækker alles behov. Så i stedet vil jeg introducere tre kategoriseringer: (1) Fowlers kvadrant, (2) Magnusson og Bygstads typologi og (3) Rios’ opsummering af teknisk gæld typer. Kategoriseringerne kan danne rammerne for at konkretisere teknisk gæld, således at det er nemmere at diskutere problematikker og dele erfaringer.

1. Fowlers kvadrant

Martin Fowler præsenterede i 2009 på sin blog en kvadrant, der inddeler teknisk gæld i fire kategorier. Den er kendt som ‘Fowlers kvadrant’. Kvadranten giver en god grundlæggende forståelse af, hvordan teknisk gæld kan opstå på trods af forskellige tilgange til it-udvikling. Grundlæggende kan man dele teknisk gæld op i den gæld, man er bevidst om, at man skaber (deliberate), og den tekniske gæld man ubevidst får skabt (inadvertent). Derudover kan man have to forskellige tilgange: den hensynsløse (reckless) og den forsvarlige (prudent).

Den første kvadrant beskriver situationen, når man bevidst træffer en beslutning om at skabe teknisk gæld for at spare på tid eller ressourcer. Den anden kvadrant adskiller sig ved, at man er opmærksom på at skulle håndtere konsekvenserne af den tekniske gæld, man har optaget. Den tredje kvadrant beskriver den uvidenhed, man kan have, når man udvikler it. Den fjerde kvadrant er, når man reflekterer over, hvordan en bedre løsning kunne have været. 

2. Magnusson og Bygstads typologi

I den anden kategorisering har forfatterne (Magnusson og Bygstad, 2014) valgt at brede gældsbegrebet lidt ud og introducerer dermed teknologisk gæld. De definerer teknologisk gæld som den akkumulerede forpligtelse, som den nuværende CIO (skyldneren) har over for den fremtidige CIO (kreditor). Her begrænser tidligere beslutninger kommende beslutninger og kan dermed låse den kommende CIO’s handlingsmuligheder.

Magnusson og Bygstads kategorisering tydeliggør også de gældsaspekter, der kan opstå i andre områder af organisationen. Forfatterne deler områderne ind i: (1) organisation, (2) brugere og (3) teknologi, hvor hvert område har flere underområder. For hvert underområde forklarer de faktorer, der kan forårsage en form for teknisk gæld. 

Jeg har med afsæt i typologien skitseret ’best practice’ for at skabe mest mulig mobilitet for en it-afdeling. For at undgå teknologisk gæld skal man sikre: De rette kompetencer; et godt arbejdsmiljø; en god brugertilfredshed; et godt ry overfor brugerne; en god infrastruktur; centraliseret it-udvikling og styring; minimal teknisk gæld og en ledelsesstil, der giver anledning til innovation.

Tabel Magnusson og Bygstad, 2014

3. Rios’ opsummering af teknisk gæld typer

Skaberne af den tredje kategorisering lavede i 2018 et grundigt studie af den eksisterende teknisk gæld-litteratur. De fandt 15 typer af teknisk gæld, som de præsenterer i en tabel med definition og en beskrivelse af, i hvilke situationer gælden kan opstå. Således er tabellen en oversigt over konkrete typer af teknisk gæld.

Kategoriseringen tydeliggør, hvor i udviklingsprocessen den tekniske gæld eksisterer – eller kan opstå. Størstedelen af typerne er ‘tekniske’, eksempelvis: Kode gæld; test automatisering gæld og ‘build’ gæld. Oversigten indeholder også ‘blødere’ problematikker såsom: Sen allokering af de rette mennesker; mangelfuld dokumentation samt processer der er omstændige og bør automatiseres.

Rios' opsummering af teknisk gæld typer

Refleksion over brugen af disse kategoriseringer

Hver især kan de tre kategoriseringer noget forskelligt. Derfor må man vurdere ens udgangspunkt og behov, for hvem det er, der skal tale sammen. Hvad er deres forudsætninger? Og hvad ønsker man at få ud af at benytte kategoriseringen? Kategoriseringerne tilbyder nogle forskellige rammer, som man kan tage afsæt i, når man diskuterer eller arbejder med teknisk gæld.

Fowlers kvadrant

Fowlers kvadrant giver en god indsigt i forskellige tilgange til at skabe teknisk gæld. Dermed er den særligt velegnet som et værktøj til at reflektere over ens (teamets, afdelingens, organisationens, ledelsens eller ens egen) tilgang, og hvilke konsekvenser det har for organisationens tekniske gæld. Vær opmærksom på, at ens tilgang kan variere alt efter hvilken ‘type’ teknisk gæld, der er tale om. Kvadranten er brugbar til at forklare og udfolde teknisk gæld uanset ens tekniske niveau. Den opstiller nogle gode rammer for at diskutere teknisk gæld-situationen. Man kan også bruge den som udgangspunkt til at tale om, hvilke handlinger og beslutninger, der skal til for at rykke sig til en (måske) mere hensigtsmæssig tilgang til teknisk gæld.

Magnusson og Bygstad

Magnusson og Bygstad introducerer teknologisk gæld, som beskæftiger sig med kreditor/debitor-delen af gælds-metaforen. Deres typologi synliggør, hvordan teknisk gæld optræder i flere områder af organisationen og bidrager til et holistisk billede af gælden. Min opsummering af typologien førte til en ‘best practice’ for eksempelvis ledere. Men typologien peger også på, hvordan ikke-direkte kode-relaterede faktorer påvirker mulighederne for den fremtidige it-udvikling. Dermed bliver gælden sat i et større perspektiv, der netop rækker ud over det enkelte team. Således er typologien særlig hensigtsmæssig til at identificere og differentiere teknisk gæld i forskellige dele af organisationen.

Rios’kategorisering

Rios’ kategoriseringgiver en god oversigt af 15 forskellige typer teknisk gæld af varierende teknisk karakter. Oversigten er ikke kun relevant for softwareudvikleren, den henvender sig til alle med interesse for organisationens it. Den kan bruges som et værktøj til at bryde teknisk gæld-begrebet ned til den konkrete problematik, eksempelvis når man taler om forskellige teknisk gæld-opgaver. Helt konkret kan man inkorporere typerne som mærkater, man sætter på identificerede teknisk gæld-opgaver. På den måde kan man få et overblik over de forskellige typer af teknisk gæld, der eksisterer i backloggen og vide, hvor man bør sætte ind med øget fokus.

Og hvad nu?

Teknisk gæld-begrebet har forskellige betydninger og refererer til nogle problemer, der linker til hver sin del af teknologisk udvikling og/eller organisationen. Da teknisk gæld påvirker og er påvirket af forskellige dele af organisationen, er det vigtigt, at man går skridtet videre ved at konkretisere og diskutere teknisk gæld-problematikkerne. Ved at konkretisere de enkelte teknisk gæld-problematikker, øger man også muligheden for at kunne adressere den og identificere gennemgående udfordringer.

Kilder

1. Fowler, M., technical debt quadrant

2. Magnusson, J., Juiz, C., Gómez, B., & Bermejo, B. (2018, May). Governing technology debt: beyond technical debt. In Proceedings of the 2018 International Conference on Technical Debt (pp. 76-84).

3. Magnusson, J., & Bygstad, B. (2014). Technology debt: Toward a new theory of technology heritage.

4. Rios, N., de Mendonça Neto, M. G., & Spínola, R. O. (2018). A tertiary study on technical debt: Types, management strategies, research trends, and base information for practitioners. Information and Software Technology, 102, 117-145.

https://nine.dk/wp-content/uploads/2023/04/headshot.png

Blogpost skrevet af

Mille Kjærsgaard Hansen

Mille Kjærsgaard Hansen er forretningsanalytiker i Nine. Hun har en Ph.d. i styring af teknisk gæld i den offentlige sektor og har tidligere arbejdet i Erhvervsstyrelsen som applikation manager og projektleder.

Mille deler glædeligt ud af sin viden om teknisk gæld både gennem blogposts, oplæg og workshops. Derudover formidler hun sin viden til alle niveauer i organisationen, fra topledelse til udvikler. Mille er løsningsorienteret; hun formår at analysere komplekse problemstillinger, konkretisere dem og således finde de gode løsninger.