Technische schuld — wat het is, hoe het ontstaat, en wat het je bedrijf kost
Elke nieuwe feature duurt drie keer langer dan verwacht? Developers zijn bang om bepaalde code aan te raken? Dit is wat er speelt.
Stel je voor dat je bedrijf een lening heeft afgesloten om snel te kunnen groeien. De lening heeft een hoge rente. In het begin betaal je die rente amper op — maar naarmate de schuld groeit en de rente samenkomt, wordt een steeds groter deel van je cashflow opgeslokt door het aflossen van iets wat al lang geleden is uitgegeven. Op een gegeven moment kost het meer om de schuld te beheren dan het ooit heeft opgeleverd.
Technische schuld werkt precies zo, alleen is het onzichtbaar op de balans.
Wat technische schuld is
Technische schuld is de opgebouwde last van shortcuts, tijdelijke oplossingen en suboptimale beslissingen in software die nooit zijn opgeruimd. Het is code die werkt, maar die moeilijker te begrijpen, te wijzigen en uit te breiden is dan nodig zou zijn.
Elke softwarecodebase heeft technische schuld. Het is niet per se een teken van slechte engineers of slecht management. Het is een inherent bijproduct van bouwen onder tijdsdruk, met onvolledige kennis, in een werkelijkheid die verandert.
Het wordt een probleem als de schuld te hoog oploopt en niet actief wordt beheerd.
Hoe het ontstaat — drie typen
Niet alle technische schuld is hetzelfde. Het helpt om drie categorieën te onderscheiden.
Bewust en voorzichtig. Een team kiest bewust voor een eenvoudigere oplossing om snel te kunnen shippen, wetende dat ze het later moeten verbeteren. Dit is rationeel. Een MVP heeft andere kwaliteitseisen dan software die door tienduizend bedrijven gebruikt wordt. Zolang de schuld erkend en gepland wordt terugbetaald, is dit een verstandige afweging.
Bewust en roekeloos. Het team weet dat een beslissing problematisch is, maar kiest er toch voor — niet omdat de situatie het vereist, maar omdat er geen cultuur is om kwaliteit te bewaken. "We herschrijven het later wel" zegt iedereen, maar het wordt nooit gepland. Dit is de gevaarlijkste categorie omdat het accumulatie als patroon heeft.
Onbewust. Engineers nemen beslissingen die achteraf niet goed uitpakken — niet door nalatigheid, maar door gebrek aan kennis, ervaring of context op dat moment. Technologie verandert. Een framework dat vier jaar geleden state-of-the-art was, kan nu een rem zijn. Dit is onvermijdelijk en niet iemands schuld.
De symptomen die je als CEO of CTO ziet
Technische schuld is zelden direct zichtbaar voor niet-technische leiders. Maar de effecten ervan zijn dat wel.
Elke nieuwe feature duurt langer dan verwacht. Niet een beetje langer — structureel langer. Als je team drie maanden geleden een vergelijkbare feature in twee weken bouwde en nu voor een eenvoudigere variant vier weken nodig heeft, is dat een signaal.
Bugs in één deel van het systeem veroorzaken problemen elders. Dit is het teken van wat engineers "tight coupling" noemen — onderdelen van de software die zo met elkaar verweven zijn dat een wijziging op één plek onverwachte gevolgen heeft ergens anders. Het maakt elke verandering riskant.
Nieuwe developers hebben maanden nodig om productief te zijn. Als het onboarden van een ervaren engineer drie maanden duurt, zegt dat iets over de toegankelijkheid en documentatie van de codebase. Goede code legt zichzelf grotendeels uit. Slechte code vereist mondelinge overdracht van kennis die nergens is vastgelegd.
Je team is bang om bepaalde delen van de code aan te raken. Dit is misschien het meest veelzeggende symptoom. Als engineers zeggen "dat moeten we niet aanraken" of "als we dat veranderen, weten we niet wat er kan breken", dan functioneert een deel van je systeem als een tijdbom. Je bouwt eromheen in plaats van op.
De developer-to-feature ratio daalt. Hetzelfde team levert minder op dan een jaar geleden, zonder dat er mensen weg zijn gegaan. De rente op de schuld consumeert steeds meer van de beschikbare capaciteit.
Wat het concreet kost
Stel dat je ontwikkelteam €500.000 per jaar kost (vier developers inclusief overhead). Als technische schuld 30% van hun effectieve capaciteit consumeert — een conservatieve schatting voor een codebase die vijf jaar oud is zonder structureel onderhoud — dan betaal je €150.000 per jaar voor capaciteit die wordt opgeslokt door de schuld. Capaciteit die niet levert. Capaciteit die je concurrent wél heeft omdat zijn systeem jonger of beter onderhouden is.
Dat getal staat niet op je balans. Maar het is reëel.
Hoe je ermee omgaat
De eerste eerlijke boodschap: je kunt technische schuld niet volledig elimineren. Elke levende codebase accumuleert schuld. Het doel is het beheersbaar houden — de rente laag houden zodat de schuld geen rente-op-rente-spiraal wordt.
Maak het zichtbaar. Laat je team een backlog bijhouden van bekende technische schuld. Niet om het allemaal op te lossen, maar om het te kennen. Onzichtbare schuld is het gevaarlijkst.
Reserveer structureel tijd. De meest succesvolle teams reserveren 15–20% van elke sprint voor technische verbeteringen — niet als bonus als er tijd over is, maar als vaste toewijzing. Dit is de "rente betalen" vóór dat je wacht tot je schuld zo groot is dat je een herstructurering nodig hebt.
Identificeer de hotspots. Niet alle schuld is even kostbaar. De meeste pijn zit in de code die het vaakst wordt gewijzigd. Een verouderd module dat niemand aanraakt is minder urgent dan slechte code in de kern van je systeem. Vraag je team: welke vijf bestanden worden het meest bewerkt? Dáár zit de hoogste ROI voor opruimwerk.
Soms is herschrijven het antwoord. Dit klinkt dramatisch en wordt te snel gezegd, maar soms is een gecontroleerde herschrijving van een module — niet het hele systeem — de juiste keuze. Zeker als de kosten van onderhoud de kosten van herschrijven overstijgen over een periode van twee jaar.
Wees voorzichtig met "big bang" herschrijvingen. Het volledig opnieuw bouwen van een systeem is verleidelijk als de huidige codebase een last is. Het is ook een van de riskantste beslissingen in software. Het duurt altijd langer dan gepland, de nieuwe versie heeft zijn eigen schuld, en ondertussen staat de ontwikkeling van nieuwe features stil. De betere aanpak: incrementeel verbeteren, module voor module.
Technische schuld is geen technisch probleem — het is een bedrijfsprobleem. Het beïnvloedt je snelheid, je kosten, je vermogen om te innoveren, en uiteindelijk je concurrentiepositie. De bedrijven die dit serieus nemen, behandelen het als wat het is: een investering in toekomstige capaciteit.
Benieuwd hoe jouw huidige platform er technisch voor staat? Neem contact op voor een vrijblijvend gesprek. We doen geregeld code-audits voor bedrijven die willen weten waar ze staan.
Ontwikkelaars Team
Expert team bij Ontwikkelaars