Klantcase

Blinde vlekken op het spoor zichtbaar gemaakt: hoe ProRail in één dashboard ziet welk spoor te lang niet is gemeten

Binnen ProRail ontstond de vraag hoe het kan dat een stuk spoor te lang buiten beeld blijft, terwijl er wel metingen worden uitgevoerd. De meetdata werd aangeleverd, maar belandde op één grote hoop. Slechts een beperkt aantal mensen wist waar die data stond en hoe ze te gebruiken was. Er werd een team opgezet dat de data moest ontsluiten voor de contractmanagers, zodat zij kunnen zien waar het spoor te lang niet is gemeten. Sinds januari versterkt Pernino-consultant Max May dit team als data engineer.
De impact

Key take-aways

Korte lijntjes vanaf dag één:

Wie de juiste mensen en teams vroeg betrekt, maakt het hele proces efficiënter en voorkomt dat ontwikkelingen later opnieuw moeten worden afgestemd.

Vertel eindgebruikers wat het oplevert, niet hoe het werkt:

Een eindgebruiker heeft meer aan het resultaat dan aan de technische achterkant. Uitleg over welke data erin gaat, hoe die wordt gebruikt en waarom dat handig is, maakt een oplossing bruikbaar.

Meenemen werkt beter dan aanspreken:

Wie collega's bij dubbele of afwijkende code meeneemt in de gemaakte keuzes in plaats van ze erop aan te spreken, houdt een gedeelde ontwikkelomgeving beheersbaar.

Een overdracht vraagt overtuigingskracht:

Een ontvangend team dat extra werk verwacht, krijg je mee door frequente presentatie en uitleg en door te laten zien hoe licht het onderhoud is.

Onze aanpak

  1. Aansluiten bij een hecht team: Max May start in januari als data engineer en begint, bij zijn eerste opdracht, vanaf nul: kennismaken met de mensen, de cultuur en het vakjargon van ProRail. Het team neemt hem in alle beslissingen mee, waardoor hij snel van start kan. De product owner geeft hem een deeltaak die tot dan toe niemand kon oppakken. Dat gaat goed en groeit uit tot bredere taken, waaronder het meenemen van gebruikers en andere teams die niet in de materie zitten. 
  2. Code ordenen in modules en borgen met tests: Veel engineers werken in dezelfde werkruimte. Dat bespaart kosten, maar leidt tot onoverzichtelijke code en stukken code die hetzelfde doen onder een andere naam. Max zet een modulaire opzet neer: elke module is een behapbaar pakket code met één taak of onderwerp, op één plek en voor iedereen beschikbaar. Daarbij schrijft hij testcases, zodat bij elke wijziging wordt gecontroleerd of de functionaliteit nog hetzelfde werkt. 
  3. Een datastroom bouwen van bron naar tabel: Daarna volgt de bredere pipelinecode: een script dat de metingen en de bijbehorende segmenten uit de bronnen leest en vertaalt naar de meest recente set. De data wordt ontsloten, verfijnd en samengevat en krijgt functies waarmee de status per stuk spoor wordt bepaald. De scope is bewust afgebakend: het team kijkt alleen of de juiste metingen op het juiste stuk spoor zijn uitgevoerd. Wat de metingen zelf zeggen, wordt gevalideerd door een ander team. 
  4. Marges koppelen aan een dashboard: Het eindresultaat is een tabel die wordt ingeladen in een dashboard met een overzicht van heel Nederland. Daarin staat welke stukken spoor voor het laatst zijn gemeten, en vooral welke stukken te lang niet zijn gemeten. De contractmanagers bepalen per stuk spoor binnen hoeveel maanden het gemeten moet zijn, afhankelijk van onder meer het soort spoor of wissel en hoe vaak het wordt gebruikt. Veelgebruikt spoor kan bijvoorbeeld vier keer per jaar een meting vragen. Aan de hand van die marges is visueel te zien waar een meting achterloopt. 
  5. Toekomstbestendig maken en overdragen: Nieuwe data komt op dezelfde plek binnen en wordt op dezelfde manier verwerkt, zodat de oplossing automatisch ververst en altijd de meest recente data toont. Max draagt zijn werk over aan ProRail-collega's, zodat zij de code kunnen lezen en de parameters kunnen aanpassen. Het ontvangende team ziet in het begin vooral extra werk en toont weerstand. Door vaker te presenteren, te laten zien dat de ontwikkeling is afgerond en het onderhoud licht is, groeit de bereidheid om mee te denken. 

          Resultaat

          ProRail heeft nu één overzicht van heel Nederland waarin zichtbaar is welke stukken spoor wanneer voor het laatst zijn gemeten en welke te lang niet. Contractmanagers zien in het dashboard waar een meting achterloopt en kunnen daar gericht op handelen. De oplossing is zo opgezet dat nieuwe data automatisch wordt meegenomen, en de code is opgeruimd en getest, waardoor ook andere ontwikkelaars ermee verder kunnen. Het werk is overgedragen en wordt geborgd bij een ander team binnen ProRail met aansluitende doelen.

          Expert
          Max May

          Data & AI Consultant

          De impact

          Heel Nederland in één overzicht

          Het dashboard laat per stuk spoor zien wanneer het voor het laatst is gemeten en welke stukken te lang niet zijn gemeten. De marges komen van de contractmanagers en zijn aanpasbaar.

          Altijd de meest recente data

          Nieuwe data wordt op dezelfde plek en op dezelfde manier verwerkt, waardoor het dashboard automatisch ververst. Het onderhoud is licht, maar blijft een extra bouwstuk dat ProRail in de gaten moet houden.

          Afgenomen dienstverlening

          Data driven insights & information

          Lees meer →