Hoe ontstaat technische schuld?
Meestal met de beste bedoelingen. Er moet iets af voor een demo, dus wordt een berekening op drie plekken gekopieerd in plaats van één keer goed opgezet. Een uitzondering voor één klant wordt er even ingeplakt. Een koppeling wordt gebouwd zonder foutafhandeling, omdat het andere systeem toch nooit plat ligt.
Elke keuze afzonderlijk is te verdedigen. Opgeteld krijg je software waarin niemand meer precies weet wat er gebeurt als je ergens aan draait.
Tegenwoordig ontstaat het ook sneller dan ooit. Met vibe coding staat er in een middag een applicatie, en wie daarop blijft doorbouwen zonder naar de code te kijken, stapelt in weken een schuld op waar vroeger jaren voor nodig waren.
Hoe herken je technische schuld?
Aan de gesprekken. "Dat kan, maar dan moeten we eerst …" wordt een vaste zin. Kleine wijzigingen kosten ineens dagen. Na elke update gaat er iets anders stuk, op een plek die er niets mee te maken leek te hebben. En er is één persoon die weet hoe het zit, en iedereen is bang dat die vertrekt.
Als ondernemer zie je de code niet, maar dit soort signalen wel. Ze zijn bijna altijd een teken dat de rente hoger is geworden dan de aflossing zou kosten.
Is technische schuld altijd slecht?
Nee. Een prototype of een MVP mag schuld bevatten, want het doel is snel leren of het idee werkt. Daar perfecte code voor schrijven is zonde van de tijd.
Het gaat mis als niemand bijhoudt dat het schuld is. Als het prototype stilletjes het productiesysteem wordt, zonder dat iemand heeft besloten wat er eerst opgeruimd moet worden. Daarom zeg ik bij een snel gebouwde eerste versie altijd hardop welke keuzes tijdelijk zijn, zodat we er later bewust op terug kunnen komen.
Hoe los je technische schuld af?
In kleine stappen, naast het gewone werk. Elke keer dat je een onderdeel aanpast, laat je het iets beter achter dan je het aantrof. Grote verbouwingen waarbij alles tegelijk wordt herschreven, lopen bijna altijd uit en leveren onderweg niets op.
Wat daarbij helpt: automatische tests en CI/CD, zodat je durft op te ruimen zonder bang te zijn dat je iets anders sloopt. Hoe ik dat in een traject meeneem, staat op Applicatieontwikkeling.
Veelgestelde vragen
-
Wat is technical debt?
Het Engelse woord voor technische schuld. De term komt van softwareontwikkelaar Ward Cunningham, die de vergelijking met een lening in 1992 voor het eerst maakte.
-
Hoeveel tijd moet je besteden aan het aflossen van technische schuld?
Een vast deel van elke fase werkt beter dan af en toe een grote schoonmaak. Hoeveel precies hangt af van hoe oud en hoe ingewikkeld de software is.
-
Kun je technische schuld voorkomen?
Niet helemaal, en dat hoeft ook niet. Het gaat erom dat je het bewust aangaat en bijhoudt.
-
Is oude software altijd technische schuld?
Nee. Oude software die goed in elkaar zit en doet wat hij moet, is gewoon software. Het wordt schuld als aanpassen steeds moeilijker wordt.
Een idee dat blijft hangen? Laten we het samen uitpluizen.
Ik werk met een beperkt aantal organisaties tegelijk en stap alleen in als het écht past.
- Persoonlijk contact
- Meedenken en doorbouwen
