Hoe plan je al onze treinen in heel Nederland? Met vierhonderd planners en een complexe plannings- en toewijzingsapplicatie, Donna. Van personeel tot materieel, planning op knooppunten en natuurlijk het spoor zelf. Donna is onmisbaar.
Ruim honderd collega’s werken aan de applicatie. Een van die teams is Conflictsignalering. Hun software berekent waar elke trein zal zijn en koppelt direct terug naar de planner of een spoor dubbel bezet gaat zijn. De developers in het team herschrijven de applicatie zodat de planners straks op tienden van minuten eventuele conflicten tussen treinen kunnen zien.
Want met een verwachte reizigersgroei van dertig procent in de komende jaren innoveert NS op alle vlakken. Meer sporen leggen gaat niet, en de perrons verlengen kan maar beperkt. De oplossing? Meer treinen over hetzelfde spoornetwerk laten rijden.
De nieuwe applicatie berekent vijftigduizend treinbewegingen over zevenduizend kilometer spoor, opgedeeld in zestienduizend secties. Bij elkaar zijn dat miljoenen bezettingen van secties waarvoor de software beoordeelt of ze onderling overlappen en dus mogelijk conflicteren. Al die resultaten komen visueel samen op het scherm van de planners. ‘Het zijn best complexe puzzels die opgelost moeten worden qua software’, vertelt één van de developers.
Om dat op te vangen zet het team veel nieuwe technieken in. Zo werken ze met een container platform en een in-memory database die de snelle berekeningen kan realiseren. ‘Dat is stoer, want je zit met je team met nieuwe technieken te worstelen en je voelt dat je on top of things bent. Vooral omdat we van best een oude applicatie komen en nu heel erg aan het vernieuwen zijn.’
Dat ‘best oud’ klopt, want Donna is al vijftien jaar oud. De van oudsher monoliet ontwikkelt zich nu steeds verder in deelapplicaties en microservices, zodat de teams sneller nieuwe versies van de applicatie kunnen releasen. ‘Je kijkt je ogen uit als je de oude code ziet. Maar er is zoveel enthousiasme om te vernieuwen, daar krijg ik energie van. Het gaat om een miljoen regels code, dat kan je niet even in een week herschrijven.’
Net als steeds meer teams bij NS, werkt ook Conflictsignalering in een DevOps team. ‘Wij zijn als team helemaal verantwoordelijk voor dit deel van de applicatie, van development tot deployment. ‘We zijn veel aan het pionieren, dus kijken we vaak met elkaar mee. Wat kan er nog beter, elkaars code reviewen. Iedereen heeft zijn eigen specialiteit en is ook bereid elkaar te helpen.
Die teamspirit was ook de basis van het succes van het project: ‘We hebben eerst een half jaar samen hard gewerkt aan alle berekeningen van de deelapplicatie, los van de hoofdapplicatie. Toen het tijd was om te kijken of onze applicatie ook echt integreerde met de monoliet was dat wel even spannend! Als je dan met je team de resultaten van al die berekeningen functioneel op het scherm van de planner ziet verschijnen, dat is een geweldig gevoel. Toen hebben we wel even met zijn allen staan juichen.’
Freek
“Komend weekend ga ik naar een feestje en dan pak ik weer een OV-fiets. Dat is natuurlijk supergaaf als ik eraan gewerkt heb.” Freek Claessen is projectmanager bij NS-stations services. Hij werkt dagelijks aan de OV-fiets, OV-Ebike, de (onbemande) fietsenstallingen, toiletten en bagagekluizen.
Vandaag viert Ismail Amghar het Offerfeest. Ismail, Product Owner vertelt: “jaarlijks mag ik bij NS drie christelijke feestdagen omruilen voor drie niet-christelijke feestdagen. Dankzij deze regeling kan ik tijdens het Offerfeest gewoon vrij zijn en bijvoorbeeld met kerst werken. Ik vind dit echt een geweldige regeling, omdat ik zo elk jaar tijdens islamitische feesten zoals het Suikerfeest en het Offerfeest zonder problemen vrij kan nemen.”
Ala
Ik werk als Robotic Process Automation Developer. Dat houdt in dat ik bedrijfsprocessen automatiseer voor collega’s die repeterend werk doen. Een bot kan een hoop handmatig werk overnemen, zoals een tool die de kosten van een vervangend vervoersbewijs teruggeeft wanneer reizigers hun ov-kaart zijn vergeten mee te nemen.
Voor een goede werking van deze website worden cookies gebruikt. Cookies zijn kleine (tijdelijke) tekstbestanden die door je browser worden opgeslagen. Zo maken we gebruik van functionele cookies om je instellingen te onthouden en van analytische cookies om het gebruik van de website anoniem te analyseren en te verbeteren.