Het keerpunt
Elk softwareproduct komt vroeg of laat op een punt waarop de code het bedrijf meer in de weg zit dan dat het helpt. Nieuwe features kosten weken in plaats van dagen. Pagina's laden traag. Het team durft niks meer aan te raken uit angst iets anders te breken. Factua zat op zo'n punt.
De situatie
Factua verzorgt de facturatie en incasso voor MKB'ers, ZZP'ers, financieel dienstverleners en verenigingen. Het platform doet functioneel wat het moet doen, klanten werken er dagelijks mee. Maar de interface voelde gedateerd en de codebase eronder was in de loop van ruim tien jaar zo dichtgeslibd dat uitbreiden bijna niet meer ging. Een interne designer had al een nieuw ontwerp gemaakt. Mooi, modern, klaar voor gebruik.
Factua valt onder de CAK Groep, samen met de verzekeraars Promovendum, Academica en Besured. De ontwikkelcapaciteit binnen de groep wordt bewust ingezet op die verzekeringsproducten, de core business. Voor een meerjarig moderniseringstraject op Factua zochten ze daarom een externe partner. Eentje waarvan ze wisten hoe die werkt, hoe die autonomie inzet om de juiste technische keuzes te maken voor de lange termijn, en die niet bij elk zijpad om sturing hoeft te vragen.
Waar het ingewikkeld werd
Het systeem is zo'n tien tot vijftien jaar geleden opgezet en daarna jarenlang uitgebreid. Veel van die uitbreidingen zijn onder tijdsdruk toegevoegd, met oplossingen die op dat moment werkten maar die de structuur niet sterker maakten. Eenmaal zo gegroeid werd er op diezelfde oude technieken verder gebouwd, in plaats van te vernieuwen. Het resultaat was een codebase die complex was op plekken waar dat niet hoefde, en waarin één wijziging op drie andere plekken effect kon hebben.
Daarbij was de kennis over hoe het systeem precies in elkaar zat in de loop der jaren versnipperd geraakt, wat vaker gebeurt bij software die lang meegaat. Dat betekende dat wij een deel van het voorwerk zelf moesten doen: onderzoeken hoe schermen werkten, uitvogelen waarom bepaald gedrag er zat, en op basis daarvan bepalen hoe het in de nieuwe opzet zou moeten werken. Een soort archeologie, waarin we de ruimte kregen om die keuzes zelf te maken, mits goed onderbouwd. Hun eigen developers reviewden vervolgens ons werk.
Hoe we het hebben aangepakt
We hadden het hele systeem in één klap kunnen vervangen. Dat doen we bewust niet. Het platform staat in productie, klanten rekenen erop, en de functionaliteit zelf is prima. Wat moest veranderen was wat de gebruiker ziet en de structuur die daaronder lag. We hebben scherm voor scherm gewerkt: eerst begrijpen wat er stond, dan het nieuwe design inbouwen, en tegelijk de onderlaag ordenen op een manier die uitbreiden in de toekomst mogelijk maakt.
Omdat vooraf niet precies te voorspellen was wat we onderweg tegen zouden komen, was er ook geen vaste scope afgesproken. Dat werkte voor beide kanten: wij konden dingen oplossen die we tegenkwamen in plaats van eromheen te werken, en Factua kreeg een product dat daadwerkelijk klaar was voor de toekomst.
Het platform staat op dit moment in de testfase en wordt in stappen klaargemaakt voor livegang.
Wat het Factua oplevert
Het belangrijkste resultaat is dat Factua weer vooruit kan met het product. Features die op de oude codebase niet meer haalbaar waren, staan nu op de roadmap. De doorontwikkeling van die nieuwe functionaliteit doen wij ook, zodat het Factua-team er geen capaciteit op hoeft te zetten en de rest van de groep zich op de verzekeringsproducten kan blijven richten. Wat begon als een modernisering is daarmee uitgegroeid tot een langere samenwerking waarin wij het technisch partnerschap rond het product invullen.