Als je, zoals ik, al een tijdje in de IT rondloopt herken je dit wellicht: een organisatie heeft een systeem, het is al gebouwd en ‘up and running’. Maar na een tijdje verandert de wens. De gebruikers ontdekken dat ze iets extra’s willen of dat een bepaald stuk functionaliteit net iets anders moet worden.
Om allerlei redenen- zoals project, planning, roadmap, budget – is er van bovenaf besloten om deze functionaliteit toe te voegen aan het bestaande systeem. Gewoon omdat het huidige systeem er al is of omdat het te complex, duur of politiek onhandig is om een nieuw traject te starten. De realisatie wordt ondergebracht bij het beheer (of DevOps als we in een modern bedrijf werken) en de financiering komt uit het onderhoudsbudget. Dit alles gebeurt niet eenmalig maar meerdere keren. Zo ontstaat er een soort bloemkool-systeem, waarbij er iedere keer een nieuwe stronk aan functionaliteit bij komt. En er gaat nooit iets weg. Zo “stronken” we ons richting een situatie waarin het volledige IT budget wordt opgesoupeerd aan het in de lucht houden van de systemen die we de afgelopen jaren zelf hebben gemaakt. Geen geld meer voor vervanging, laat staan voor innovatie. We bloemkolen onszelf volledig vast.
Complexiteit maakt besluitvormig lastig
Veel directies vinden het lastig om de aard en omvang van hun IT landschap te overzien. Niet omdat ze incapabel zijn, maar omdat de omvang en complexiteit van de huidige IT systemen het lastig maken om dit in zijn geheel te overzien. Het goedkeuren van een wijziging op een bestaand systeem klinkt vaak eenvoudiger dan besluitvorming over een nieuw systeem of een compleet nieuwe architectuur.
Beoordeel ieder nieuw project als een huiselijke aanschaf
Recentelijk illustreerde Anneke van Zanen-Nieberg, directeur van Auditdienst Rijk, dit fenomeen treffend met de volgende beeldspraak. Vergelijk een nieuw IT project met een aanschaf in de huiselijke sfeer. Bij de aanschaf van een nieuw bankstel denk je na wat je met het oude gaat doen. Geven we het aan de kinderen, zetten we het op marktplaats, brengen we het naar de kringloopwinkel of naar het grof vuil? Stel je eens voor dat we hetzelfde doen als bij bestaande IT systemen. We zetten onze nieuwe sofa gewoon bovenop de oude bank. En vervolgens na een aantal jaar een nieuwe daar bovenop. Dit maakt het gebruik niet eenvoudiger, en naast de nieuwe sofa moeten we de oude banken ook nog stofzuigen en onderhouden. Neem dit principe mee naar de wereld van de IT.
Neem bij ieder systeem de lifecycle fase mee in de beslissing. Wat zijn de kosten van onderhoud en wat zijn de kosten van nieuwbouw? Een goede maatregel is om bij ieder projectvoorstel verplicht een paragraaf “Wat gaan we na dit project weg gooien?” op te nemen. Hiermee verplicht je het projectteam om na te denken over het vervangen van bestaande systemen terwijl we bezig zijn met het toevoegen van nieuwe functies.
Dit maakt een dergelijk besluit relatief eenvoudig. Als het plan voor het nieuwe systeem een gedegen strategie bevat voor de vervanging van een aantal bestaande systemen, dan vormt het een goede basis voor de verdere ontwikkeling en lifecycle management van de totale IT infrastructuur. Zit dit plan er niet bij, dan is er een grote kans dat er een nieuwe stronk aan uw bloemkool in de maak is.
Bedenk wat je wilt gaan opruimen
Natuurlijk is dit niet altijd zo eenvoudig als het lijkt. Wellicht is het opdelen van uw landschap in een architectuur van microservices veel aantrekkelijker. Maar zonder de “wat gooien we weg”- regel is dit alleen maar het splitsen van een grote bloemkool in een grote schaal aan kleinere stronken. Dit neemt niet weg dat we altijd moeten nadenken over hetgeen we moeten opruimen voordat we iets nieuws starten. Het stellen van de vraag is al een goede start. Blijf dus alert op nieuwe bloemkolen.
(Dit artikel is eerder verschenen op computable.nl)