OPTIE 2

Je IT vervangen

Een enorm systeemlandschap vervang je niet zomaar. Maar de afzonderlijke onderdelen kun je prima uitfaseren.

“Werken volgens het watervalprincipe naar een livegang met Big Bang, dat is echt verleden tijd. Agile en stapsgewijze doorontwikkeling is wat echt werkt.”

Je bent toe aan vervanging

Om ervoor te zorgen dat je naar een schaalbare situatie toewerkt, wordt het tijd om over vervanging na te denken. In dit hoofdstuk lees je daarom alles over legacy.


Als je bestaande systemen niet meer integreren met nieuwe systemen, ze niet meer kunnen voldoen aan de laatste veiligheidseisen of als zelfs je developers worden geremd door oude technieken, dan spreken we van legacy-software. Het woord legacy heeft een negatieve associatie binnen de IT-branche, terwijl met de software op zich niets mis is. De kinderziektes en bugs zijn er vaak allang uit en kan dan ook als betrouwbaarder en stabieler worden ervaren dan pionieren met ‘het nieuwste van het nieuwste’.


Wat is nu het signaal dat je echt aan vervanging toe bent:


  • Als oude software vernieuwing in de weg staat;
  • Je realtime data wilt ontsluiten via een app en je dat nu niet kunt;
  • Op het moment dat front-end en back-end samen een geheel vormen en je CMS niet flexibel is in te zetten;
  • Wanneer je licentiekosten drastisch omlaag kunnen door vervanging;
  • In de afgelopen jaren heb je zoveel snelle fixes en verbeteringen doorgevoerd (technical debt), dat het door de ingewikkelde structuren moeilijk is geworden om nieuwe features te ontwikkelen binnen dezelfde code.

Geen ‘Big bang’ maar uitfaseren

Het vernieuwen van software en systemen is een flinke investering, vooral als je complete IT-architectuur op de schop moet. Je moet immers elk aspect herontwerpen, herbouwen, herinrichten en opnieuw leren in gebruik te nemen. Dat kost veel tijd van je mensen en vraagt veel van je IT-budget. Hoe groter en complexer je systeem en infrastructuur, hoe langer het vernieuwingstraject duurt.


Ga dan ook niet voor een ‘Big bang’ maar voor stapsgewijze uitfasering. Een Agile aanpak is erop gericht om gefaseerd te werken, klein te beginnen en dat uit te bouwen. Het voordeel is dat je in korte tijd al live kan met iets nieuws, terwijl je oude systemen gewoon actief blijven zolang dat nodig is.

Opdelen geeft inzicht

Begin met een inventarisatie, kijk naar wat er nu draait, wat daarin bedrijfskritisch is en hoe je systemen kunt opdelen in hapklare brokken. Zie ook optie 1, Je IT opknippen.

Doordat je je systemen hebt opgedeeld wordt de samenwerking tussen je interne teams en externe partijen eenvoudiger. Zo kun je tegelijkertijd in-house met je eigen mensen en buiten je organisatie met je technisch partner bouwen aan je nieuwe IT-omgeving. Voordeel van een gefaseerde aanpak is ook dat het uitwisselen van jouw domeinkennis met nieuwe collega’s of je leveranciers makkelijker en sneller gaat.

“Het woord legacy heeft een negatieve associatie binnen de IT-branche, terwijl met de software op zich niets mis is.” ~ Henk-Jan

Flexibel en schaalbaar met microservices

Vroeg of laat is je nieuwe systeem ook aan vernieuwing toe. Maar als je het goed inricht, bestaat die vernieuwing alleen uit onderhoud en doorontwikkeling en zul je niet weer tegen een groot legacy-systeem aanhikken. Om je meer flexibiliteit te geven in het verplaatsen, uitbreiden, schalen en onderhouden van je systemen, kun je nog een stap verder gaan.


Nieuw te ontwikkelen software verwerk je bij voorkeur in een systeemlandschap op basis van nog kleinere, losse services, de zogeheten microservices. Je maakt daarmee bijvoorbeeld aparte services voor je orderproces, betaalproces, en je logistieke proces. Microservices zijn afzonderlijk configureerbaar, schaalbaar en vervangbaar. Dit is vele malen eenvoudiger, sneller en goedkoper dan een compleet systeem waar alle services gecombineerd zijn. Door te werken met containers wordt het werken met microservices nog makkelijker en vooral beheersbaarder.

Je opgedeelde legacy-systeem verwerken tot flexibele microservices die je in containers plaatst.

Dagelijks doorontwikkelen

Het opknippen van je legacy-systeem tot op microservices-niveau is niet nieuw. Grote jongens als Spotify, Netflix en Airbnb werken bijvoorbeeld allang zo. Als je net als hen dagelijks je digitale omgeving wilt verbeteren en vernieuwen, dan moet je het vervangen van je oude systemen tot hoge prioriteit maken in het komende jaar. Maar begin klein: Zorg voor inzicht en ga van daaruit verder verfijnen, vervangen en verbeteren.

Contentmigratie

Een succesvolle migratie van oud naar nieuw valt of staat met een migratiestappenplan. Migratie van data en content vraagt om een eigen planning, inventarisatie van hoeveelheid werk en budget. Immers al je reeds vergaarde informatie, data en content wil je niet verliezen, het moet enkel in een nieuwe jas passen.


Data- en contentmigratie is geen taak voor alleen de IT-afdeling, ook andere afdelingen in de organisatie zijn erbij betrokken, van marketing tot HR, dus pak dit bij voorkeur samen aan en betrek alle afdelingen al in een vroeg stadium.

“Microservices zijn afzonderlijk configureerbaar, schaalbaar en vervangbaar. Dit is vele malen eenvoudiger, sneller en goedkoper dan een compleet systeem waar alle services gecombineerd zijn.” ~ Rick

Je processen automatiseren