Met het stoppen van ondersteuning op Windows XP door Microsoft zie je de discussies over legacy weer oplaaien. Moet (wil) je XP in het veld vervangen, of kies je er misschien bewust voor om je omgeving op XP te laten draaien? Ook binnen de zorgsector kun je voor dit soort keuzes komen te staan. In onderstaand artikel licht ik toe waarom legacy in de onder andere de medische industrie vaak een bewuste keuze is.
Wanneer het woord legacy valt, denken de meesten al snel aan mainfram- applicaties en programmeertalen als Cobol. Maar legacy komt op veel meer plaatsen voor binnen de ict-sector, onder andere in wat we kennen als de ‘maak-industrie’, die ook ruim vertegenwoordigd is binnen de zorgsector. Hierbij kun je bijvoorbeeld denken aan apparaten als mri-scanners, of geavanceerde röntgenapparatuur die men gebruikt bij het vervangen van hartkleppen of bij dotter-ingrepen. Aan de buitenkant van dit soort apparaten zie je vooral veel ijzer, plastic en beeldschermen, maar onder de motorkap zitten miljoenen regels code.
Wat zit er onder de motorkap?
Onder de motorkap van deze apparaten zit soms aardig wat legacy-code verstopt. De keuze voor deze legacy is vaak niet eens zozeer technisch, maar veelal economisch gedreven. Ik zal dit proberen toe te lichten aan de hand van enkele voorbeelden:
- De prijzen van dit soort apparaten kunnen oplopen tot enkele miljoenen euros. De afschrijvingstermijn zal dan ook heel wat langer zijn dan de drie jaar die vaak voor pc’s op kantoor gehanteerd wordt. Koop je dus vandaag de dag een apparaat gebaseerd op bijvoorbeeld Windows 7, dan is de kans groot dat deze over vijftien jaar nog steeds op Windows 7 draait. Nu zie ik sommige lezers denken: wat een onzin, dan doe je toch gewoon tussentijds een upgrade naar een nieuwere versie… daar kom ik zo nog even op terug. Maar met dit soort prijzen loont het ook voor een leverancier al snel om de legacy-omgeving nog even te blijven ondersteunen. Dit is al snel goedkoper dan de klant een nieuw systeem aanbieden omdat het vorige verouderd is.
- Veel van deze systemen vallen onder de categorie ‘real time’. Een arts die aan het dotteren is bijvoorbeeld moet live kunnen zien wat hij doet; een te grote vertraging in het beeld kan fatale gevolgen hebben. De systemen zijn dan ook helemaal geoptimaliseerd op performance en betrouwbaarheid. Zelfs een nieuwe virusscanner kan de performance van het systeem al negatief beïnvloeden, zo heeft de ervaring geleerd. De impact van ‘even een nieuw besturingssysteem introduceren’ is dan ook aanzienlijk, vooral op het gebied van testen en vastleggen van de testresultaten om het vernieuwde product vrij te kunnen geven.
- Zeker wanneer je de hele levensduur van het apparaat met dezelfde hardware wil blijven doen, kun je tegen compatibiliteitsproblemen aanlopen als je het nieuwste besturingssysteem erop wil proberen te installeren. Op je pc thuis kun je dan nog overwegen het betreffende component te vervangen, maar in deze industrie is dat een zeer kostbare aangelegenheid. Los van de kosten van het component zelf, zit je ook hier met een uitgebreid test- en vrijgave traject enerzijds, en met logistieke uitdaging anderzijds. Daar waar je met auto’s een terugroep-actie kunt initiëren, zul je hier met de monteurs het veld in moeten om de componenten te vervangen. En dat veld beperkt zich niet tot ons eigen kikkerlandje, maar bestrijkt alle uithoeken van de wereld!
- Waar een update, puur vanuit software gezien, heel erg simpel kan zijn, haal je je op hetzelfde moment in het slechtste geval een gigantische berg werk op je hals om betreffende wijziging door te mogen voeren in het veld. Testsystemen, en dan in het bijzonder de oudere modellen, zijn doorgaans niet standaard beschikbaar, maar moeten eerst weer opgebouwd worden. Voor röntgen- of mri-systemen moet dat in speciale, afgeschermde, ruimten gebeuren, die eerst weer vrij gemaakt moeten worden als je pech hebt, met als gevolg dat je enkele weken moet wachten voordat je überhaupt kunt beginnen met testen. Vervolgens dienen er uitgebreide test- en vrijgave trajecten doorlopen te worden en de benodigde rapporten opgeleverd te worden voordat je de wijziging naar buiten kunt brengen. Dit kan sommige wijzigingen die heel triviaal lijken voor een buitenstaander toch nog heel duur maken voor de leverancier.
- Tot slot heb je binnen de medische sector ook nog te maken met wetgevingen. In sommige landen is vastgelegd dat je de apparaten waar ik hier op doel, nog geruime tijd (tien toto vijftien jaar) moet onderhouden na verkoop. Tenzij je klanten regelmatig wil voorzien van nieuwe hardware, is ook deze regelgeving één van de argumenten dat er nog veel legacy-code voorkomt in de medische sector.
Al met al voldoende argumenten die tot de keuze kunnen leiden om legacy-omgevingen in de medische sector nog even in de lucht te houden. Zo lang de apparaten naar behoren functioneren, en de veiligheid van de patiënt niet in het geding komt hoeft dat geen enkel probleem te zijn
Maar hoe zet je als leverancier nu een omgeving op om al deze legacy op een slimme manier te kunnen onderhouden? Indien er interesse voor is, wil ik daar in een volgend artikel wel wat over schrijven.
PaVaKe,
Mooi artikel!
Ik mis in dit artikel een essentiële vraag: Is het upgraden van besturingssysteem van dit soort (dure)apparaten de verantwoordelijkheid van de klant of de leverancier?
Als ziekenhuis weet ik nu al dat dat dure apparaat de komende 10-15 jaar mee moet. Dan kan ik toch voor selectie- en aankoopprocedures de onderhoudseis/wensen opstellen en meenemen.
Niemand gaat toch in een nieuwe en dure auto investeren terwijl hij al weet dat hij problemen heeft met onderhoud na 3 jaar!
Ik heb ook in twee trajecten meegemaakt dat de nieuwe back-end omgeving niet lekker rendabel was doordat de beoogde functionaliteiten niet door een aantal legacy apparaten zoals COW`s (Computer on Wheels)ondersteund werden.
Gelukkig hadden we een goed Functioneel Ontwerp en daarna POC opgesteld waardoor we (samen met de opdrachtgever) eerder in het traject dit soort problemen inzichtelijk konden krijgen.
Ik snap dat COW`s heel anders zijn dan apparaten zoals mri-scanners maar het gaat om inkoopbeleid van ziekenhuizen.
@Reza: goede vraag, waarop geen eenduidig antwoord te geven is.
Dit is namelijk een combinatie van factoren:
– is het een verplichte of optionele upgrade (een verplichte upgrade kan bijvoorbeeld uitgebracht worden omdat de veiligheid van de patient in het geding kan zijn)
– wat voor onderhoudscontract heeft de klant
Overigens is het “probleem in onderhoud over 3 jaar” niet van toepassing.
De producten worden gewoon onderhouden, er draait alleen legacy code op de systemen. Zolang de leverancier nog in staat is de benodigde service te leveren en eventuele problemen op te lossen is er absoluut geen onderhoudsprobleem.
Wat dat betreft zit de uitdaging eerder aan de hardware kant dan aan de software; deze laatste heeft als goede eigenschap niet te slijten 🙂
PaVaKe,
Klant mag toch een onderhoudscontract verwachten dat verder op verschillende aspecten van het apparaat (hardware, software, prestatie, veiligheid, programma`s etc) afgestemd is.
De leverancier van een besturingssysteem geeft ruim van tevoren aan wanneer een OS niet meer ondersteund wordt. Gebaseerd hierop heeft de leverancier van medische apparaten genoeg tijd om zijn spullen te upgraden en te testen.
Met deze wetendheid kun je toch je medische spullen modulaire opbouwen om dit bestendig te maken tegen de benodigde veranderingen (en ook slijtage) in de komende 10 jaar.
@reza … it’s all about the money, if it ain’t broken, don’t touch it!
Maar het één sluit het ander niet uit. Vergelijk het met een auto.
Op tijd olie verversen, om de zoveel kilometer de distributieriem etc en de auto blijft lekker doorrijden. Hiervoor hoef je geen bit te veranderen in de software die in de auto zit.
Zit er een bug in de software dan krijg je de bekende terug-roep acties (voor rekening van de leverancier). Wil jij als chauffeur per sé de laatste sw versie, dan zul je daarvoor zelf in de buidel moeten tasten (als het überhaupt al mogelijk is).
Modulair opbouwen lukt vandaag de dag steeds beter omdat de standaard hardware veel meer kan dan pakweg 10 jaar geleden. Beeldverwerking gebeurde destijds met speciale hardware met embedded software. Vandaag de dag voldoet een stevige PC met goede grafische kaart, wat meer mogelijkheden biedt voor een meer modulaire aanpak.
Pa Va Ke
“Zo lang de apparaten naar behoren functioneren, en de veiligheid van de patiënt niet in het geding komt hoeft dat geen enkel probleem te zijn”
De struisvogel steekt zijn hoofd in het zand om de mol te vertellen dat het prachtig weer is, ouderwets een diagnose stellen op basis van onze zintuigen is iets wat nu eenmaal steeds minder gedaan wordt. En mogelijk alweer vergeten maar Microsoft kwam pas met het Trustworthy Computing (TWC) initiatief nadat Nimda/Slammer ons bewust had gemaakt van de kwetsbaarheid die we hebben doordat we afhankelijk zijn van systemen waar onvermijdelijk fouten in zitten door groot aantal regels code.
Dat legacy niet eenvoudig te vervangen is door technische en economische beperkingen is logisch en geldt trouwens niet alleen voor de zorg, vergeet niet SCADA en APC systemen in bijvoorbeeld ons watermanagement waar mogelijk ook nog wel wat legacy in zit. Maar Microsoft waarschuwt al langer voor aankomende end-of-life van Windows XP waardoor deze legacy inderdaad een keus is, mogelijk meer uit gemak dan wijsheid gemaakt. Eenzelfde kortzichtigheid zie je trouwens bij andere legacy waar het niet zo zeer om verlies aan ondersteuning maar de kennis gaat terwijl de lifecycle van programmeurs echt bekend was.
Natuurlijk vervang je niet zomaar even al die (embedded) Windows XP systemen voor Linux ofzo maar meesten hebben al die tijd ook nog geen stappen gezet naar een upgrade, sommige hebben zelfs nog niet eens de omvang van het probleem geidentificeerd. En da’s toch best wel gek als ik overweeg dat we 14 jaar geleden ons wel druk maakten om millenium probleem en nu tegen dezelfde legacy aan kijken. Inderdaad is legacy een keus maar wanneer deze door de boekhouder gemaakt wordt misschien een foute, eerder schreef ik hier over in ‘Zelfhulp en kameradenhulp’ Betreffende je vergelijk met een auto vergeet je even dat de wet periodieke keuring verplicht, de auto wordt gecontroleerd op veiligheid.
“Zelfs een nieuwe virusscanner kan de performance van het systeem al negatief beïnvloeden, zo heeft de ervaring geleerd. ”
eeh ja, een virusscanner moet je per definitie updaten en heeft tot taak om alle files te onderzoeken op duizenden virussen. Dat gaat vast performance kosten. Virusscanner klinkt ook best MS Windows. Niet zo Real time. Laat je een dotterende arts daarvan afhankelijk zijn ? Meestal kies je voor dat soort zaken voor een dedicated standalone systeem. Waarom zou je die trouwens updaten ?
Maar voor de rest heb ik nix te zeiken. Dus eigenlijk een compliment.
@Ewout: absoluut waar dat mijn verhaal niet uniek voor de zorg is. De F16’s die vandaag de dag rondvliegen zullen ook echt niet de laatste versies van de software gebruiken. En zo zijn er nog veel meer voorbeelden te vinden binnen de “embedded sector”. De space-shuttle draaide ook op oude, maar wel stabiele, computers als ik me niet vergis.
Maar laten we wel wezen: als ik vandaag de dag een apparaat maak met de state of the art omgeving die we nu kennen, dan is deze over 15 jaar verouderd. Maar maakt dat het apparaat minder betrouwbaar? Ik durf de stelling om te draaien: een apparaat dat al 10 jaar stabiel op XP draait heeft alle kinderziektes voorbij zien komen is is derhalve betrouwbaarder dan de eerstvolgende opvolger van Windows 8.
Wat betreft je slotopmerking: de APK kijkt alleen naar de technisch/mechanische toestand van je auto, niet of de laatste software van je motormanagement systeem geïnstalleerd is, toch?
@Mauwerd: de apparaten waar ik op doel zijn een mix van windows, windows embedded en embedded software.
Zonder in details te willen verzanden zijn de systemen zo robuust ontworpen dat het real-time deel volstrekt betrouwbaar is.
Zulke systemen hangen echter ook aan ziekenhuis netwerken (ivm patientenadministratie, opslag gegevens etc) vandaar dat er een virusscanner op draait om besmetting langs die as zoveel mogelijk te voorkomen.
Hele interessante materie en voer voor de ondersteunennde IT professional. Ik volg de lijn van Reza in dit geval dat je als IT professional, zelfs met een commercieel oog, oog moet hebben voor de ontwikkelingen rond die systemen. Ik noem die systemen maar even geen legacy want up to date systemen die niet mee kunnen in een migratzie naar…. zijn feitelijk geen legacy.
Het is een mooie reminder voor ons in ieder geval ons oog ook op die situaties te richten.
Pa Va Ke
Sure, legacy heeft zich bewezen en hoeveel F-35’s straks uit de lucht gaan vallen weet ik niet maar dat een deel van ons vliegend materiaal met stickers aan elkaar gehouden wordt is ook iets van zorg. Betreffende de space-shuttle zijn er ook wat foutjes geweest die misschien wel regelrecht terug te leiden zijn tot de boodschap die ik geef, boekhouder houdt je boek en ga je niet bemoeien met protocol en proces.
Meestal krijgen we namelijk pas te horen krijgen dat er mensen op de operatietafel door verkeerde protocollen zijn gestorven als er statistisch gezien een afwijking is, lullig voor de nabestaanden maar wel de cynische realiteit. Zoals je weet is een incident nog geen probleem en als ik me niet vergis heeft Edward A. Murphy daar zelfs een wet voor bedacht want betreffende mijn opmerking over de APK gaat het niet om het motormanagement maar de remmen en milieuaspecten.
Dat er legacy is weet ik, dat deze niet 1-2-3 verdwenen is begrijp ik maar dat er soms weinig beweging is om dit op te lossen is niet erg logisch. Opmerkelijk trouwens dat zoiets als ‘Responsible Disclosure’ na 14 jaar nog steeds niet echt ingericht is en de klokkenluiders die aan ‘Social Disclosure’ doen als paria’s gezien worden. Ondanks bovenstaande heb ik nog steeds vertrouwen in de medische apparatuur, mits deze bediend en onderhouden wordt door vakkundige mensen in plaats van zorgmanagers en boekhouders.