Van een systeem met een UI uit 2011 naar een nieuw product in 9 weken
Een intern marktdatasysteem van 237.000 regels, gebouwd op UI-componenten die 14 jaar achterliepen, herschreven als nieuw product. De analyse vóór de code bewees dat 65% van het oude systeem dood was — de klant betaalde alleen voor wat leefde.
- 9 weken tot een nieuw product
- 65% van de scope geschrapt na analyse
- 237.000 regels legacy-code geanalyseerd
De klant
Een internationale zeetransportonderneming waarvan het dagelijkse werk afhangt van een intern systeem voor marktdata en contracten — data-invoer, opzoekingen, Excel-import/-export, PDF-rapporten en geplande e-mailrapportages voor management en partners.
De uitdaging
Het systeem was ruim tien jaar oud: 237.000 regels code, een UI gebouwd op componenten uit 2011 die al jaren niet meer werden ondersteund, en een database van 119 tabellen vol lagen van lang vergeten functionaliteit. De licenties waren stokoud, de hosting gebonden aan verouderde infrastructuur en elke wijziging vergde archeologie.
De klassieke reflex zou zijn: "alles één-op-één herschrijven". Dat is precies wat we niet deden.
De aanpak
Volledige verkenning vóór de offerte. We haalden het oude systeem uit elkaar — en, belangrijker nog, de live database. De bevindingen spreken voor zich: ongeveer 35% van de database was vanuit de code onzichtbaar — een verborgen trigger, dode procedures die sinds 2016 niet meer werden gebruikt, 19 views die niemand leest, tabellen zonder één regel code die ernaar verwijst.
Schrappen vóór bouwen. De analyse werd een checklistgesprek met de klant: wat hiervan gebruikt u daadwerkelijk? Het antwoord — ongeveer een derde. 65% van het systeem werd in onderling overleg geschrapt nog vóór de eerste regel nieuwe code. De klant betaalde niet om dood gewicht te porteren.
Pariteit verifiëren, geen onderbuikgevoel. Echte data uit het oude systeem werd geïmporteerd voor een vergelijking rij voor rij, en een onafhankelijke audit legde het nieuwe systeem feature voor feature naast het oude — bevestigde verschillen gingen in een plan, niet in verrassingen na livegang. Twee tussenreleases doorliepen feedback van de echte gebruikers.
Een modern fundament zonder oude ketenen. Het nieuwe systeem draait op .NET 10 met licentievrije UI-componenten, geautomatiseerde achtergrondtaken, PDF- en Excel-rapporten en een audittrail op elke actie. Het oude systeem bleef gedurende de hele overgang ongemoeid doordraaien.
Het resultaat
- Een nieuw, apart gebrand product in circa 9 weken — inclusief twee rondes klantfeedback en een afsluitende hardening-fase.
- De klant betaalde voor ~35% van het oude systeem — het levende deel; de rest werd aantoonbaar dood verklaard en bleef in het verleden.
- Geen licentiekosten meer voor UI-componenten; een moderne uitstraling die gebruikers omarmden zonder hun gewoontes te verliezen.
- Een gedocumenteerde analyse die bij de klant blijft — de kaart van het systeem bestaat nu, en de volgende wijziging begint niet met archeologie.
De waardevolste regel code is vaak de regel die je niet schrijft: een derde van de projectprijs werd bespaard omdat we eerst bewezen wat dood was.
Technologie
.NET 10 · ASP.NET Core MVC · EF Core 9 · MariaDB · Quartz.NET