De vijf vragen die de keuze bepalen
1. Blokkeert de architectuur nieuwe functionaliteit?
Er is een verschil tussen trage ontwikkeling en geblokkeerde ontwikkeling. Als features structureel niet kunnen worden gebouwd vanwege fundamentele architectuurkeuzes, dan is dat een signaal voor herbouwen. Als features alleen traag gaan, is dat bijna altijd oplosbaar met gerichte refactoring.
2. Zijn er kritieke beveiligings- of schaalbaarheidsrisico's?
Sommige systemen draaien op verouderde infrastructuur die niet veilig te updaten is zonder de gehele architectuur aan te raken. Als je een platform hebt dat bij piekverkeer omvalt of dat fundamentele beveiligingsproblemen heeft die niet lokaal te repareren zijn, is herbouwen verdedigbaar.
3. Begrijpt het huidige team het systeem nog?
Kennis die alleen in hoofden zit is gevaarlijk, maar het kan worden gedocumenteerd en overgedragen. Als niemand meer begrijpt hoe het systeem werkt en documentatie ontbreekt volledig, dan stijgen de onderhoudskosten exponentieel. Dat is een serieuze indicator.
4. Hoe groot is het risico van verlies van bedrijfskritieke logica?
Jaren van edge cases, gebruikersfixes en bedrijfslogica zitten vaak verborgen in een bestaand systeem. Bij herbouwen verdwijnt dat. We zien dit regelmatig: een nieuw systeem dat na launch problemen introduceert die het oude systeem allang had opgelost, alleen stilletjes.
5. Wat is de tijdshorizon en de businessdruk?
Herbouwen duurt langer dan teams inschatten, altijd. Als er businessdruk is om binnen zes maanden te leveren, is een volledige rebuild bijna nooit haalbaar zonder concessies te doen aan kwaliteit. Gerichte refactoring is dan de realistischere optie.