De 7 R’en van modernisering: bepaal hoe je apps het best kunt updaten

15-09-2022
Deel dit artikel:

De 7 R’en van modernisering: bepaal hoe je apps het best kunt updaten

De digitale transformatie, die na de pandemie in een stroomversnelling is geraakt, lijkt dit jaar voorlopig niet te vertragen. Voor klanten vertaalt zich dit voornamelijk in verbeterde websites en allerlei nieuwe diensten, maar ontwikkelaars weten dat er achter de schermen heel wat complexe taken bij komen kijken. Tot voor kort waren bedrijven er nog niet helemaal uit of IT en technologie nu echt zo belangrijk waren (vandaar de outsourcingtrend van een decennium geleden). Maar vandaag de dag zijn bedrijven meer dan ooit bezig met het oplossen van complexe technische problemen in software en zorgen ze ervoor dat ze voorop lopen op het gebied van innovatie. De ‘digital native’-bedrijven waarbij de app net zo belangrijk is als de dienst die ze aanbieden, hebben dat volledig begrepen. Zij zijn de voorlopers in dit verhaal, maar ze vormen wel een minderheid.

Het moderniseren van omvangrijke IT-systemen is niet eenvoudig en het volstaat helaas niet om op een ‘update’-knop klikken zoals in de app store. Zodra je begint uit te zoeken welke software gemoderniseerd moet worden, zul je merken dat dat veel is. Organisaties hebben uiteindelijk vaak een lijstje met duizenden uiteenlopende applicaties en diensten. Air France-KLM is bijvoorbeeld bezig met het moderniseren van 2.000 applicaties. Grotere organisaties kunnen er zelfs nog veel meer hebben, zeker na vele jaren van fusies en overnames.

Een plan opstellen voor wat gemoderniseerd moet worden kan ingewikkeld zijn als je enkel focust op technische redenen om te moderniseren. Die zijn er genoeg, want er is altijd wel een betere manier om applicaties te bouwen en te laten draaien. Dat is een onderdeel van de magie van technologie: het wordt altijd beter. Maar applicaties alleen op basis van technische behoeften moderniseren, heeft vanuit zakelijk oogpunt niet genoeg impact. In plaats van iedere applicatie in de snelste en meest geavanceerde vorm te willen omzetten, moeten we ons eerder afvragen hoe geschikt een app is voor het beoogde doel. Het heeft geen zin een Ferrari te kopen om naar de school om de hoek te rijden.

Zelf hebben we zeven verschillende manieren gevonden om elke app te moderniseren. De kans bestaat dat we er ooit een achtste, negende en zelfs tiende zullen vinden, maar deze zeven benaderingen zien we steeds weer terug. In het Engels beginnen ze trouwens allemaal met de letter R, waardoor je ze gemakkelijk kunt onthouden als de 7 R’en. Gerangschikt van minste naar meeste inspanning, risico en waarde gaat het over: Retain, Retire, Rehost, Replatform, Refactor, Rewrite en Replace.

Retain

Een wijs persoon zei ooit: als het niet kapot is, repareer het dan niet. Een oude app die nog steeds zijn doel dient, bewaar je en raak je voorlopig niet aan. Dat wil zeggen dat je geen wijzigingen aanbrengt en alles laat draaien zoals het is. Voor de meeste apps in je portfolio is dit waarschijnlijk de standaardoptie, omdat niets doen de beste keuze is als andere apps je aandacht dringender nodig hebben.

Retire

Soms kan een app overbodig geworden zijn. In plaats van deze te updaten, is het beter om apps op het einde van hun levensduur gewoon uit gebruik te nemen. In deze gevallen zal je analyse vaak aangeven dat de applicatie zeer weinig gebruikt wordt, door een andere applicatie is vervangen of niet meer rendabel is om te blijven draaien. Een goed voorbeeld hiervan is de Minitel-dienst, ooit de meest succesvolle online service ter wereld. In juni 2021 werd Minitel na 32 jaar dienst uit de lucht gehaald. Applicaties die speciaal zijn gebouwd voor regelgeving die intussen niet meer bestaat, kun je eveneens beter uit roulatie nemen. Hetzelfde geldt voor applicaties die onderdelen van je eigen business ondersteunden die nu niet meer bestaan.

Rehost

Dit wordt vaak “lift & shift” genoemd en verwijst naar het opnieuw verpakken en verplaatsen van bestaande applicaties met zo weinig mogelijk wijzigingen. Je kunt het vergelijken met het kopiëren van een applicatie en al haar gegevens naar een nieuwe computer. Typische voorbeelden zijn cloud- en datacentermigraties of het proces dat je bedrijf heeft doorlopen bij het virtualiseren van het datacenter.

Replatform

Nu komen we bij de kern van wat doorgaans onder modernisering kan worden verstaan. Hier blijft de applicatie dezelfde, maar zijn er significante veranderingen in de technologiestack en het platform (runtime, framework, middleware, besturingssystemen) van je app. Het is mogelijk dat er ook aan de app zelf wijzigingen nodig zijn, maar dat is dan heel minimaal. ‘Replatformen’ zou bijvoorbeeld kunnen betekenen dat je overstapt van een Oracle WebLogic Server naar Spring Boot, van .NET naar .NET Core, van Windows of AIX naar Linux, of dat je applicaties van virtuele machines naar containers verplaatst.
Nederlandse overheden zijn bijvoorbeeld volop bezig met het ‘replatformen’ van hun applicaties. Dat wil niet zeggen dat dit het enige is waar ze op focussen. Er zijn bijvoorbeeld ook heel wat rehostingactiviteiten gaande. Dat geldt ook voor Europese overheden, de bankensector en logistieke bedrijven.

Refactor

Bij deze vorm van modernisering ga je de code van je applicatie doelbewust veranderen. Hierbij herontwerp je delen van de applicatie om meer voordeel te halen uit nieuwe platformen en mogelijkheden. Het verschil met herschrijven zit in het feit dat de functionaliteit van de app dezelfde blijft en niet wordt bijgewerkt: alleen de ‘internals’ van de app veranderen. Het is alsof de buitenkant en het interieur van je wagen er hetzelfde uit blijven zien, maar alles onder de motorkap vervangen wordt. Naarmate je bedrijf meer klanten krijgt, zou je een applicatie bijvoorbeeld kunnen aanpassen om van duizenden naar miljoenen gebruikers op te schalen. Van backends voor videogames zoals Diablo II, tot belangrijke banksystemen zoals de Open Banking-evolutie, en overheidsdiensten die via het internet aan burgers worden aangeboden zoals de Duitse wet op online toegang. Vaak is de ‘refactor’-optie de meest kostefficiënte keuze om bestaande systemen te verjongen en ze het nieuwe tijdperk in te brengen.

Het Centraal Bureau voor de Statistiek (CBS) investeert bijvoorbeeld continu in de nieuwste innovatieve technologieën om de datakwaliteit te waarborgen. Dit vraagt onder andere om een agile applicatie-ontwikkelomgeving. Daarom moest het CBS zijn IT-omgeving moderniseren. “Onze IT-omgeving bleek niet voldoende schaalbaar om de groeiende vraag naar statistische data te beantwoorden”, zegt Bas van Essen, IT Directeur bij het CBS. “Nieuwe projecten werden afgeremd, nieuwe ontwikkelingen vertraagd en de prestaties van het IT-landschap bleven achter.” Verder was de ontwikkelomgeving gefragmenteerd en hadden de teams in beperkte mate de middelen om daadwerkelijk een gezamenlijk platform met bijbehorende aanpak te creëren. Van Essen: “Het duurde te lang voor het infrastructuurteam de juiste capaciteit beschikbaar kon stellen. Dit had een impact op de ontwikkeling van de applicaties die de business nodig heeft om te blijven innoveren.”

Rewrite

De naam zegt het eigenlijk al: soms is het beter om weer vanaf nul te beginnen en een nieuwe applicatie te schrijven. Je organisatie heeft nog steeds behoefte aan wat de applicatie doet (zoals het registreren van visvergunningen of het plannen van onderhoud van ijsmachines), maar de oude app lost het probleem niet meer zo goed op en is lastig te onderhouden. In plaats van alleen maar dezelfde schermen en workflows te dupliceren, maar dan met nieuwe lettertypen en kleuren, geeft dit type modernisering teams de kans om opnieuw te interpreteren hoe mensen met de applicatie omgaan en hoe deze functioneert. Om een digitale gebruikservaring te moderniseren, zit er vaak niets anders op dan deze vanaf de basis opnieuw te overdenken en te herschrijven. Niks is beter dan een vleugje feeënstof over de frontend code te strooien om de gebruiksvriendelijkheid en ergonomie radicaal te verbeteren. Je vindt veel inspirerende voorbeelden van herschreven applicaties in de wereld van de softwareleveranciers. Daar zijn besturingssystemen, middleware-componenten en allerlei frameworks volledig herbouwd met de nieuwste beschikbare paradigma’s op het gebied van hardware en infrastructuur: x86- en 64-bits-architecturen, parallelle verwerking en nieuwe apparaten voor eindgebruikers.

In Nederland zien we dat alle sectoren bezig zijn met rewrite. Met name bij de grote enterprises, de banken, verzekeraars, overheden, retail en de telecomsector staat het bovenaan hun lijstje.

Replace

In dit scenario heb je de functionaliteit van de app nog steeds nodig, maar zie je niet langer de waarde in de controle en aanpassingsmogelijkheden die het bezit van de applicatie met zich meebrengt. Daarom besteed je de applicatie beter uit door deze te vervangen door een commerciële off-the-shelf (COTS)-applicatie, vaak een Software-as-a-Service (SaaS). De resultaten zijn hetzelfde, maar je rekent op een derde partij of uitbestedingsoptie.

Dit soort transformaties zijn eenvoudig voor erg gestandaardiseerde systemen zoals mail- of fileservers. Ook wanneer je binnen het ecosysteem van dezelfde softwareleverancier blijft, zoals van Office naar Office 365, worden de vervangingstrajecten vaak ondersteund door uitvoerige handleidingen en tools.

Voor niet-standaard, end-of-life systemen is het meestal de meest arbeidsintensieve optie. Het zal je misschien afschrikken om je sterk gepersonaliseerde systeem voor Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), Human Resource Management (HRM) of e-commerce naar een andere oplossing te moeten omzetten. Maar toch is de inspanning meestal de moeite waard, omdat al dat maatwerk in de loop der jaren een bootanker wordt dat je met je meesleept en dat al je problemen veroorzaakt.

Maak de juiste keuze

Elk van de bovenstaande technische benaderingen heeft z’n eigen voordelen. Laat je beslissing daarom afhangen van de bedrijfsdoelstellingen achter de modernisering. Dit kun je doen door een scoringstool te gebruiken die kwalificeert welke applicaties cruciaal zijn voor je bedrijf en welke nog wel even kunnen wachten of zelfs helemaal overbodig geworden zijn. Op basis daarvan maak je een roadmap die je precies vertelt welke app je op welk moment gaat aanpakken. Veel projecten mislukken omdat deze manier van werken niet meegenomen wordt in het besluitvormingsproces.

Organisaties staan gelukkig niet alleen voor deze complexe opdracht. IT-services – bedrijven en systeemintegratoren – zijn steeds beter in de initiële analyse en de opvolging van dit soort trajecten. Zij hebben het voordeel dat ze de experts en de kennis in huis hebben om ervoor te zorgen dat ook alle randvoorwaarden vervuld zijn en ze de vervolgprojecten voor hun rekening kunnen nemen. Met zakelijke context, technische kennis en de juiste ondersteuning hoef je dus niet langer tegen modernisering op te kijken.

Door: Rouven Besters, Regional Director VMware Tanzu, Benelux and Nordics

Terug naar nieuws overzicht
Software