NS

NS bundelt acht legacy-apps tot één applicatie voor eerstelijnsmedewerkers

Van acht losse apps naar één slimme werkplek voor 7.000 medewerkers. Samen met Info Support ontwikkelde NS Wissel: een centrale Android-app die trein- en stationsmedewerkers precies de informatie toont die op dat moment relevant is. Het resultaat? Minder schakelen tussen apps, efficiënter beheer en een krachtige technische basis waarop meerdere teams samen kunnen blijven innoveren.

Uitdaging

Het vervangen van acht losse legacy-applicaties door één centrale, gebruiksvriendelijke werkapplicatie.

Doelgoep

Eerstelijnsmedewerkers op trein en station (o.a. machinisten, hoofdconducteurs, stationspersoneel, Veiligheid & Service en reisassistentie)

Resultaat

Een centrale, Android-app in productie met circa 7.000 dagelijkse gebruikers, die acht veelgebruikte legacy-apps vervangt en teams helpt om efficiënt samen te bouwen aan één app.

De uitdaging: dubbel beheer en veel app-’wissels’

Al meer dan tien jaar ondersteunt NS medewerkers tijdens hun diensten op treinen en stations met Android-devices. In de loop der jaren groeide het aantal apps dat medewerkers nodig hadden om hun werk goed te kunnen doen.

Dat bracht diverse uitdagingen met zich mee. Ten eerste moesten medewerkers regelmatig van app wisselen en daarbij soms identificatie- of contextinformatie handmatig kopiëren tussen apps. Ook waren de legacy-apps gebouwd op verschillende tech-stacks en frameworks. Daardoor besteedden IT-teams veel tijd aan levenscyclusbeheer (LCM) en het in de lucht houden van meerdere codebases.

NS wilde de gebruikerservaring, de efficiëntie van het personeel en het lifecyclebeheer verbeteren door alle functionaliteiten samen te brengen in één centrale oplossing.

De oplossing

Eén centrale werkapp: Wissel

Samen met Info Support bouwde NS een native Android-app: Wissel. De app is bedoeld voor eerstelijnsmedewerkers in de trein en op het station en fungeert als centrale vraagbaak tijdens de dienst. Wissel combineert relevante informatie in één omgeving, zoals:

  • verstoringen van de dienstregeling,
  • verzoeken om reisassistentie,
  • informatie over speciale (grote) evenementen in de buurt van stations.

Wissel vervangt daarmee de acht meest gebruikte legacy-apps. Daarnaast voorkomt het bestaan van één centrale app dat er opnieuw losse apps ontstaan voor dezelfde doelgroep.

Relevantie op het juiste moment

Een belangrijk uitgangspunt voor Wissel was dat een ‘alles-in-één-app’ óók overzichtelijk moet blijven. Daarom is een context-engine ontwikkeld die de app dynamisch afstemt op de gebruiker op basis van dienst, locatie en rol. Daardoor ziet een medewerker op elk moment wat dan relevant is. De startpagina, meldingen en zelfs de hoofdnavigatie kunnen meebewegen met de situatie.

Mark de Jong, IT consultant bij Info Support, vertelt: “Hiervoor moesten we goed in de huid van de gebruiker kruipen. Het UX-team van de NS heeft daarom allerlei onderzoeken uitgevoerd onder het personeel, om te achterhalen hoe een werkdag er precies uitziet, welke informatie zij op welk moment nodig hebben, en wat een logische workflow zou zijn.”

Technologie en ontwikkeling

Het platform onder Wissel

Om Wissel goed te kunnen beheren en om met meerdere teams tegelijk te kunnen doorontwikkelen, is naast de applicatie ook een ondersteunend platform gebouwd: Atlas. Atlas is een interne Software Development Kit (SDK) bovenop Android en Jetpack Compose. Het platform biedt gemeenschappelijke functionaliteiten, UI-componenten en lifecycle-onderwerpen die vroeger in verschillende legacy-apps opnieuw werden gebouwd. Hierdoor hoeven featureteams niet telkens dezelfde zaken te implementeren en kunnen zij efficiënter samenwerken.

Native Android-stack

De ontwikkeling van de Wissel-app startte in een periode waarin de ondersteuning voor Xamarin afliep, terwijl de bestaande legacy-apps grotendeels op Xamarin waren gebaseerd. Wissel werd gebouwd met Kotlin en Jetpack Compose. Omdat Kotlin en Compose niet voor iedereen dagelijkse kost waren, is actief ingezet op kennisdeling en training, zowel voor collega’s van Info Support als van NS.

Feedbackloop en veilige uitrol

Tijdens het ontwikkelproces zorgde de NS voor een continue feedbackloop met gebruikers van de app, die de nieuwe features als eerste mochten testen. In de app kan een selectie medewerkers via een feedbackfunctie direct vragen, complimenten of suggesties insturen. Nieuwe versies van Wissel worden gefaseerd uitgerold met een vorm van canary deployment: eerst naar een beperkte groep testgebruikers, en daarna in geoptimaliseerde vorm naar alle gebruikers.

Samenwerking: technische basis en UX in harmonie

De samenwerking voor Wissel kende een duidelijke verdeling. NS werkte samen met product owners, UX-designers en eerstelijnsmedewerkers aan de productvisie en roadmap, workshops en gebruikersonderzoek, het bepalen van functionaliteiten en het toetsen bij eindgebruikers.

Info Support zorgde in samenwerking met NS-architecten voor de technische basis: het platform onder Wissel, de kennis van de technology stack en de ontwikkelkracht om features te realiseren en de app betrouwbaar te onderhouden. Ongeveer twintig Info Support-developers werkten mee aan Wissel.

Resultaat: één app voor soepele samenwerking

Inmiddels is Wissel beschikbaar voor alle NS-medewerkers in de treinen en op de stations. De app heeft dagelijks circa 7.000 gebruikers en is een belangrijk hulpmiddel om personeel tijdig en correct te informeren.

Daarnaast heeft de aanpak aantoonbare voordelen in beheer en samenwerking:

  • Minder onderhoud en betere herbruikbaarheid, dankzij één uniforme tech-stack.
  • Het beheer en onderhoud is efficiënter dankzij het Atlas-platform.
  • Betere productiviteit en kennisdeling, doordat teams met dezelfde architectuur en principes werken.
“Technisch was het een uitdaging, maar waar ik het meest trots op ben is dat we nu met heel veel teams effectief kunnen samenwerken aan één app.”
Peter Berg, unit manager Mobiliteit bij Info Support