Tous les témoignages de clients
Les chemins de fer néerlandais numérisent l'expérience client en quatre semaines
Chemins de fer néerlandais (Nederlandse Spoorwegen [NS]) est le premier opérateur ferroviaire de transport de voyageurs aux Pays-Bas. Depuis sa création en 1938, NS est une ressource fiable pour les voyageurs et les passagers aux Pays-Bas.
En 2019, les trains NS ont transporté en moyenne 750,000 1.3 passagers uniques sur 3.2 million de trajets chaque jour, générant un chiffre d'affaires de 20,000 milliards d'euros. De plus, NS est l'un des plus grands employeurs des Pays-Bas avec environ 2019 XNUMX employés en XNUMX.
Cependant, face à la pandémie de COVID, NS a dû faire face à une forte baisse de fréquentation et a dû rapidement apaiser les inquiétudes de sa base de passagers. Ivo Sturm, Mendix MVP et Jitze de Groote, Mendix Développeur de Valcon. a Mendix Partenaire de confiance, a décrit le parcours de NS à Mendix Mondial 2021.
Répondre aux demandes en constante évolution
Au début de la pandémie de COVID-10, la fréquentation des trains de la Nouvelle-Écosse a chuté à XNUMX % par rapport à l'année précédente. De plus, la distanciation sociale a imposé des trains moins bondés pour assurer la sécurité des passagers.

Avant la pandémie, NS ne disposait pas d'un système de réservation de sièges, nécessaire pour garantir que les passagers puissent être assis en respectant la distance.
Pour compliquer la tâche, les indicateurs de foule existants de NS étaient basés sur données historiques« Nous avions besoin de capacité, de la capacité d'un train spécifique de l'horaire, et nous avions besoin de la disponibilité du train à ce moment précis », a déclaré De Groote.
L'équipe a dû faire face à plusieurs autres défis :
- En raison de la fluidité des directives de santé publique pendant la pandémie, NS a connu des changements réglementaires environ toutes les deux semaines, ce qui signifie que l'application et le projet devait permettre des changements constants.
- Étant donné la nature critique des services de la NS, l’équipe il fallait concevoir l'architecture pour un temps de disponibilité aussi long que possible et permettre la possibilité d’avoir une base de clientèle pouvant atteindre un million d’utilisateurs.
- Toutes les versions il fallait avoir un niveau élevé des standards d’accessibilité pour garantir que tous les passagers soient servis.
Ce nouveau expérience client Il fallait que le MVP soit disponible le plus rapidement possible. Le MVP étant prévu pour être utilisable dans seulement quatre semaines, les équipes de NS et First se sont mises au travail.
Planification de l'itinéraire
En raison de l'importance du projet, l'équipe de projet était assez nombreuse, avec des développeurs de First travaillant aux côtés d'experts en la matière des équipes de communication, de données, de reporting, d'informatique et d'affaires de NS.
Pour assurer la productivité et l’efficacité, l’équipe a commencé avec un sprint de conception. Un sprint de conception dure habituellement cinq jours, mais, selon Sturm, « nous l'avons réalisé sous pression avec les chemins de fer néerlandais en seulement deux jours. » Les deux premiers jours ont été consacrés à des sessions de conception avec les parties prenantes et les experts du domaine, le développement commençant le troisième jour.
Commencer le développement si tôt sur un projet d'une telle envergure pourrait créer une myriade d'embûches, mais les équipes ont mis en place plusieurs accélérateurs pour aider à assurer le bon déroulement des choses :
- Mandats:Sturm a déclaré : « Nous avons besoin de mandats de la part des entreprises, des services informatiques et des communications pour prendre les bonnes décisions et nous assurer que nous pouvons atteindre la vitesse dont nous avons besoin. » Ces premiers mandats de haut niveau ont permis à l'équipe de développement de continuer à aller de l'avant.
- Standups quotidiens:Les équipes se réunissaient deux fois par jour pour suivre les progrès et les tâches. Ces réunions ont permis des échanges gratuits et fréquents communication.
- Transparence:Les réunions quotidiennes ont également permis un sentiment de transparence, essentiel pour une grande équipe interfonctionnelle.
- Tableau Scrum:Les équipes se sont appuyées sur des ressources librement disponibles mêlée tableaux décrivant les tâches, l’alignement et les dépendances.
Enfin, les équipes ont intégré des tâches critiques, telles que l'infrastructure, les tests et l'UX/UI, tout au long du cycle de vie du projet, plutôt qu'à la fin, garantissant ainsi que ce qui a été construit répondait aux normes élevées de qualité et de Sécurité sans sacrifier la vitesse.
Une expérience client numérique en temps réel
Le nouveau NS Portail Clients, connu sous le nom de NS Treinwijzer (TrainWise) agit comme un planificateur de voyage.
Les clients peuvent accéder à l'application et consulter les horaires et les disponibilités en temps réel, informés par les données d'une API de planification. Déjà disponible dans l'écosystème informatique de NS, l'API fournit des données pour communiquer les sièges libres et les places pour vélos pour un train donné. Les clients peuvent effectuer une réservation et recevoir ensuite des notifications sur les mises à jour, les changements d'horaire et les annulations.
En raison de l'ampleur de la clientèle de NS, l'équipe a décidé de déployer le nouveau portail client à l'échelle communautaire en cinq parties.
Phase 1
Le premier projet pilote a réuni 8,000 XNUMX participants et, comme l'a noté De Groote, « cela nous a vraiment aidés en tant qu'équipe à trouver des bugs fonctionnels et également des goulots d'étranglement potentiels en matière de performances. » Les participants ont été incités à donner Réactions avec des cadeaux de café gratuit ou un surclassement en première classe lors d'un prochain voyage.
Phase 2
La deuxième étape a ajouté la possibilité de réserver des places de vélo. « Grâce à cette fonctionnalité, nous pourrions ajouter plus de 500 utilisateurs quotidiens, jour après jour, élargissant ainsi la base d'utilisateurs et nous donnant également plus de temps pour effectuer des tests de performance et des tests A/B », a expliqué de Groote.
Phase 3
La troisième étape consistait à publier et à communiquer au grand public une fois que l’équipe était confiante dans les performances de l’application.
Phase 4
La quatrième étape était axée sur l’accessibilité. Mendix La plateforme a permis une traduction facile de l'application en anglais pour les clients internationaux et non natifs. L'équipe a également utilisé les directives d'accessibilité du contenu Web comme hiérarchie des couleurs et des numéros de page.
« De cette façon, nous étions très facilement reconnaissables pour les clients », a déclaré De Groote. L’équipe a également collaboré avec l’association néerlandaise des yeux (Oogvereniging) pour tester l’expérience avec des lecteurs d’écran. De Groote a déclaré : « Je peux dire que notre application est utilisable avec un simple lecteur d’écran et les yeux fermés, ce qui est plutôt cool. »
Phase 5
Finalement, NS a déployé une promotion campagne, incluant les médias sociaux, pour sensibiliser et créer une communauté autour de la nouvelle expérience.
Même avec un calendrier serré et des attentes énormes, la nouvelle application a bien fonctionné à chaque étape et a fourni à l'équipe de développement et aux passagers de NS une expérience revitalisée et une tranquillité d'esprit.
Leçons apprises
Parce que le projet NS a tellement mis l'accent Interface utilisateur et pour répondre à des besoins de performance, l'équipe de First a essayé de nouvelles approches et méthodes de travail.
Pour ce projet, l’équipe a utilisé une approche « Nanoflow à moins que… ». De Groote a décrit : « Lorsque vous utilisez un Nanoflux ou une action Javascript, vous faites tout côté client et vous ne dérangerez pas la base de données et les instances d'exécution. »
Pour NS, cela se voit dans la recherche de gares. Toutes les gares sont récupérées au début de la session utilisateur et un algorithme Javascript au sein du client permet de compléter automatiquement la recherche. Cela permet d'économiser de nombreuses interactions avec la base de données et d'augmenter les performances.

NS et First ont également mis en œuvre une politique de conservation des données, ce qui signifie que leur système opérationnel ne conserve que quelques jours de données à la fois. Cela permet de réduire la taille des tables de données et d'améliorer leurs performances. Cette approche garantit également Conformité GDPR.
Pour améliorer encore les performances, l'équipe a mis en place un système de gestion de contenu (CMS) dès le début du projet. Le CMS permettait à l'application de récupérer tout le contenu dynamique au début de la session. De plus, un CMS permettait une certaine flexibilité.
Une autre astuce consiste à enregistrer les chaînes XML volumineuses sous forme de fichiers plutôt que sous forme de cellules au sein de fichiers de données. « Chaque seconde, nous devons traiter plusieurs chaînes XML volumineuses de plusieurs milliers de lignes », explique De Groote. « Si vous stockez tout cela dans une seule table de données, dans une seule cellule, cela ne fonctionnera pas. »
Cependant, le stockage de ces chaînes dans des fichiers et leur récupération à la demande permettent d'économiser les interactions avec la base de données.
Optimiser le flux de travail
L'équipe a également mis en œuvre un Mendix outil appelé Diagnostic des performances des applications, ce qui a permis au groupe de se concentrer sur les points sensibles dès le début. Sturm a expliqué : « Ce que cela vous indique, c'est qu'un élément logique est en fait lent, mais cela vous indique également combien de fois il a été touché ou utilisé... afin que vous connaissiez l'impact. »
NS et First également adopté une méthodologie agile, y compris les bascules de fonctionnalités. Cela a permis à différentes équipes de développement de travailler sur différentes parties de l'application sans que les deux parties aient besoin d'être prêtes en même temps.
Cette idée a également été utilisée dans les tests A/B pour différents groupes de clients, permettant de mieux comprendre les comportements des clients et le succès de l'application.
Pour réduire le nombre de récupérations de base de données au cours d'une session utilisateur donnée, l'équipe s'est également appuyée sur un modèle de données dénormalisé. Sturm a décrit un modèle de données relationnelles normal : « Il s'agirait d'un enregistrement. Il pourrait comporter de nombreux trajets et chaque trajet pourrait également comporter de nombreuses étapes, mais il s'agit évidemment d'objets distincts. »
Dans cette optique, l'équipe a combiné plusieurs bases de données différentes en une seule table plate. Cela permet non seulement de réduire la quantité de données, mais également le nombre de récupérations nécessaires pour un client, améliorant ainsi considérablement les performances.

Enfin, l'équipe s'est appuyée sur la mise en file d'attente pour la gestion des notifications. Par exemple, lorsqu'un client s'inscrit sur l'application, il reçoit un e-mail de confirmation, mais cela se produit en arrière-plan, indépendamment de l'instance utilisateur. En raison de la taille de NS, ils avaient besoin d'un multi-instance configuration du serveur d'applications, rendue possible par Mendix 9.
Protéger la communauté avec une nouvelle expérience numérique
Lorsque le confinement dû au COVID a frappé les Pays-Bas, NS a dû trouver rapidement un moyen d'aider les clients dans ce nouveau monde. Avec une première version en seulement 4 semaines, ils ont pu rapidement relever ce défi et aider les clients à se rendre là où ils doivent être, que ce soit au travail ou à la maison.
Actuellement, 260,000 30,000 utilisateurs utilisent chaque mois Treinwijzer, avec 5,500 XNUMX nouvelles inscriptions et XNUMX XNUMX e-mails par jour. L'utilisation globale des trains se remet encore de la pandémie, mais NS est configurée avec un nouveau service, solution évolutive qui sera en mesure de répondre à leurs besoins dans un avenir prévisible.
En repensant à la mission qui consiste à faire en sorte que les passagers se sentent en sécurité, Sturm a exprimé sa fierté.