Voor veel organisaties zijn hun legacy systemen nog steeds cruciaal. Door achterstallig onderhoud kunnen de kosten van veranderingen echter hoog oplopen, terwijl deze wijzigingen onvermijdelijk zijn in de huidige continu veranderende markten. Het opstellen van testware voor legacy systemen is een investering die de organisatie ruimschoots zal terugverdienen.
De auteurs van dit artikel stellen in ‘Braakliggend testgebied’ (https://www.computable.nl/artikels/archief4/d02ms4oh.htm) dat een testafdeling voor de beheerorganisatie de schakel moet worden naar de ict-projecten. Uitgangspunt daarbij is dat bij de start van projecten de kern van de beheerorganisatie goed is beschreven in testware (model 0). Dit is vaak niet het geval, vooral in projecten waarbij ‘legacy’ systemen betrokken zijn. In deze omgeving zijn veranderingen vaak moeilijk aan te brengen. Daardoor wordt het beheer nog complexer en nemen de risico’s op verstoringen van het primaire bedrijfsproces toe. Het is dan ook van belang de ontbrekende testware voor legacy systemen op te stellen.
Erfenis
Legacy is een erfenis uit het verleden. Deze erfenis is van essentieel belang voor de continuïteit van de organisatie. Zonder een correcte werking ervan houdt de organisatie op te bestaan. De kenmerken van legacy zijn dat het vaak erg oud is, er veel interfaces zijn, de complexiteit groot is en de kennis vooral in de hoofden zit van enkele medewerkers die al lang voor het bedrijf werken. De documentatie is verouderd, het beheer wordt vooral door technische specialisten uitgevoerd en er is weinig functionele kennis over de legacy systemen. Een oorzaak van deze situatie is dat systeemgroei vrijwel altijd heeft plaatsgevonden zonder de documentatie bij te werken. Laag op laag is bijgebouwd en de kennis is meestal na ieder project verdwenen.
De correcte werking van ict-systemen wordt bij verandering getoetst. De controles worden vastgesteld op basis van de vereiste werking, invoer en uitvoer van het systeem. Testware is het geheel van de documentatie, het inzicht in de systemen, de controles en de resultaten van de controles. Zonder adequate testware is het niet mogelijk aanpassingen aan het systeem te controleren. Dat geldt ook voor storingen in de productie die het primaire bedrijfsproces verstoren.
Dit geldt ook voor legacy systemen. In de praktijk is het echter vaak niet mogelijk goede testware op te zetten. In het uiterste geval vindt de test plaats door gebruik van de applicatie in productie en wordt bij calamiteiten een ad-hoc oplossing bedacht of de implementatie simpelweg teruggedraaid.
Zolang de legacy systemen zich stabiel (lijken te) gedragen en aanpassingen in de functionaliteit ervan klein lijken wordt de noodzaak tot het hebben van goede testware niet gevoeld. De markt blijft echter onder invloed van nieuwe zakelijke mogelijkheden continu om veranderingen vragen. Hierdoor ontstaat, met de kenmerken van legacy in ons achterhoofd, na verloop van tijd een situatie die onbeheersbaar, oncontroleerbaar en geldverslindend is. Dan moet de organisatie dus investeren in het opzetten en onderhouden van testware.
Levensduur
De onderneming ziet beheerorganisaties nog altijd als kostenpost. Dit betekent dat noodzakelijke vernieuwing vaak niet doorgevoerd mag worden en de jaarlijkse exploitatie exponentieel stijgt. Regelmatig investeren in de legacy systemen zal de exponentiele stijging onderbreken en de kosten dus sterk verminderen.
Hoe hoog de huidige kosten door achterstallig onderhoud zijn, is binnen de meeste bedrijven niet duidelijk. De gevolgen wel: gebruik en beheer is complexer en vraagt meer middelen, en het duurt langer voordat fouten worden opgelost. Deze kosten zijn meestal niet terug te voeren op de oorzaak, maar worden als ‘normaal effect van legacy’ ervaren.
Naast het feit dat nietsdoen duur is leidt het tot een verkorting van de levensduur van het systeem: op een bepaald moment lopen de kosten zo hoog op dat alleen een mega-investering (herbouw, nieuwbouw of aankoop) tot een oplossing kan leiden. De levensduur van deze informatiesystemen daalt misschien wel met 50 procent. Gebruik en beheer zijn complexer en vragen meer middelen. Denk hierbij ook aan eerste-, tweede- en derdelijns ondersteuning. De beheerkosten stijgen dus exponentieel.
Het terugbrengen van deze beheerkosten speelt bij projecten meestal geen rol omdat deze gericht zijn op een beperkt bereik van het legacy systeem. Hierdoor zal het project ook niet de ontbrekende legacy testware opleveren. De impuls hiertoe moet vanuit hoog managementniveau in de staande organisatie komen.
Onbetaalbaar
Critici stellen terecht dat het onbetaalbaar is om de ontbrekende testware van legacy systemen boven tafel te krijgen teneinde ons model 0 te verkrijgen. Goed testen is gebaseerd op risicobeheersing. De minder risicovolle gebieden van de omvangrijke legacy omgeving hebben dus minder prioriteit. Dit is een kwestie van de juiste risicoanalyse opstellen. Het is verstandig hierbij zoveel mogelijk gebruik maken van de zaken die er al zijn.
Het startpunt is de aanwezige kennis omtrent de functionaliteit. Deze kennis is aanwezig bij de functionele en technische systeemexperts en in de, waarschijnlijk verouderde, documentatie. Door gebruik te maken van deze kennis zijn op hoog niveau de risicogebieden van een systeem te bepalen. De voor het bedrijfsproces gevaarlijkste risicogebieden zullen vervolgens verder uitgewerkt moeten worden in testware.
Grofweg kan de organisatie hierbij een drietrapsaanpak gebruiken. Allereerst is er het hergebruik van bestaande testware. Veel bedrijven hebben tijdens de ‘jaar 2000’- en euro-trajecten uitgebreide inventarisaties en testtrajecten uitgevoerd. De testware die op dat moment opgebouwd is kan een goed vertrekpunt zijn. De tweede stap is een onderzoek naar de mogelijkheden van automatisch herontwerp. Hiervoor zijn veel goede tools op de markt.
De laatste, voor de tester de interessantste stap is het gebied wat daarna overblijft. Verkenning en uitdieping van dit gebied doe je met behulp van risicosessies. Daarbij geven de functionele en technische experts in een bepaald risicogebied gezamenlijk de minimale eisen aan voor het betreffende terrein. Na akkoord van deze sessie kan de testanalist, met gebruikmaking van zijn specifieke testvaardigheden, deze eisen ombouwen naar logische testgevallen. Ervaring leert dat, mits de juiste mensen aanwezig zijn en de juiste procesafspraken gemaakt zijn, binnen enkele sessies een risicogebied voor 80 procent beschreven is in herbruikbare testware. Dit betekent dat de schaarse tijd van de experts optimaal gebruikt wordt. Ervan uitgaande dat in de oude situatie de experts bij iedere vrijgave betrokken moesten worden tijdens het testen, is de investering binnen één vrijgave terugverdiend.
Uitbouwen
De conclusie dat het opstellen van goede testware voor legacy systemen een langdurig en continu proces is met vele richtlijnen, standaarden en procedures onderschrijven wij dus niet. Het is mogelijk om op eenvoudige en snelle wijze een begin te maken met het model 0. Via de opeenvolgende vrijgaven is deze basis gaandeweg verder uit te bouwen, waardoor het legacy systeem beter beheersbaar wordt.
Legacy systemen zijn in het algemeen stabiel. Zolang de noodzaak tot verandering niet gevoeld wordt, is er weinig bereidheid tot extra investeringen in deze systemen. Organisaties moeten deze producten echter blijven onderhouden om het hoofd te kunnen bieden aan nieuwe zakelijke mogelijkheden, bijvoorbeeld ontsluiting middels internet. Dit is alleen mogelijk als het beheer van deze legacy systemen goed georganiseerd is. Daarbij is het beschikbaar hebben van goede testware een vereiste. Dank zij hergebruik, moderne gereedschappen en gezond (test)verstand is het mogelijk dit op een efficiënte en effectieve manier te doen. Hierdoor wordt legacy in plaats van een last een waardevol middel voor het bedrijf.< BR>