Onderhoudbaarheid tip 6: Overdraagbaarheid

Door Victor van der Hulst In Smart@Vantage

De afgelopen weken heb ik stil gestaan bij het belang van onderhoudbaarheid van maatwerk applicaties, hoe een Agile ontwikkelaanpak hieraan bijdraagt, hoe de mate van onderhoudbaarheid kan worden gemeten en hoe deze opgebouwde technical debt met refactoring kan worden aangepakt. Vorige week stond ik stil bij de rol van testen en geautomatiseerd testen in het bijzonder en het automatiseren van de infrastructuur. In dit afsluitende stuk aandacht voor overdraagbaarheid.

Overdraagbaarheid zorgt voor onderhoudbaarheid

Tijdens het ontwikkelen en onderhouden van software is ook nadruk op overdraagbaarheid van belang voor de onderhoudbaarheid. Het is moeilijk te voorspellen waar techniek en tooling zich op termijn naar toe ontwikkeld, waardoor er rekening gehouden moet worden met overdraagbaarheid. Applicatieservers, tooling, frameworks en programmeertalen zijn aan corrosie onderhevig, wat onderhoudbaarheid op termijn in gevaar brengt. Waar Delphi en Visual Basic ooit solide keuzes leken, is de doorontwikkeling en hoeveelheid ontwikkelaars op een laag punt aanbeland. Aan een 

software stack worden steeds zwaardere eisen gesteld rondom o.a. productiviteit, schaalbaarheid, performance. Hierdoor ontstaan nieuwe combinaties en wijzigt de populariteit van stacks (en daarmee programmeertalen). Het is moeilijk te voorspellen of de gangbare enterprise platformen .NET en Java over 10 jaar nog relevant zijn. Wat betekent dat voor al die enterprise maatwerk applicaties die op deze platformen zijn en worden ontwikkeld? De overdraagbaarheid komt in het geding. Waak tegelijkertijd voor de inzet van bleeding edge en cutting edge technologie. Deze technologie is vaak nog ‘onvolwassen’ en heeft zich maar ten dele bewezen. En het is maar de vraag of het ‘blijvertjes’ zijn. Grote kans dat dit op termijn moeilijk onderhoudbare componenten worden.  Maak tenminste inzichtelijk wat de risico’s van het inzetten van deze technologie zijn. Kortom, aandacht voor overdraagbaarheid tijdens ontwikkeling en in de onderhoudsfase, maakt onderhoudbaarheid op lange termijn mogelijk. Bijvoorbeeld door jaarlijks een inventarisatie te maken van de gebruikte stack, frameworks en tooling. De ThoughtWorks Technology Radar kan daarbij helpen.

Doe een APK op een bestaande applicatie

Wanneer er sprake is van een applicatie in productie met weinig functioneel onderhoud en beperkt zicht op de onderhoudbaarheid, is het zinvol de onderhoudbaarheid in kaart te brengen. Hiermee wordt de 

*technical debt** *ingeschat en een advies gegeven welke stappen er gezet dienen te worden. We noemen dit een APK, zoals we dit gewend zijn in de autowereld. Alleen dan niet pas na 3 jaar. Daarvoor verandert de omgeving te snel. In dit soort applicaties zien we vaak dat de gebruikte frameworks, platformen en infrastructuur niet bijlopen met de laatste versies. Met vooral risico’s op het gebied van security. Ook laat de analyseerbaarheid en testbaarheid vaak te wensen over. Door de lage mate van functioneel onderhoud, is de achtergrond van de gemaakte keuzes tijdens bouw vaak verdwenen waardoor de onderhoudbaarheid bepaald wordt door de kwaliteit van de code (en documentatie). En daarmee is de cirkel rond.

Conclusie

Aandacht voor onderhoudbaarheid verlaagt de Total Costs of Ownership van elke maatwerk applicatie, doordat betere kwaliteit, wijzigbaarheid en testbaarheid zorgt voor een productiever development team. Hanteer een Agile aanpak, maak technical debt continu zichtbaar en refactor waar zinvol. Automatiseer testen en de infrastructuur en besteed aandacht aan de overdraagbaarheid!

Meer informatie

victor-van-der-hulst

Victor van der Hulst

Managing Consultant

+31 6 22 98 68 76 Stuur Victor een e-mail

Reacties

Er zijn nog geen reacties op dit bericht.

Plaats een reactie

Dit veld is verplicht.

Vul een geldig e-mailadres in.

Dit veld is verplicht.