Zo houd je overzicht over alle geplande treinen

Planningssysteem NS

Hoe maak je alle geplande treinritten van NS overzichtelijk? In Donna, het centrale planningssysteem van NS, werken dagelijks honderden planners met interfaces die talloze datastromen visueel maken. Eén van de DevOps teams van Donna ontwikkelt nieuwe grafische schermen. "Donna stuurt alles aan, alle treintijden komen hier vandaan," vertelt een tester uit het team. "Het systeem heeft een enorme impact."

"Alles op het scherm heeft een betekenis," legt de tester uit. "Je ziet per tijdstip waar de treinen rijden en hoe. Als er bijvoorbeeld werkzaamheden aan het spoor zijn, kunnen planners zien waar nog ruimte is om een nieuwe trein in te plannen." Het team werkt aan drie schermen in Donna: het TijdWegDiagram (TWD), het SpoorBezettingsDiagram (SBD) en het EmplacementsDiagram (EPD). "De nieuwe schermen zijn niet alleen technisch interessant, maar ook vernieuwend voor de organisatie. Dat vind ik zo leuk, je ziet twee werelden samensmelten. Voorheen leverden we vier keer per jaar één grote nieuwe versie van Donna op, nu werken we met kleine deelapplicaties en kunnen we elke seconde iets nieuws releasen. We kunnen veel sneller waarde leveren."

“Wat kunnen we automatiseren zodat we onze creativiteit optimaal kunnen inzetten?”

Testen in de praktijk

De nieuwe interfaces zijn visueel sterker en geven meer informatie voor de planners. Ondanks dat de nieuwe schermen nog in ontwikkeling zijn, kunnen de planners nu al profiteren van de technologie. "De eindgebruikers kunnen de schermen nu al gebruiken naast het huidige scherm. Met hun feedback maken we de applicatie steeds beter, ook middels gebruikerssessies. Wij ontwikkelen bijvoorbeeld vier varianten van één lijn, zij mogen kiezen. Zo vormen we het product écht samen. Het is zo gaaf om te zien dat al het werk dat wij erin stoppen nu bij de planner in gebruik is."

De nieuwe software wordt continu getest om aan hoge kwaliteitseisen te voldoen voor het bij de gebruikers terecht komt. Reactief én preventief, om bijvoorbeeld het geheugengebruik te monitoren. "Als DevOps team zijn wij verantwoordelijk voor de hele lifecycle van het product. Bij een storing krijgen we automatisch een melding en kunnen we binnen enkele minuten een fix klaarzetten." De testen worden zoveel mogelijk geautomatiseerd. "Bij elke codewijziging vindt automatisch een hele testsuite plaats. Testontwikkeling is inmiddels echt software development. Als je tien keer op een lijn moet klikken gaat dat nog, maar wat als je dat bij elke codewijziging moet doen? Dan ben je op dag drie helemaal op. Mensen zijn gewoon intelligenter. Die creativiteit willen we optimaal gebruiken: wat zijn nou scenario’s waar het mis kan gaan? En welke complexe gevallen kunnen we automatiseren?"

Complexe business logica in beeld

Aan de frontend maken Angular applicaties de data visueel voor de planners, aan de backend zorgen verschillende Spring Boot applicaties voor de integratie van alle data. Om de functionele (en visuele) werking en performance van zowel de front- als backend te verzekeren, gebruiken de testers populaire technieken als WebdriverIO, Applitools, WireMock, Rest Assured en Gatling.

"Die afwisseling maakt het zo fascinerend om hieraan te werken. Aan de ene kant ben je bezig met: "Hoe moet het er voor de planners uitzien op het scherm?" en aan de andere kant werk je met complexe business logica van treinen die naar het buitenland rijden en weer terug. Je werkt echt aan een groter geheel. En er komen steeds nieuwe technieken bij, dus je blijft uitgedaagd."

Samen verder

"Elke story pakken we gezamenlijk op, waarbij ik als testautomatiseerder verantwoordelijk ben voor de kwaliteit van de testen, het ontwikkelen en automatiseren ervan en de testopzet en strategie. We trekken alles uit de kast om ook remote goed samen te werken, ook met andere teams. Als een ander team iets kan hebben aan de code die ik schrijf, dan deel ik dat. Ook vanuit NS komen ideeën over nieuwe technieken. Dan merk je dat het een grote organisatie is, waar veel mogelijk is en waar mensen met je meedenken. Er is heel veel ruimte voor je eigen input. Zelfs als de planners al een bepaald idee hebben, proberen we als team toch verder te denken. Soms weet je niet wat er mogelijk is totdat je het ziet."

Planningssysteem voor treinen Donna

Onze mensen in de IT

IT

Van psychologie naar data-engineering: Lisa's start bij NS via het Junior Data Talent programma

Een loopbaan bij NS begint soms op een onverwachte plek. Voor Lisa Dielessen begon het met een achtergrond in psychologie en een interesse in data. Inmiddels werkt ze al bijna vier jaar als data engineer bij NS. Haar start maakte ze via het Junior Data Talent programma. “Ik heb niet gestudeerd om data engineer te worden, maar via dit programma kon ik op een laagdrempelige manier instromen en leren in de praktijk.”

IT

Van conferentie naar praktijk: hoe Robin bouwt aan een toekomstbestendig IT-platform bij NS

Voor Robin Janssen, platform engineer bij NS, ligt de kracht van innovatie in kennisdeling en vooruitdenken. Hij bezocht in april dit jaar KubeCon, een internationale conferentie over cloud-native technologie en platform engineering. Hij vertelt: “KubeCon is dé plek om te zien waar de toekomst van IT naartoe gaat. Je komt terug met ideeën die je direct kunt toepassen.” In zijn werk zorgt hij ervoor dat digitale infrastructuur goed is afgestemd op ontwikkelprojecten en helpt hij collega’s om nieuwe technologieën te begrijpen en te gebruiken. Wat hij leerde op de internationale IT-conferentie KubeCon, past hij nu toe in zijn rol binnen NS.

IT

Van softwareontwikkeling tot persoonlijke groei: Doris vertelt over haar traineeship bij NS

Doris Aafjes zit in haar eerste jaar van het IT-traineeship bij NS. Ze werkt aan een innovatief systeem binnen de applicatie Donna dat planners helpt sneller te werken. "Ik zit dit jaar in deze functie, maar volgend jaar in een andere. Juist dat leek me zo leuk aan het traineeship voordat ik begon: dat ik de ruimte krijg om te kijken en uit te zoeken wat ik uiteindelijk wil doen."

Jouw droombaan in je mailbox?

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