Sla over en ga naar content

7 dingen om te overwegen voor je start met moderniseren van software

 

Naarmate de wereld verandert, moeten bedrijven mee veranderen. Dat geldt ook voor hun
IT-landschappen. Deadlines, veranderende wet-en-regelgeving en de toenemende vraag
vanuit de business eisen hun tol. De constante druk van deze veranderingen belast een IT-
landschap, aangezien het erop lijkt dat er nooit genoeg tijd, geld of mensen beschikbaar zijn
om een steeds groter wordende hoeveelheid ‘technical debt’ aan te pakken.

Hierdoor komt het vaak voor dat kritieke problemen worden gepatcht, waardoor de
complexiteit toeneemt en de flexibiliteit afneemt. De tijd die IT nodig heeft om problemen aan
te pakken neemt toe en het implementeren van nieuwe functies wordt steeds tijdrovender en
duurder. Bedrijven beginnen zich beperkt te voelen door hun IT-systemen. In plaats van het
enablen van business, houdt IT de business tegen, waardoor deze bedrijven niet verder
kunnen ontwikkelen.

Als een bedrijf zich eenmaal in zo’n situatie bevindt is het vaak moeilijk en kostbaar om eruit
te komen. Het kan verleidelijk zijn om bestaande software te schrappen en volledig opnieuw
te beginnen. De resultaten van deze aanpak kunnen echter variëren en gaan vaak gepaard
met kostenoverschrijdingen, het missen van deadlines of bedreigingen van de operationele
continuïteit .

Software modernisering is een manier om verouderde IT-problemen aan te pakken. De term
wordt gedefinieerd als het wijzigen, porten, herschrijven of vervangen van legacy-software
volgens moderne standaarden. Om te zorgen dat je hierin de juiste keuzes maakt, hebben
wij een lijst met 7 overwegingen opgesteld. De juiste analyses, een goede modernisering
strategie en een kosteninschatting zijn cruciaal voordat je start met moderniseren van je
applicatie(s).

7 overwegingen voor het moderniseren van software applicaties

1. Start met “waarom”
Software modernisering is geen doel, eerder een manier om een bepaald doel te
bereiken. Zoek uit waarom je het overweegt en wat je doelen zijn. Vaak komt de
wens voor modernisering voort uit drie categorieën business problemen: technische
limitaties, operationele uitdagingen of uitdagingen op het gebied van digitalisering.
Vragen die je jezelf kan stellen zijn: Wat is het effect van onze IT systemen op de
Time To Market? Hoeveel tijd besteedt IT aan het draaiend houden van systemen?
En hoeveel aan het ontwikkelen van nieuwe dingen? Hoe geïntegreerd is je IT-
landschap met dat van je stakeholders?

2. Geen recept zonder diagnose
De volgende stap is om uit te zoeken wat de onderliggende oorzaken zijn.
Oftewel een (technische) diagnose van de huidige staat. Als deze diagnose voltooid is kan
het resultaat vergeleken worden met de gewenste staat van je software (het
gedefinieerde doel van de modernisering). Hieruit komen alle gaps naar voren die
moeten worden opgevuld. Je weet nu precies wat er moet gebeuren en welke IT
problemen dit veroorzaken.

3. Gooi de waardevolle legacy systemen niet zomaar weg
Eén van de belangrijkste principes van software modernisering is dat de waarde van
oudere systemen niet genegeerd moet worden. Vaak zijn er ook opties om deze
legacy systemen te behouden en optimaliseren. Gedurende de levensduur van een
verouderd systeem zullen er waarschijnlijk veel grote en kleine wijzigingen in zijn
aangebracht om de omgeving waarin het opereerde te weerspiegelen. Mensen
weten hoe het systeem werkt en zijn eraan gewend om hun werk ermee gedaan te
krijgen. We zien vaak dat een ‘rip-and-replace’ aanpak in deze gevallen meer
verborgen kosten met zich meebrengt dan het ontsluiten van legacy middels API’s.

4. Kies de juiste software modernisering strategie
Er zijn meerdere manieren om een IT-systeem te moderniseren, variërend van het
inkapselen van een systeem in API’s tot refactoren of volledig vervangen. Bepaal per
te moderniseren element welke strategie het beste past. Alles vervangen en opnieuw
bouwen gaat je meer kosten en zorgen opleveren dan een gevarieerde aanpak. Wij
hebben de volgende factoren geïdentificeerd die invloed hebben deze keuze:
afhankelijkheden (hardware, support, etc), interoperabiliteit, mogelijkheden en
capaciteit van de IT afdeling(en), de mogelijkheid om te upgraden, tijd en kosten.

5. Ga voor een Agile aanpak
Elke grote verandering in een IT-landschap heeft een architectuur overzicht of
blauwdruk en een uitvoeringsplan nodig. Gewapend met kennis van het bestaande
landschap, een lijst met tekortkomingen, problemen en nieuwe vereisten, kunnen we
keuzes maken over wat waar te veranderen en hoe deze veranderingen moeten
worden doorgevoerd. Maar houd er rekening mee dat het moderniseren van software
een lang proces kan zijn. Vereisten van het bedrijfsleven en externe factoren
veranderen voortdurend. Het is daarom belangrijk om snel te kunnen reageren,
zonder de bedrijfscontinuïteit in gevaar te brengen. Kortom, een Agile aanpak met
kleine iteraties is een must voor software modernisering.

6. Krijg inzicht
Software modernisering is vaak niet eenmalig, maar een continu proces. Om
erachter te komen waar in de toekomst modernisering nodig is en dit proactief te
benaderen, raden we aan om technische en functionele monitoring op te nemen in
alle gemoderniseerde software.

7. Bereid je voor op culturele verandering
Om te voorkomen dat verandering gepaard gaat met weerstand moet je zorgen dat
je niet alleen je software moderniseert, maar ook de mensen die ermee moeten gaan
werken. Betrek deze mensen vanaf het begin bij het proces, zet trainingen en
workshops op en stimuleer een positieve houding ten opzichte van verandering,
zowel bottom-up als top-down.