Bestaande software herbouwen: wanneer is het verstandig?
Herbouwen is een aantrekkelijk idee. Geen jarenlange lappendeken meer, geen omwegen, geen technologie die niemand nog kent. Een schone start.
Het is ook de duurste keuze en degene die het vaakst tegenvalt. Niet omdat opnieuw bouwen moeilijk is, maar omdat het bestaande systeem meer doet dan iemand denkt. Hieronder wanneer herbouwen verdedigbaar is, en waarom die projecten zo vaak vastlopen.
Wanneer herbouwen verdedigbaar is
De architectuur laat groei niet toe
Niet dat het systeem traag is, maar dat het principieel niet kan wat u nodig hebt. Geen gegevens naar buiten kunnen ontsluiten, niet met meerdere vestigingen kunnen werken, geen tweede gebruikersgroep aankunnen. Als dat in het fundament zit, komt u er met aanpassen niet.
De technologie wordt niet meer ondersteund en er is niemand meer
Een platform dat geen updates meer krijgt, in combinatie met een krimpende groep mensen die ermee kan werken. Dan verschuift de vraag van of naar wanneer.
Onderhouden kost meer dan opnieuw beginnen
Reken het uit over drie jaar: wat kost onderhoud, aanpassingen en het handmatige werk eromheen, tegenover wat herbouwen kost plus onderhoud van het nieuwe. Valt de eerste kolom hoger uit, dan is de rekensom gemaakt.
Het proces zelf is veranderd
Het systeem past bij hoe u tien jaar geleden werkte. Blijft u erop doorbouwen, dan bouwt u verder op een opzet die niet meer klopt.
Wanneer het geen goede reden is
Het systeem oogt verouderd maar doet zijn werk. Een gedateerde interface is hinderlijk, geen bedrijfsrisico.
Het motief is technisch in plaats van zakelijk. Ontwikkelaars bouwen liever nieuw dan dat ze zich in andermans code verdiepen; dat is menselijk en zelden een goed uitgangspunt voor een investering. Vraag altijd door: welk zakelijk probleem lost dit op.
Niemand weet nog precies wat het systeem doet. Dat is geen reden om te herbouwen, dat is een reden om het eerst uit te zoeken. Herbouwen zonder die kennis is de kortste weg naar een systeem dat de helft mist.
Waarom herbouwprojecten vastlopen
Twintig jaar aan uitzonderingen
De grootste onderschatting. Een systeem dat lang meegaat, heeft honderden kleine regels opgenomen: die ene klant met een afwijkende korting, dat product dat anders wordt geboekt, die controle die ooit is toegevoegd na een incident.
Niets daarvan staat in een specificatie. Het zit in de code en in de hoofden van mensen. En het komt pas boven wanneer het nieuwe systeem het niet doet.
Het doel beweegt
Terwijl u herbouwt, blijft het bedrijf draaien. Er komen wensen voor het oude systeem, en die worden ingebouwd omdat het nieuwe er nog niet is. Zo bouwt u een module na op basis van iets wat intussen veranderd is.
Hoe langer het traject, hoe groter dat verschil. Bij herbouwtrajecten van meer dan een jaar is dit doorgaans de belangrijkste reden dat de oplevering niet aansluit.
Kleine functies vallen weg
Een rapport dat één afdeling maandelijks gebruikt. Een exportknop waar de boekhouder op rekent. Een veld dat alleen bij een bepaald type dossier verschijnt. Elk ervan is te klein om in de scope te belanden, en groot genoeg om iemand het werk onmogelijk te maken.
Alles komt pas op het einde
Een herbouw die in één keer wordt opgeleverd, betekent dat u tot dat moment niets kunt beoordelen en niets kunt terugdraaien. En dat u dan alle problemen tegelijk krijgt.
Een werkbare aanpak
Drie maatregelen halen het grootste deel van het risico weg.
Maak eerst een inventaris van functionaliteit. Loop het systeem scherm voor scherm door met de mensen die het gebruiken, en noteer ook wat ze zelden gebruiken. Vraag expliciet naar de uitzonderingen: welke klanten of dossiers behandelt u anders, en waarom. Dat document is de basis van alles wat volgt.
Bevries het oude systeem. Spreek af dat het alleen nog fouten opgelost krijgt en geen nieuwe functionaliteit, en zet wensen op een lijst voor het nieuwe systeem. Zonder die afspraak beweegt het doel en haalt u het nooit in.
Lever gefaseerd op. Bouw onderdeel voor onderdeel, laat het naast het bestaande systeem draaien, en neem functies één voor één over. Elke fase levert iets bruikbaars, elke fase is klein genoeg om te herzien, en u ontdekt vergeten functionaliteit terwijl er nog ruimte is om ze toe te voegen.
De vraag onder de vraag
In de praktijk blijkt herbouwen vaak niet de enige uitweg. Wie doorvraagt, komt uit bij één of twee onderdelen die het werkelijke probleem vormen: de plek waar gegevens naar buiten moeten, of het proces met het meeste handwerk.
Die eruit halen en apart bouwen is goedkoper, sneller en omkeerbaar. En het levert precies de ervaring op die u nodig hebt om te beoordelen of de rest ook moet.
Wil u weten of herbouwen in uw geval verdedigbaar is? Lees hoe wij legacy-systemen gecontroleerd en gefaseerd vernieuwen.