Hoe monitor je álle treinen?

Trein NS

Een trein plannen van Utrecht naar Amersfoort is één, maar welke trein gaat dat zijn en welk personeel gaat er mee? En past die trein wel op het geplande perron? Dat en meer wordt geregeld via de complexe IT-systemen van de afdeling Logistiek & Transportbesturings Service Organisatie (LTSO).

Een van die systemen is B@M. Bij een storing, aanrijding of vertraging zorgen de bijstuurders van NS met behulp van B@M dat de reizigers zo snel mogelijk weer verder kunnen. B@M monitort realtime zevenduizend treinritten per dag aan de hand van zo’n half miljoen meldingen van sensoren langs het spoor. Zonder B@M rijdt er geen trein: ‘Dan moet je wel een systeem hebben dat die hoeveelheid informatie aan kan, het mág er niet uit liggen,’ vertelt één van de Java Developers. Rijdt een trein te vroeg of te laat langs één van de talloze sensoren van Prorail langs het spoor? B@M maakt  de afwijkingen visueel. Zo hebben de bijstuurders altijd een zo goed mogelijk beeld van de werkelijkheid, waardoor zij snel kunnen schakelen. Bijvoorbeeld door een nieuwe trein in te zetten. Het is dan ook een van de meest kritieke systemen van NS.

State of the art software

Niet zo gek dus dat er vijf ontwikkelteams werken aan de applicatie. B@M is opgedeeld in verschillende (technische) componenten. Elk scrumteam is verantwoordelijk voor vier of vijf componenten van het state of the art systeem dat sinds 2019 live is. Het nieuwe systeem was hoognodig, vertelt de lead developer van een van de teams: ‘Het oude systeem was geschreven in een programmeertaal die bijna niemand meer kende. Developers van het systeem gingen inmiddels zelfs met pensioen.’ Er zat dus aardig wat druk achter de komst van een nieuw systeem. Zeven jaar lang werd er gewerkt aan een nieuwe versie. Geschreven in de industriestandaard Java en bovendien gericht op continue innovatie. ‘We willen dat dit systeem actueel blijft en blijven continu door ontwikkelen. Het leuke is dat we nu ook nieuwe features kunnen gaan bouwen. Er is genoeg te ontwikkelen als je hier als developer aan de slag gaat.’

Release train op volle toeren

Die nieuwe functionaliteiten kunnen de teams zelf met een druk op de knop releasen. ‘Wij werken met een ‘release train’. Als we een functionaliteit hebben ontwikkeld, testen we die eerst in de ontwikkelomgeving, dan in de acceptatieomgeving en vervolgens gaat hij mee in de release die elke drie weken plaatsvindt. In één release zitten de verbeteringen van alle teams.’ Elke twee weken werken de teams in sprints aan hun nieuwe functionaliteiten. ‘Dat is een stukje commitment, voor onszelf maar ook naar de business toe: wij gaan dit oppakken. De ontwikkeling naar DevOps is ook fijn. Het is dan echt je eigen product, je voelt je verantwoordelijk voor elke wijziging. We zitten met allemaal jonge mensen, dat is ook gewoon gezellig. Samen kijken we: hoe gaan we het maken?’

Het allergaafste? Dat is nog altijd de impact je als developer bij LTSO maakt. ‘Zoveel mensen nemen de trein. Dan werk je zelf aan een vitaal systeem binnen dat domein. Het is ook heel sprekend, die complexe infrastructuur. Dat is gewoon gaaf.’

NS vacature alert

Jouw droombaan in je mailbox?

Mis nooit meer jouw ideale vacature met onze persoonlijke vacature alerts.