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 terechtgekomen, lijkt dit jaar voorlopig niet te vertragen. Voor klanten vertaalt zich dat voornamelijk in opgesmukte 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 uit of IT en technologie nu echt zo belangrijk waren (getuige daarvan is de outsourcingtrend van een decennium geleden). Vandaag zijn ze wel meer dan ooit bezig met het oplossen van complexe technische problemen in software en zorgen ze ervoor dat ze in de voorhoede van innovatie zitten. De ‘digital native’ – bedrijven waarbij de app gelijk staat met de dienst die ze aanbieden, hebben dat volledig begrepen. Zij zijn de voortrekkers in dit verhaal maar ze vormen een minderheid ten opzichte van de bestaande organisaties.

Niet lukraak moderniseren

Het moderniseren van omvangrijke IT-systemen is geen sinecure en het volstaat helaas niet om op een ‘update’-knop klikken zoals in de app store. Zodra je begint met het opsporen van software die je moet moderniseren, zal je merken dat deze in overvloed aanwezig is. Veel organisaties komen tot 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 je wil moderniseren, 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 stukje van de magie van technologie: het wordt altijd beter.

Het heeft geen zin een Ferrari te kopen om naar de school om de hoek te rijden.

Rouven Besters, Regional Director VMware Tanzu, Benelux and Nordics

Applicaties enkel op basis van technische behoeften moderniseren, is vanuit zakelijk standpunt niet impactvol genoeg. 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.

7 manieren om te moderniseren

Zelf heb ik zeven verschillende manieren gevonden om een bepaalde app te moderniseren. De kans bestaat dat ik er ooit misschien een achtste, negende en zelfs tiende zal vinden, maar deze zeven benaderingen komen 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 wellicht 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 ze te updaten, doe je er beter aan 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 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, kan je eveneens beter uit roulatie nemen. Hetzelfde geldt voor applicaties die dienen voor onderdelen van je eigen business die niet meer bestaan.

Rehost

Dit wordt vaak “lift & shift” genoemd en verwijst naar het opnieuw verpakken en verplaatsen van bestaande toepassingen 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 kom ik 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 dan wel heel minimaal. Herplatformen 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.

Belgische en Nederlandse overheden zijn bijvoorbeeld volop bezig met het ‘herplatformen’ 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 blijven uitzien, maar alles onder de motorkap en carrosserie vervangen wordt.

Het is alsof de buitenkant van je wagen er hetzelfde blijven uitzien, maar alles onder de motorkap vervangen wordt.

Rouven Besters, Regional Director VMware Tanzu, Benelux and Nordics

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 blootgesteld zoals de Duitse wet op online toegang. Vaak is deze optie de meest kostefficiënte keuze om bestaande systemen te verjongen en ze tegelijkertijd over te brengen naar een nieuw tijdperk.

Het Nederlandse Centraal Bureau voor de Statistiek (CBS) maakte bijvoorbeeld een grootschalige IT-transformatie door via replatforming en refactoring. Ze deden dit onder andere omdat ze nieuwe applicaties sneller meer resilient wilden uitrollen. De tijd die naar onderhoud van de bestaande applicaties ging, moest verminderen zodat er meer ruimte kwam voor innovatie. Met zo’n 2.500 medewerkers die ruim 600 applicaties gebruiken in diverse werkplekomgevingen, was zo’n transformatie nodig.

Rewrite

De naam zegt het eigenlijk al: soms is het beter om vanaf nul te herbeginnen en een nieuwe applicatie te schrijven. Je organisatie heeft nog steeds nood aan wat de applicatie doet (zoals bijvoorbeeld 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 een nieuwe interpretatie te maken van de manier waarop mensen met de applicatie omgaan en hoe ze 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 zijn alle sectoren bezig 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 waarde in de controle en aanpassingsmogelijkheden die het bezit van de applicatie met zich meebrengt. Daarom besteed je de toepassing 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 dezelfde, maar je rekent op een derde partij of uitbestedingsoptie.

Deze transformaties zijn eenvoudig voor sterk 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 wel 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 meesleept en al je problemen veroorzaakt.

Maak de juiste keuze

Elk van de bovenstaande technische benaderingen heeft z’n eigen verdiensten. Laat je beslissing daarom best beïnvloeden door de bedrijfsdoelstellingen achter de modernisering. Dat kan 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 zal aanpakken. Veel projecten mislukken omdat die manier van werken in het besluitvormingsproces niet wordt meegenomen.

Organisaties staan gelukkig niet alleen voor deze complexe opdracht. IT-services, IT-bedrijven en systeemintegratoren zijn steeds beter beslagen in de initiële analyse en de opvolging van dit soort trajecten. Zij hebben het voordeel dat ze de experten en de kennis in dienst 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.


Dit is een ingezonden bijdrage van Rouven Besters, Regional Director VMware Tanzu, Benelux and Nordics.

nieuwsbrief

Abonneer je gratis op ITdaily !

  • This field is for validation purposes and should be left unchanged.