Blog

Agile of niet, maar hoe ga jij om met technical debt?

Geplaatst op 20/01/2021

Door: Nico van Mourik, Consultant bij ViQiT

Ken je dat gevoel? Dat gevoel van: daar had ik beter iets meer tijd en aandacht aan kunnen besteden?

Voorbeeld: ik klus graag zelf en meestal hebben we een flinke ‘backlog’ aan op te pakken klussen. Snel even een inbouwkast maken en dan gelijk die deur eruit en een mooie boog maken voor meer licht en een open gevoel. Zo gepiept, twee weekenden en een item van de lijst gestreept! Jij en je partner blij. Totdat blijkt dat je toch beter iets meer tijd had kunnen nemen om het wat handiger en gebruiksbestendiger te maken. Deze klussen komen dan vervolgens weer op de lijst. Het probleem is dat deze relatief weinig zichtbaar nut opleveren. En vaak heel veel tijd kost in verhouding tot die klussen waar je iets nieuws kunt maken.

Agile probleem?

Dit fenomeen is voor veel mensen die in agile omgevingen werken niet geheel onbekend. Ook wel technical debt genoemd. Snel opleveren van een ‘gereed’ product kan leiden tot technische shortcuts die op langere termijn problemen opleveren. De druk om snel waarde toe te voegen voor je klanten is dan groter dan om de gehele samenhang te bewaren.

Minder bekend is dat veel technical debt wordt veroorzaakt door zogenaamde ‘process debt’ en ‘social debt’. Door de keuzes in de werkprocessen van de teams en de gehele organisatie, zijn deze processen niet altijd optimaal (= process debt). De cultuur binnen een team, een te verregaande  autonomie van de teams en de samenwerking tussen teams kan leiden tot keuzes in de oplossing die niet optimaal zijn of ronduit slecht (=social debt).

Doet dit probleem zich alleen voor bij organisaties die agile werken? Naar mijn mening niet. Alles heeft onderhoud nodig. De processen en cultuur van een organisatie dus ook. De ‘debt’ ontstaat bij alle vormen van organisatie. In de agile benadering wordt de technical debt regelmatig benoemd. Maar helaas blijft het daar ook vaak bij. Bij niet-agile werkende organisaties hoopt de ‘debt’ zich langzamerhand op voordat het zichtbaar is. Maar geloof me: debt is een risico voor iedere organisatie.

Het gevolg

Met name de elementen met de meeste impact op (middel)lange termijn worden vaak over het hoofd gezien. De interesse ligt op ‘de weg vooruit’. Nieuwe producten, nieuwe diensten leveren meer attentie van klanten en potentieel meer omzet op. Wanneer die omzet inzakt, dan wordt er een nieuw product of nieuwe feature op de markt gezet. De problemen komen vaak na verloop van tijd:

  • De bestaande producten/diensten leveren steeds meer problemen en klachten op;
  • Dit proces versnelt: nieuwe producten/diensten leveren steeds sneller problemen op;
  • De kosten voor issue management (ook wel: brandjes blussen) worden steeds hoger;
  • De kosten om een nieuw product/dienst in de markt te zetten worden steeds hoger;
  • De leadtimes voor nieuwe producten/diensten worden ook steeds langer: de concurrenten zijn je steeds voor;
  • Het aantal klachten trekt de aandacht van de pers, je komt negatief naar voren in de markt vergelijkingen

Dan hebben we het alleen nog maar over de ‘hard’ zakelijke elementen. Maar wat dacht je van ontevreden medewerkers en een slechte reputatie op recruitment gebied? Die komen net zo hard aan.

De oplossing wordt vaak gezocht in een compleet nieuwe organisatie inrichting of architectuur. Maar de basis blijft de cultuur en ingesleten werkwijzen. Deze veranderen niet of onvoldoende in een dergelijk traject. Zo start de cirkel weer opnieuw.

En nu?

Herken je als lezer een aantal elementen? Je vraagt je wellicht af in welk deel van deze vicieuze cirkel jullie zitten. Nog belangrijker: hoe doorbreek je deze?

De eerste stap is het erkennen dat deze cirkel er is en de grote revisie bij het vuilnis te zetten.

Het vervolg is het allerbelangrijkste: goed inzicht krijgen. Zorg dat je een volledig beeld hebt van de omvang van de drie soorten ‘debt’. Met name de relaties tussen technical debt, process debt en social debt  zijn cruciaal. De eerste reflex is vaak om direct een oplossing voor een aantal elementen van de technical debt aan te pakken. Deze is vaak tastbaarder dan de andere vormen en dat geeft een goed gevoel. Maar een belangrijke oorzaak van deze technical debt is in veel gevallen ook de process debt en social debt. Je kunt deze dus niet negeren.

De volgende stap is je richten op pragmatische oplossingen. Dit is iets anders dan ‘kort door de bocht’ oplossingen! Kijk naar je analyse en richt je daarbij vooral op de relaties. Kun je door social debt en process debt af te lossen, toekomstige problemen voorkomen? Pak deze dan op. Een voorbeeld in agile werkende organisaties is de retrospective van de teams. Bij veel organisaties onderbelicht deel van het proces. Zeg eens eerlijk: hoeveel verbeteringen van de werkwijze staan er bij jullie op de backlog deze sprint?

Ben je dan klaar? Nee, absoluut niet. Maar deze blog wordt veel te lang, dus in een vervolg wil ik graag verder gaan over dit onderwerp. Hebben jullie een goede manier gevonden om hiermee om te gaan? Laat het me dan weten, ik ben zeer geïnteresseerd in praktische oplossingen!

Voor degenen die zich afvragen hoe de verbouwing thuis is uitgepakt: de frustratie puntjes zijn benoemd en hebben helaas weer een weg gevonden naar de ‘klus backlog’ bij ons gezin. Frustrerend? Sommige dingen wel, maar door de snelle aanpak hebben we ook de frustratie over het gebrek aan toegankelijke bergruimte op kunnen lossen. Daar zijn we nu al een tijdje heel blij mee. Het blijft altijd een afweging tussen prioriteiten. Maar we hebben wel geleerd om vooraf na te denken over de consequenties.