Legacy software vervangen met low-code
Organisaties staan onder toenemende druk om bedrijfsprocessen te moderniseren met behulp van nieuwe digitale toepassingen. Die druk komt vaak vanuit klanten of eindgebruikers die verlangen dat diensten en processen worden gedigitaliseerd. Daarnaast heeft het nieuwe werken, waarbij werknemers geregeld vanuit huis werken, ertoe geleid dat er andere eisen worden gesteld aan bedrijfsapplicaties op het gebied van beschikbaarheid, beveiliging en connectiviteit. In de praktijk zien we dat het ontwikkelen van nieuwe toepassingen meer aandacht krijgt dan het vernieuwen van bestaande applicaties, maar dat is niet altijd even gemakkelijk. De aanwezigheid van legacy software kan een remmend effect hebben op de ontwikkeling van nieuwe toepassingen, omdat het lastig is om nieuwe applicaties aan bestaande en vaak verouderde systemen te koppelen. Het gevolg is dat je als organisatie niet goed in staat bent om te innoveren en te anticiperen op veranderende behoeftes van gebruikers. Het vervangen of moderniseren van legacy software met een low-code ontwikkelplatform kan uitkomst bieden. In dit blog lees je in welke situaties low-code geschikt is voor het vervangen van legacy software en hoe je dit kunt aanpakken.
Wat is legacy software?
Met legacy-software bedoelen we bedrijfsapplicaties die jaren geleden zijn ontwikkeld of aangekocht. Dit soort applicaties maken gebruik van verouderde technologie en standaarden en voldoen daardoor niet meer aan moderne maatstaven. Legacy applicaties ondersteunen meestal kritische bedrijfsprocessen in de organisatie, waardoor het vervangen ervan de nodige risico’s met zich meebrengt. Het onderhouden van legacy software kost veel tijd en geld door gebrek aan kennis en het ontbreken van documentatie. Het aanpassen van de software is lastig en soms zelfs onmogelijk, doordat de technologie niet meer wordt ondersteund. Al met al reden genoeg om afscheid te nemen van legacy applicaties.
Vervangen of moderniseren?
Met de opkomst van low-code platforms zoals Mendix en Power Apps is het eenvoudiger geworden om legacy software te vervangen of te moderniseren. De nieuwe manier van ontwikkelen en de snelheid waarmee nieuwe software kan worden gebouwd met low-code maakt het vervangen van legacy applicaties een stuk minder uitdagend dan voorheen. Er zijn verschillende manieren waarop je dit kunt aanpakken.
Optie 1: Nabouwen
Ten eerste kan een bestaande applicatie volledig nagebouwd worden. De doorlooptijd van zo’n traject is beperkt als het een kleine applicatie betreft. Wanneer het echter gaat om het vervangen van een grote monolitische applicatie, zoals een ERP-systeem, kan de doorlooptijd flink oplopen. Dit soort migratietrajecten brengt grote risico’s met zich mee en levert op de korte termijn weinig tot geen voordeel op voor de organisatie.
Optie 2: Behouden en uitbouwen met extensies
Ten tweede kun je ervoor kiezen om de bestaande applicatie in tact te laten en deze te moderniseren door het creëren van extensies boven op de applicatie. Met extensies bedoelen we relatief kleine maatwerktoepassingen die los staan van de bestaande applicatie en waarmee specifieke functionaliteit wordt toegevoegd aan de applicatie. Met dit soort extensies kunnen nieuwe innovaties en onderscheidende processen digitaal ondersteund worden. Je kunt hierbij bijvoorbeeld denken aan een custom front-end met een webinterface voor externe gebruikers om een nieuwe workflow te ondersteunen, waarbij de front-end aan de achterkant integreert met de bestaande applicatie.
Optie 3: Moderniseren met een API-laag
Een alternatief voor moderniseren van legacy is het creëren van een API-laag boven op de bestaande applicatie. Zo kun je data en functionaliteit uit het legacy systeem beschikbaar stellen voor andere applicaties via moderne REST API’s. Het toevoegen van zo’n API-laag biedt allerlei nieuwe mogelijkheden voor integraties met externe systemen (van bijvoorbeeld klanten of leveranciers), integraties met clouddiensten, of het ontwikkelen van nieuwe moderne gebruikersinterfaces die beter aansluiten bij de huidige manier van werken.
Voordelen van low-code
Low-code ontwikkelplatforms zijn in veel situaties geschikt voor het vervangen of moderniseren van legacy software. Hiervoor zijn verschillende redenen te noemen:
#1 Aanpasbaar voor elk uniek bedrijfsproces
Bij het vervangen van legacy software moet de keuze gemaakt worden voor aanschaf van standaard software of het (laten) nabouwen met maatwerk. Bij legacy hebben we het meestal over maatwerkoplossingen die specifiek zijn ontwikkeld voor een organisatie. Voor dit soort oplossingen bestaat over het algemeen geen standaard software, of het mist essentiële functionaliteiten waardoor het niet geschikt is als vervanging. Een low-code platform is in dit geval een goed alternatief, omdat hiermee elke gewenste functionaliteit snel kan worden (na)gebouwd zodat het naadloos aansluit bij de processen binnen de organisatie.
#2 Processen efficiënter inrichten
Legacy-applicaties ondersteunen vaak kritische processen in een organisatie. Als je legacy gaat vervangen dan wil je natuurlijk dat die processen verder geoptimaliseerd worden en dat gebruikers efficiënter kunnen werken. Low-code biedt op dit vlak verschillende voordelen.
- Met low-code kun je onderdelen van een proces automatiseren door het creëren van zogenaamde flows. Binnen een flow kunnen verschillende activiteiten achter elkaar uitgevoerd worden zonder tussenkomst van gebruikers. Die activiteiten kunnen erop gericht zijn om handmatige handelingen te automatiseren, of om externe applicaties aan te sturen (applicatie-integratie).
- Een belangrijke eigenschap van low-code platforms is connectiviteit, dat wil zeggen de mogelijkheid om externe systemen te verbinden. Dit kunnen verbindingen zijn voor de uitwisseling van gegevens met databases, webservices, of message brokers. De connectoren om dit soort verbindingen te maken zijn standaard aanwezig in het platform. Daarnaast is het met low-code relatief eenvoudig om een applicatie te integreren met externe systemen door het gebruik van moderne API’s. Op die manier kun je verschillende applicaties met elkaar verbinden en processen (of stappen in een proces) automatiseren.
- De applicaties kunnen “slimmer” gemaakt worden door gebruik te maken van AI (Artificial Intelligence). Zowel Mendix als Power Apps bieden standaard connectoren om AI-services uit de cloud te integreren in een applicatie, bijvoorbeeld voor sentimentanalyse, herkenning van afbeeldingen, of de vertaling van audio naar tekst. Verder zien we dat er steeds meer kant-en-klare bouwblokken met AI-technologie (smart app services) worden toegevoegd aan de toolset van de platforms. Daarnaast bieden de beide platforms ook nog de mogelijkheid om custom AI-modellen te integreren in applicaties.
- Low-code platforms bieden de mogelijkheid om een applicatie met verschillende gebruikersinterfaces te bouwen voor verschillende soorten gebruikers, bijvoorbeeld een responsive website voor kantoorpersoneel en een mobiele web app voor vertegenwoordigers. Op die manier kun je de gebruikersinterface volledig op maat ontwikkelen voor de eindgebruikers, waardoor die uiteindelijk efficiënter kunnen werken.
#3 Gefaseerd ontwikkelen
De manier van ontwikkelen met low-code past heel goed bij een agile ontwikkelproces, waardoor het nabouwen in fases kan worden uitgevoerd. De flexibiliteit van low-code tools zorgt ervoor dat aanpassingen gemakkelijk en snel kunnen worden doorgevoerd. Je kunt beginnen met het ontwikkelen van de belangrijkste essentiële functies van de software, om daarna na de uitrol van een eerste versie te focussen op het verbeteren en optimaliseren van de functionaliteit. Dit biedt gelijk de mogelijkheid om feedback na de eerste uitrol mee te nemen bij de daaropvolgende iteraties.
#4 Eindgebruikers betrekken bij ontwikkeling
Door eindgebruikers te betrekken bij de ontwikkeling van een nieuwe applicatie krijg je een beter resultaat dan wanneer dit door alleen IT-personeel wordt gedaan. De eindgebruikers kennen de frustraties over de oude applicatie en weten precies wat de tekortkomingen ervan zijn. Low-code platforms werken met een visuele ontwikkelomgeving waarin gebruikers met minimale programmeerervaring (citizen developers) applicaties kunnen bouwen. Eindgebruikers kunnen daarin zelf datamodellen, schermen en businesslogica modelleren met behulp van kant-en-klare bouwblokken. Door ze deel te maken van het ontwikkelteam gaat er meer aandacht uit naar de gebruiksvriendelijkheid van de nieuwe applicatie, wat een positief effect zal hebben op de adoptie.
#5 Lagere gebruikskosten
Tot een paar jaar geleden was de algemene opvatting dat (na)bouwen van legacy software met behulp van maatwerk tijdrovend en kostbaar is. Met de opkomst van low-code platforms is dat lang niet altijd meer het geval. Natuurlijk heb je met dit soort platforms te maken met licentiekosten en meestal zijn die gekoppeld aan het aantal gebruikers. Echter door de manier waarop applicaties worden ontwikkeld hoeft het nabouwen van maatwerk met low-code geen maanden te duren. Veel van de complexiteit die komt kijken bij softwareontwikkeling wordt namelijk uit handen genomen door het platform, waardoor applicaties tot wel 5 keer sneller kunnen worden opgeleverd dan bij traditionele ontwikkelmethodes.
Daar komt bij dat er kostenbesparingen gerealiseerd kunnen worden, doordat de kosten voor hosting en voor het beheren van applicaties met een low-code platform een stuk lager zijn dan bij legacy applicaties. Low-code applicaties draaien meestal in de cloud (public of private). Mendix heeft een eigen SaaS-omgeving waarin applicaties worden gehost en Power Apps draaien altijd in Azure. Het inrichten van infrastructuur (servers, databases, netwerk, etc.) is daardoor niet meer nodig is en applicatiebeheer kost veel minder tijd.
#6 Datamigratie
Naast het (her)bouwen van legacy applicaties speelt bij dit soort projecten in veel gevallen ook een migratievraagstuk. Hoe ga je de data uit het oude systeem migreren naar de nieuw applicatie? In het verleden betekende dit dat er scripts geprogrammeerd moesten worden, of dat er speciale software nodig was de migratie van data. Ook hiervoor kan low-code uitkomst bieden. Door de veelzijdigheid van low-code platforms kun je de functionaliteit die nodig is voor datamigratie onderdeel maken van de nieuwe applicatie. Met behulp van flows kun je herhaalbare taken modelleren om de data van het oude naar het nieuwe systeem over te halen. In dit soort flows kun je allerlei logica inbouwen om de data te transformeren, wat in de praktijk vaak nodig is, omdat de datastructuren in de nieuwe applicatie afwijken van die in de oude applicatie.
Aan de slag met low-code
De voordelen van low-code die hierboven zijn genoemd maken het vervangen van legacy software een stuk minder spannend dan voorheen. De mogelijkheid om de ontwikkeling van nieuwe applicaties in fases te doen, met kortere ontwikkeltijden, en tegelijkertijd processen te kunnen verbeteren, maken het aantrekkelijk om nu aan de slag te gaan met de vervanging van legacy en daarmee de innovatiekracht van een organisatie te vergroten.
Er bestaan veel verschillende low-code platforms met elk hun eigen voors en tegens. Bij E-mergo bouwen we applicaties met Mendix en Power Apps. Ben je benieuwd of low-code jouw organisatie kan helpen met het vervangen van legacy software? Heb je concrete case die je met low-code zou willen oplossen, maar zoek je advies voor het kiezen van meest geschikte platform? E-mergo kan hierbij helpen, bijvoorbeeld met een App in a Day sessie. Voor meer informatie over de mogelijkheden van low-code, neem contact op met een van onze accountmanagers of plan via de button hieronder gelijk een afspraak in.
Geschreven door Steven Samuels Brusse,
Senior Consultant
Werken bij E-mergo
Ben je een ervaren ontwikkelaar, of wil je leren hoe je zelf applicaties kunt bouwen met low-code? Wij zoeken nieuwe collega’s om het low-code team te komen versterken. Ga naar alle openstaande vacatures via de button hieronder.