
De kosten van applicaties en systemen blijven niet beperkt tot de ontwikkeling van de eerste versie. Op het moment dat het systeem of de applicatie in gebruik wordt genomen, start de onderhoudsfase. Vroeg of laat moet er iets worden aangepast, gecorrigeerd, uitgebreid, geoptimaliseerd, kortom: veranderd.
Veranderingen kosten geld
Uit onderzoek door Gartner naar de kosten van nieuw ontwikkelde applicaties blijkt dat jaar na jaar een bedrag ter grootte van 42 procent van de initiële ontwikkelkosten wordt besteed aan onderhoud. Als we de onderhoudskosten nader beschouwen, blijkt dat de kosten over drie categorieën zijn te verdelen. Ten eerste de verbetering van de applicatie of het toevoegen van nieuwe functionaliteit. Ten tweede het reguliere onderhoud van de applicatie. Hieronder valt het oplossen van softwarefouten en bugs. Ten derde alle operationele uitgaven, zoals de helpdeskkosten en upgrades van besturingssystemen en opslagomgevingen. Naarmate applicaties over de jaren in omvang en complexiteit toenemen, wordt het doorvoeren van veranderingen tijdrovender, riskanter of zelfs onmogelijk. Mede hierdoor is het zo dat gemiddeld 80 procent van de kosten die zich gedurende de levenscyclus van een softwaresysteem voordoen (Total Cost of Ownership, TCO) aan onderhoud wordt besteed. Dus niet de applicatie op zich, maar de onderhoudbaarheid ervan is het werkelijke probleem.
Gebrek aan aandacht
Hoewel er technisch gesproken niets in de weg staat om beter onderhoudbare en aanpasbare systemen te bouwen, zetten IT-afdelingen hier in de praktijk maar mondjesmaat op in. Onderhoudbaarheid is een niet-functioneel kwaliteitsattribuut (ook wel een NFR genoemd: non functional requirement) dat over het algemeen pas nadat een applicatie is opgeleverd en in gebruik is genomen, aan het licht komt. IT-afdelingen en budgethouders zijn echter vooral gericht op de korte termijn en te veel gefocussed op de functionaliteit die het systeem moet gaan leveren. Dit gebrek aan aandacht voor de onderhoudbaarheid van IT-systemen komt tot uiting in het feit dat veel IT-managers en CIO’s geen gestructureerd proces hebben voor het meten en beheren van de onderhoudskosten. Zij schatten de onderhoudskosten slechts of nemen het zelfs helemaal niet expliciet mee op de begroting. Op de lange termijn kan dit onmogelijk goed gaan. De kosten voor onderhoud zullen alleen maar toenemen tot op het moment dat ze volledig onbeheersbaar worden.
Inzicht is key
Een deel van de problematiek kan worden voorkomen als organisaties zich bewust worden van en inzicht krijgen in zaken die de kosten voor onderhoud opstuwen. Voorbeelden van onderhoudskostenopdrijvende factoren die in de praktijk veel voorkomen, zijn:
- Het nalopen van duizenden regels code om de exacte locatie te vinden waar wijzigingen moeten worden aangebracht;
- Het in kaart brengen van afhankelijkheden en de gevolgen van wijzigingen voor alle applicaties die gerelateerd zijn;
- De implementatie van de nieuwe versie en de integratie met bestaande systemen.
- Een beperkte stabiliteit van het systeem doordat te weinig aandacht is besteed aan niet-functionele eisen (NFR’s) zoals performance, beveiliging, portabiliteit en schaalbaarheid;
- Geen audits na het live gaan of geen mogelijkheden voor probleemoplossing.
Als een IT-manager of CIO zich bewust is van bovenstaande zaken en inzicht heeft in de kosten die dit met zich meebrengt, zal hij eerder geneigd zijn structureel in te zetten op het ontwikkelen van systemen die beter onderhoudbaar zijn. Gebruik maken van een modern Agile ontwikkelplatform helpt om onderhoudbaarheid af te dwingen, omdat deze tools omvat die impliciet gericht zijn op het voorkomen van bovengenoemde kostenopdrijvende factoren. Een toekomstvaste organisatie heeft vat op de onderhoudskosten en schept daarmee ruimte om aan innovatie te werken.
Ing. Ruud Hochstenbach is Account / Partner Manager bij OutSystems Benelux