Legacy-software is terecht een hot item binnen IT. Het slurpt namelijk IT-resources op, belemmert je innovatie en is een sta-in-weg voor je digitale transformatie. Helaas is er geen goedkope, one-size-fits-all oplossing voorhanden voor deze verouderde bedrijfskritische systemen. In dit artikel zoomen we in op vragen als: hoe kun je waarde blijven halen uit je oude IT-investeringen? En hoe zorg je ervoor dat, gaandeweg de transformatie naar moderne systemen, je legacy-systemen beschikbaar zijn in de moderne werkplek?
Het veelkoppige monster van legacy software
Oude, of beter nog: verouderde, IT-investeringen vormen vaak een uitdaging binnen organisaties. Denk aan applicaties die gebaseerd zijn op oude technologieën, die bepaalde functionaliteiten missen of die nog niet beschikbaar zijn in de vorm van Software-as-a-Service (SaaS).
De hoofdreden dat legacy-systemen nog bestaan? Dat is in de regel dat men vreest dat het heel duur of ingewikkeld is om over te stappen op een modern systeem. Bij maatwerksoftware zoals custom ERP's is het bijvoorbeeld zo dat er in de regel veel kennis over het bedrijf besloten ligt in het systeem. Bij het opnieuw opbouwen van een applicatie, zo denkt men, kan een hoop van deze kennis over bedrijfsprocessen verloren gaan.
Daarnaast heerst vaak het idee dat het zonde is om te investeren in een nieuw systeem zolang het oude systeem nog draait. Ook een veel voorkomend probleem: er bestaat weerstand onder medewerkers tegen nieuwe software omdat niet iedereen van veranderingen houdt.
De problemen van legacy IT
De achterliggende oorzaken voor het ontstaan van legacy software zijn bij de meeste organisaties gelijk. Denk aan het overnemen van kleinere bedrijven die hun eigen systemen hebben, een gedecentraliseerde aanpak van de IT-afdeling waardoor verschillende divisies of vestigingen eigen software hebben gebouwd alsmede maatwerksoftware waarvoor destijds technologieën gekozen zijn die inmiddels zijn verouderd (zoals de programmeertalen COBOL en .NET).
De problemen die kunnen ontstaan door verouderde software zijn talrijk, zoals:
- De applicatie kan niet (makkelijk) worden gemigreerd naar de cloud
- De applicatie is niet schaalbaar
- Het upgraden van de applicatie is (bijzonder) lastig en duur, met als neveneffect dat de IT-afdeling minder tijd heeft voor andere zaken
- De gebruikerservaring voldoet niet meer aan de eisen van de moderne tijd
- De applicatie bevat niet alle functionaliteiten die de gebruikers nodig hebben
- De applicatie is niet (altijd) geschikt voor integraties met andere, modernere software
- De applicatie is lastig te integreren in de moderne werkplek omdat er geen cloud- of SaaS-versie beschikbaar is (dit probleem is, zoals we later zullen uitleggen, gemakkelijk op te lossen met Workspace 365)
Gevolg van al deze problemen? De verouderde applicaties remmen je innovatie en zijn een obstakel voor je digitale transformatie.
Oplossing: het moderniseren van legacy systemen
Omdat legacy software door (onder meer) het opslurpen van IT-resources en een verminderde productiviteit en efficiëntie onnodig veel geld kosten, zijn deze systemen niet langer kostenefficiënt en bestaat er dus een noodzaak om legacy systemen te moderniseren.
Hoe je jouw legacy systeem het beste kunt moderniseren? Dat hangt af van een aantal factoren. Te denken valt aan de mate van technische en functionele veroudering, de mate waarin je het systeem kunt integreren met andere software en de kosten voor het moderniseren afgezet tegen de kosten voor het behouden en onderhouden van het huidige systeem. Gartner onderscheidt zeven opties voor het moderniseren van legacy-software:
1. Encapsulate
Optimaliseer en breid de functionaliteiten van de applicatie uit door de data en functies in te kapselen en ze beschikbaar te stellen als services via een API. Op deze manier kun je componenten op individuele basis upgraden.
2. Rehost
Implementeer de applicatie opnieuw in een andere (cloud-)infrastructuur zonder dat je de code, functionaliteiten of functies hoeft te veranderen. Dit wordt ook wel lift and shift genoemd en kan met platformen voor virtualisatie zoals Microsoft Hyper-V of VMWare.
3. Replatform
Migreer naar een nieuw runtime-platform. Daarbij doe je minimale aanpassingen aan de code, maar niet aan de architectuur van de code, de functionaliteiten of de functies.
4. Refactor
Herstructureer en optimaliseer de bestaande code (maar niet z'n externe gedrag) met als doel om technische ballast te verwijderen en niet functionele attributen te verbeteren.
5. Rearchitect
Breng aanzienlijke wijzigingen in de code aan om naar een nieuwe, geüpgraded architectuur voor de applicatie te kunnen gaan met nieuwe en vooral ook betere mogelijkheden tot gevolg.
6. Rebuild
Hierbij ga je terug naar de tekentafel om de applicatie te herontwerpen of te herschrijven, waarbij je de scope en specificaties van de applicatie behoudt.
7. Replace
Veeg de volledige oude applicatie van tafel en vervang hem. Een belangrijk aspect is dat je opnieuw, met een frisse blik gaat kijken naar alle vereisten en behoeften. Dit is de meest vergaande optie, waar een aantal grote nadelen aan kleven: zo is het duur, kost het een hoop tijd en zorgt het voor de nodige bedrijfsrisico's.
Biedt no-code of low-code soelaas?
Bij het moderniseren van legacy software is de grote angst vaak dat zo'n softwareproject verschrikkelijk duur en tijdrovend is. Dat hoeft het niet te zijn als je kiest voor no-code of low-code.
Met deze nieuwe manier om software te ontwikkelen staan er kant-en-klare softwaremodules klaar op het ontwikkelplatform, waardoor het bouwen van applicaties tot tien keer sneller gaat dan bij traditionele softwareontwikkeling. Bij het sterk visueel georiënteerde no-code is er helemaal geen programmeerkennis vereist; low-code heeft vooral als doel om programmeurs sneller te laten ontwikkelen. Bekende platformen zijn bijvoorbeeld Mendix, OutSystems, Betty Blocks, Thinkwise en Microsoft Power Apps.
Er zijn drie manieren om met no-code of low-code je verouderde software te moderniseren:
1. Opnieuw bouwen van de applicatie
Deze manier is vooral geschikt als de applicatie niet alleen vanuit technisch oogpunt rammelt, maar ook vanuit functioneel oogpunt het een en ander te wensen over laat. De nieuwe applicatie kan snel worden ontwikkeld (maar niet zo snel als bij upcycling) en zowel alle functionele als alle technische legacy kan worden verwijderd.
Daar staat helaas tegenover dat deze methode veel tijd en moeite kost en dat je relatief veel risico loopt op scope creep, oftewel het langzaamaan uitbreiden van de reikwijdte van een IT-project - vaak terwijl niemand het door heeft - zonder dat er een nieuwe scope wordt vastgesteld.
2. De applicatie upcyclen
Bij upcycling lees je als het ware de database van een legacy-applicatie uit, waarna op basis van de databronnen de metagegevens worden afgeleid en de basis voor je nieuwe applicatie wordt gelegd.
Het moderniseren vindt dus niet plaats door de applicatie helemaal from scratch weer op te bouwen, maar door bruikbare onderdelen te recyclen waarbij je oude code niet naar nieuwe code hoeft om te zetten. Op deze manier gaat het ontwikkelen heel snel, loop je niet het risico op scope creep, blijven de functionaliteiten hetzelfde en wordt alle technische legacy verwijderd.
3. Laagje maatwerk bovenop legacy systeem
Heb je een legacy systeem dat het vanuit technisch oogpunt nog prima doet en waarmee je kunt koppelen, maar waar op functioneel vlak het een en ander aan schort? Bijvoorbeeld omdat je iets als een voorportaal mist waar klanten data kunnen inzien en wijzigingen kunnen doorvoeren?
Dan kun je met een platform voor no-code of low-code een stukje maatwerk bovenop het legacy-systeem bouwen. Een slimme interface zorgt voor het synchroniseren van gegevens tussen de legacy-software en de no-code of low-code applicatie. Waar het volledig herbouwen van zo'n systeem maanden tot zelfs jaren kost, kan zo'n stukje maatwerk - letterlijk - volgende week of volgende maand al live staan.
De moderne werkplek versus verouderde software
Hoe verhoudt de moderne werkplek - oftewel een online werkplek waar alle applicaties, documenten, informatie en contacten zijn verenigd in één omgeving - zich tot verouderde software? Laten we vooropstellen: een moderne werkplek waarbij alle applicaties beschikbaar zijn in de cloud als SaaS is de ideale oplossing. Dat levert namelijk het meeste gebruiksgemak en de minste frustraties en technische complicaties op.
Hoewel de "versaasing" al voor de coronacrisis op volle sterkte was en door corona alleen nog maar maar in een stroomversnelling is gekomen, zijn tegenwoordig nog steeds een heleboel applicaties niet beschikbaar als SaaS. Voor legacy-systemen zal dit ook bijna altijd het geval zijn.
Een hybride moderne werkplek, waarbij legacy in één adaptive-workspace omgeving wordt geïntegreerd met cloud-gebaseerde apps en data, kan een mooie tussenstap zijn naar een volledig nieuw systeem. Waarom? Om meerdere redenen. Omdat je de legacy software nog even behoudt maar de nieuwe werkplektechnologie al wel implementeert, spreid je de kosten en de implementatierisico's over een langere tijd uit. Bovendien vergroot het de kans op een succesvolle adoptie: medewerkers hoeven niet uitsluitend nieuwe software te gaan gebruiken, ze kunnen hun vertrouwde bedrijfsapplicatie(s) blijven gebruiken terwijl ze ondertussen wennen aan de nieuwe moderne werkplek.
Een hybride moderne werkplek met Workspace 365
Verouderde software - zo zal inmiddels duidelijk zijn - is verre van ideaal, maar dankzij Workspace 365 kun je deze applicaties in ieder geval naadloos integreren in je moderne werkplek. Met een hybride werkplek van Workspace 365 kun je applicaties die draaien op virtualisatieplatformen zoals Azure Virtual Desktop, Citrix Workspace en Nutanix Frame alsmede oude fileservers makkelijk integreren in je werkplekomgeving.
Voor het toevoegen van individuele applicaties biedt Clientless RDP uitkomst: daarmee wordt de applicatie remote gestreamd in de browser zonder dat je eerst een client moet installeren op je computer of moet inloggen.
Hoe draagt de hybride moderne werkplek bij aan de doelstellingen van je organisatie? Medewerkers hebben altijd en met slechts één klik toegang tot alle applicaties die ze nodig hebben om te kunnen werken, ongeacht of dat deze applicaties web-based, hosted, lokaal of on-premise beschikbaar zijn. Daardoor hebben medewerkers binnen één interface en met één klik alle relevante applicaties, documenten, contacten en informatie voorhanden.
Moeten ze dan constant wachtwoorden invullen? Zeker niet, dat is passé: één inlog volstaat. Workspace 365 ondersteunt namelijk single sign-on. Bovendien kan de werkplek eenvoudig worden beveiligd met multi-factor authenticatie.