Beheer

Software-ontwikkeling
nieuw!

IT staart zich blind op 'nieuw, nieuwer, nieuwst'

Nieuw is vaak beter. Maar niet altijd.

6 mei 2020

Oud wordt vaak gezien als slechter. Maar is dat zeker niet altijd. Zie de recente zaak van technical debt met Cobol bij de Amerikaanse overheid. Dat lijkt helemaal niet te liggen aan de legacy van die klassieke programmeertaal. Het zou waarschijnlijk zelfs liggen aan de juist de moderne component in de opstelling vóór het legacysysteem. Of in de combinatie van oud en nieuw dan. Hoe dan ook, oud is niet per sé slecht maar lijkt dat wel door IT-blindstaren op 'nieuw, nieuwer, nieuwst'.

Ik moest aan twee anekdotes uit mijn eigen ervaring denken toen ik de uitleg over legacyproblemen las van Jurgen Vinju. Die hoogleraar Automatische Software Analyse bij het NWO-I Centrum Wiskunde & Informatica (CWI) vertelt namelijk aan AG Connect dat de Amerikaanse problemen met het IT-systeem voor werkloosheidsuitkering eigenlijk niet aan legacysoftware kunnen liggen. De opgetreden haperingen in het verwerken van de enorm toegenomen instroom van aanmeldingen voor uitkeringen zijn waarschijnlijk te wijten aan de 'moderne zijde' van de ingerichte oplossing, zo vermoedt Vinju.

98 SE vs XP SP1

De ene anekdote is van hele andere orde dan serieus-zakelijke software voor grootschalig overheidsgebruik. Het gaat om Windows 98 (Second Edition) versus Windows XP (van vóór Service Pack 2). Jawel, oude tijden in IT-begrippen. Maar eigenlijk helemaal niet zo oud. Daarin zit juist een deel van het probleem. Hierover straks meer.

Nu eerst terug naar die ene anekdote, van vele jaren geleden. Ik had (weer eens) een nieuwe pc gekocht, een nog snellere en nog betere desktopmachine. De oude was knutselproject geworden en de voorganger dáárvan was in wezen over. Overbodig geworden. Een ZZP'ende vriend van me ging net een werkplek buitenshuis (bij een mede-ZZP'er) huren, had geen laptop en kon wel een extra pc gebruiken. Dus mijn tikje-oudere maar nog prima dienstdoende 98-pc ging daarheen.

Compatibiliteit

Bij het aansluiten op de gedeelde internetverbinding van de gezamenlijke ZZP-werkruimte stuitte ik op problemen. Gewoon web- en mailverkeer bleek niet te werken. "Oh ja", wist de vriend mij te informeren, "er is iets anders ingesteld door de internetprovider". Waarop ik een mail te zien kreeg dat er door de isp een proxy was ingesteld vanwege aanhoudende virus/worm-activiteit vanaf het IP-adres van deze internetverbinding.

Ik keek naar de andere pc in de kantoorkamer, die Windows XP (pre-SP2) draaide en ik gaf het advies dat die dan flink opgeschoond moest worden. Of misschien zelfs volledig gewiped en vers geïnstalleerd. Maar daar ging ik mij nu niet aan wagen. Ik sloot de 98-pc aan en stelde de nieuwe eigenaar gerust: de XP-infecterende malware waar de isp-mail over schreef (Blaster, of was het toch Code Red? ik weet het nu niet meer) was incompatibel met Windows 98. "Dus deze oude pc die jij wegdoet is veiliger dan die dure die hij laatst nieuw heeft aangeschaft!", verklaarde de vriend. Een helder en correct inzicht. Toen, in die tijd.

Nalatenschap

De andere anekdote uit mijn eigen historie is een correctie die een geïnterviewde me ooit gaf toen ik vragen stelde over legacy. De topman in kwestie, van een IT-leverancier die systeemmigraties maar ook systeemonderhoud verzorgde, wist me te verbeteren dat legacy lang niet altijd legacy is. Dat woord suggereert namelijk oud en ongewenst; iets waar je mee opgescheept zit en waar je van af wilt. Maar in sommige gevallen is dat waardeoordeel helemaal niet van toepassing.

In sommige gevallen is het niet legacy maar heritage. Heritage zoals gewaardeerd cultureel erfgoed, of een waardevolle nalatenschap. Oud hoeft immers helemaal niet slechter te zijn dan nieuw. Soms is nieuw minder goed, of soms is de later gebouwde combinatie van oud met nieuw niet goed. Of was het toen, in die tijd, wel goed maar blijkt het later niet goed genoeg te zijn.

Eigenlijk gaat het niet om oud versus nieuw, maar om klassieke IT-thema's als complexiteit, beheerbaarheid en ook schaalbaarheid. 'Nieuw, met verbeterde formule' kan dus betekenen 'nieuw, met extra complexiteit'. Laten we daar oog voor hebben en ons niet blindstaren op nieuw, nieuwer, nieuwst!

Reactie toevoegen
4
Reacties
Bop 08 mei 2020 15:50

'Teknikul dept' en 'lekkussie' zijn een soort technische achterstand en technische erfenis, zeg maar?

Ik vraag maar even.
Ik spreek namelijk Nederlands.

Jasper Bakker 07 mei 2020 13:49

@Marco
Wat mijn Windows 98-case betreft, dat was echt jaren geleden. Toen browsers nog minder belangrijk waren én toen IE (en Netscape Navigator!) op 98 nog wel fatsoenlijk websites lieten werken.
Ik dacht dat ik de 'oudheid' van die ene anekdote wel duidelijk had aangegeven (met bv 'XP pre-SP2'), maar voor de zekerheid heb ik nu toegevoegd "van vele jaren geleden".
:)

PS En die vriend is allang weer een aantal nieuwere pc's (met dito OS-versies en browsers) verder...

Marco Schramp 07 mei 2020 12:26

Oud zit vooral in het onderhoud van systemen. COBOL programmeurs sterven uit (letterlijk) en oude mainframe platformen worden door leveranciers na een tijdje niet meer ondersteunt. Hoewel een systeem het op dit moment nog goed doet, is het wel van belang naar de toekomst te kijken of het systeem ook in de toekomst kan meebewegen met verandering binnen het bedrijf.

Voor die verandering heb je applicatiebeheer en technisch beheer nodig en vaak ook ondersteuning van je leverancier. Zolang dit geen risico is, is je oude systeem geen risico en kan je het blijven gebruiken en doorontwikkelen. Als dat wel een risico is, dan heb je een probleem. Genoeg bedrijven die zagen dat hun laatste medewerker met kennis van het oude platform onverwacht met pensioen zien gaan.

Om je Windows-98 case te noemen: de browser is zo oud, dat je geen fatsoenlijke website ermee kan laten werken. Ontwikkelaars die gewend zijn om voor dit platform iets te bouwen zijn op een hand te tellen. Je bent persoonlijk de supportdesk voor je vriend geworden. Voor een bedrijf niet echt een optie.

Nieuw/nieuwer/nieuwst is niet noodzakelijk voor een onderhoudbare oplossing, maar oud/ouder/oudst is vaak wel een probleem.

Atilla Vigh 07 mei 2020 12:23

Legacy betekent ook niet oud, maar zoals Jasper het zegt: complex, onbeheerbaar en niet schaalbaar. De oplossing moet passen in het gehele organisatie-landschap!