Wanneer je jaren geleden een applicatie hebt ontwikkeld, kan deze inmiddels verouderd zijn als er niet voldoende onderhoud is gedaan. Of qua gebruiksgemak voldoet de software niet meer aan de verwachtingen van de gebruikers en is de app visueel niet erg aantrekkelijk meer.
Andere zaken die vaak ontbreken in oudere software zijn mogelijkheden om op een geautomatiseerde wijze met klantsystemen of leveranciers te communiceren en daarnaast kunnen performance-problemen of security issues zich voordoen. Maar hoe weet je of de verouderde applicatie nog gemoderniseerd kan worden? En wanneer is dit verstandig?
Bepaal de staat van de software
Net zoals niet ieder verouderd huis in aanmerking komt voor renovatie, zo komt niet iedere bedrijfskritische applicatie in aanmerking voor modernisatie. Technisch gezien moet de fundering op orde zijn en de omvang van het gemoderniseerde huis kunnen dragen. Het is niet zinvol slechts nieuwe kozijnen te plaatsen als het huis na een jaar nog verder scheefgezakt is of als het raam ernaast altijd openstaat waardoor inbrekers zo naar binnen stappen.
Broncode- en datakwaliteit
De staat van jouw bedrijfskritische applicatie wordt voor een belangrijk deel bepaald door de broncode- en datakwaliteit. Deze kwaliteit bepaalt voor een groot deel de keuzemogelijkheden tussen renovatie en nieuwbouw.
Zit de structuur van de database goed in elkaar, dan biedt dat goede mogelijkheden om de applicatie gedeeltelijk of stapsgewijs te moderniseren zonder tijdrovende en foutgevoelige datamigratie en implementatieprojecten. Maar ook bij keuze voor nieuwbouw zijn er nog mogelijkheden om kwalitatief goede onderdelen uit de software over te nemen.
Nieuwbouw of modernisatie van de software
Hoe komen we nu tot een gefundeerde onderbouwing voor de keuze die gemaakt moet worden tussen volledige herbouw (nieuwbouw) en gedeeltelijke stapsgewijze herbouw (modernisatie)?
De keuze voor een volledige herbouw moet namelijk niet lichtzinnig worden opgenomen. Over het algemeen kan gesteld worden dat de daadwerkelijke kosten voor volledige herbouw een factor drie hoger liggen dan vooraf ingeschat, enerzijds doordat er op het bestaande platform doorontwikkeld wordt en anderzijds doordat de bestaande software vaak veel verborgen functionaliteit bevat die niet in de scope van de nieuwe software begroot was, maar later wel noodzakelijk blijkt. De onderstaande grafiek geeft dit grafisch weer.
Een andere belangrijke factor die van invloed is op de keuze tussen volledige herbouw en modernisatie is de mogelijkheid om bij volledige herbouw voor een gewijzigde scope te kiezen. Waarbij bestaande functionaliteit van de applicatie niet wordt meegenomen en nieuwe functionaliteit wel wordt gebouwd. Denk hierbij ook aan functionaliteit voor bepaalde handmatige werkzaamheden in de applicatie die tegenwoordig eenvoudig vervangen worden door geautomatiseerde taken met behulp van AI en machine learning.
Aan de andere kant van het spectrum ligt de ontwikkelsnelheid van nieuwe functionaliteit over het algemeen hoger in een moderner platform dan in een bestaande legacy codebase.
Hoe bepalen we de kwaliteit van de software?
Bij het bouwen van software begin je gewoonlijk in elegante, losse blokken code die goed van elkaar gescheiden zijn. Na verloop van tijd komen er nieuwe of gewijzigde wensen en wordt een applicatie doorontwikkeld. Meerdere mensen werken aan hetzelfde product en in een periode van onachtzaamheid verdwijnt de structuur langzamerhand en wordt de software één grote brei aan spaghetti.
In onze analysefase zullen we dit soort spaghetti snel herkennen, maar vinden wij ook de waardevolle en bruikbare gehaktballetjes. In een volgende blogpost geven we je graag meer inzicht in hoe wij dit analyseproces voor jou kunnen uitvoeren.
Pragmatische aanpak
We brengen daarom eerst jouw softwareomgeving in kaart, bepalen de kwaliteit ervan en lopen gezamenlijk de applicaties door. Daarnaast stellen we de wensen, knelpunten en de verbetermogelijkheden vast. Met de opgedane inzichten zorgen we vervolgens voor een onafhankelijke business-analyse en leveren we een goed onderbouwd advies voor renovatie, herbouw of een combinatie van beide. Dit advies bevat tevens een plan van aanpak en offerte. Inclusief een eerste ontwerp dat een inkijk geeft in hoe de oude software er in een moderne look-and-feel er uit zou gaan zien.
Aan de slag met jouw software
Heb jij een bedrijfskritisch softwareproduct in gebruik en lopen je medewerkers of klanten tegen problemen aan? Of ben je bezig bestaande software te vervangen? Dan is het tijd om je af te vragen of je wel echt een compleet nieuw product nodig hebt of dat software moderniseren een optie kan zijn. Heb je vragen over jouw bedrijfskritische softwareproduct? Wij helpen je graag met dit vraagstuk!