SNCF Connect : les coulisses d'un développement ambitieux pour une app très critiquée

Florian Innocente |

Un peu plus de 8 mois après le lancement de SNCF Connect, les développeurs de l'app en expliquent la genèse et reviennent sur les difficultés de sa mise au point, les choses qui ont bien marché et celles qui auraient dû être faites différemment.

Interrogés par Le Ticket, plusieurs acteurs du développement de la nouvelle app intégrale de la SNCF sont revenus sur les étapes clefs de sa création. Un logiciel (et un site) destiné à embrasser tous les modes de déplacement et à s'imposer comme une sorte de guichet unique lorsqu'on veut aller d'un point à un autre, quelle que soit la manière.

Le lancement, fin janvier, de ce remplaçant de Oui.sncf et de l'Assistant SNCF a été émaillé de problèmes. Des fonctions manquaient (pas d'ajout des billets dans Wallet sur iPhone), des choix d'interface ont étonné (la barre de recherche comme point d'entrée, l'absence de mode clair en alternative au mode sombre) et le sentiment que son bêta-test avait été conduit dans l'urgence et avec une efficacité toute relative au vu du déchainement des critiques.

SNCF Connect déraille au démarrage

SNCF Connect déraille au démarrage

Ce chantier colossal — 25 millions d'utilisateurs et clients derrière l'écran — a démarré au début 2020 avec l'objectif d'un lancement en décembre 2021. Une mise en route en pleine pandémie, avec les impératifs des confinements et du télétravail imposés qui se sont ajoutés à la complexité de l'opération. Celle-ci a impliqué de choisir une nouvelle plateforme de développement commune pour Android et iOS, de définir une nouvelle interface et un parcours client différent, de changer d'infrastructure serveur, de mettre en place une autre organisation pour les équipes du projet et de créer une nouvelle identité.

Sans oublier que le recrutement de personnes dans les équipes existantes de OUI.sncf ne devait pas empêcher celui-ci de continuer à fonctionner et à vendre du billet… En somme, un projet « Big Bang » plutôt qu'incrémental, comme le résume l'un des protagonistes.

Étant acquis qu'il était impossible de proposer, dès la première version, l'ensemble des fonctions déjà existantes en plus de celles à venir, des choix ont été opérés. En observant les usages les plus prioritaires dans OUI.sncf. Mais cela impliquait de laisser à quai des fonctions qui ont été ensuite la source de vives protestations.

Les équipes furent réorganisées — passant des "feature teams" aux "Impact teams", dans le jargon — et leurs domaines de compétence élargis pour couvrir davantage d'opérations faites par l'utilisateur. De 10 au départ, les développeurs et responsables sont passés à 200 sur ce projet.

Les prototypes ont été testés, mais avec une très forte proportion d'utilisateurs sélectionnés en interne. Pour les bêta-testeurs non SNCF, les conditions de confidentialité étaient exacerbées : l'app devait être évaluée sur place au lieu de l'être en conditions réelles.

On renvoie à l'article du Ticket pour les détails des différents épisodes qui ont débouché une nouvelle app très ambitieuse, mais incomplète à son lancement. Au fil des semaines toutefois de nombreux correctifs et changement sont venus atténuer les problèmes les plus saillants.

Parmi les regrets formulés par ses responsables, celui de n'avoir pu obtenir le feu vert de leur direction pour un bêta test plus long et plus ouvert. Ou d'avoir mal anticipé l'impact médiatique de certaines absences fonctionnelles (le cas de Wallet en particulier) qui ont eu une forte résonance alors que les bêta-testeurs n'avaient pas ou peu moufté devant ces lacunes. Rendez-vous est donné en 2023 pour une app qui est supposée donner toute sa mesure et remplir son objectif de devenir un outil pour toute recherche d'un mode de déplacement.

L

L'application SNCF Connect aurait coûté 50 millions d'euros

Tags
avatar ErioBato | 

N’empêche q l’app SNCF s’était hissée au niveau de simplicité de Trainline, et q là tt a été perdu…

avatar Crash System | 

@ErioBato

En vrais le seul problème c’est quand tu as des options de transport multimodale sinon le reste c’est trop bien !
Je comprend pas pourquoi on crache sur l’app alors qu’elle est très bien et adaptée à l’usage, pour Trainline c’est qu’une surcouche de sncf api sauf que par exemple il prend pas en charge les ayants droit et agents soit plus de 1 000 000 de personnes un peu beaucoup non ? Puis un agent sncf sera t’aider sur l’app sncf mais pas l’app Trainline…

avatar Arcetnathon | 

@Crash System

Parce qu’elle n’est pas fonctionnelle. Parce au’il y a des erreurs de design Ui ET Ux enormes, parce qu’elle ne te propose pas le meilleur tarif, parce que… ben c’est juste moins bien qu’avant. C’est plus compliqué, plus lent…

Le minimum, c’etait de faire aussi bien que la précédente, ce qui n’est toujours pas le cas.

avatar Crash System | 

@Arcetnathon

Bah plus chère… c’est juste parse que tu prends ton billet sur Trainline qui a des carte de réduction spéciale si je me trompe pas ?

Et au contraire l’app sncf fait large le café, fonction primaire, réservé des trains.

avatar DahuLArthropode | 

@Crash System

"l’app sncf fait large le café"

Par exemple, pour un trajet de chez moi à Toulouse au lycée de Pibrac, elle ne me propose que des trajets en métro et en bus. Pas de train.
Il faut chercher un trajet de la gare de Toulouse à la gare de Pibrac, ignorer toutes les propositions (qui n’utilisent encore que des bus ou des métros), et utiliser le bouton Réserver mon TER (invisible si on ne demande pas un trajet de gare à gare) et alors, demander à voir les tarifs... pour voir les horaires!
Sur Trainline, on me propose directement les trajets de Toulouse à Pibrac. Ben c’est ce que je voulais.

avatar iPop | 

@DahuLArthropode

Le problème n’est pas l’application mais le cahier des charges et ses directives.
D’un autre côté je ne suis même pas surpris, la mode étant de supprimer des lignes pour les remplacer par des bus (qui polluent).

avatar DahuLArthropode | 

@iPop

En l’occurrence, l’application n’affiche pas les trajets en train qui existent.

avatar Florent Morin | 

« Celle-ci a impliqué de choisir une nouvelle plateforme de développement commune pour Android et iOS »

Si « plateforme de développement commune pour Android et iOS » signifie « PhoneGap / Cordova / React Native / Xamarin / Flutter », ce n’est absolument pas un impératif. Ni en termes de contraintes techniques, ni en termes de contraintes de temps.
Au contraire : avoir des couches techniques maîtrisées de A à Z augmente significativement la vélocité tout en réduisant la maintenance. On a généralement besoin de moins de développeurs et peu de surprises côté SDK. Et on est moins dépendant des fournisseurs de solutions / plugins.

Après, ce n’est peut-être pas ce qui a voulu être exprimé.

avatar Nico_Belgium | 

@FloMo

+1!

En plus cela réduit le risque de problèmes lors des grosses mises à jour système (coucou iOS 16).

Et même si les problèmes surviennent, ils peuvent être réparés immédiatement sans devoir attendre une mise à jour de la « plate forme commune »

avatar Ichigo-Roku | 

Souvent les gens ne voient que : "on va développer une seule app au lieu de deux, ça sera moins cher et plus rapide". Mais du coup ça introduit pas mal de nouveaux problèmes lié à la technologie qui mutualise les deux, Flutter est aussi relativement nouveau donc ils ont potentiellement pas ou peu d'expérience dessus, donc en additionnant les deux ça l'impact sur les développements n'est pas négligeable. D'un point de vue personnel c'est cool ils ont pu prendre de l'expérience sur une "nouvelle" technologie, mais d'un point de vue business ça engendre des coûts supplémentaires, et le rendu pour leurs clients ne semble pas au rendez-vous non plus de ce que j'en comprends.

Je pense qu'ils auraient peut-être mieux fait de reprendre une des anciennes apps et d'y injecter les fonctionnalités petit à petit. Au final ils ont fait ça pour "aller plus vite" mais leur nouvelle app ne sera pas complètement terminée avant 2023 d'après leurs dires. En y allant petit à petit sur une des anciennes apps ça aurait potentiellement pu être terminé avant, et surtout garder la bonne expérience utilisateur de l'ancienne app...

Bon c'est vrai que c'est "facile" en regardant ça de l'extérieur et de parler une fois que les choix ont été pris...

avatar Chris K | 

@Ichigo-Roku

L’un des soucis majeur en faisant du natif avec ce genre de projet c’est le décalage qui se creuse petit à petit dans les fonctions de l’application développée : une équipé dédiée à Androide va développer une nouvelle fonctionnalité par encore rendue disponible sur la version iOS, et inversement. Pareil pour les bugs.

C’est pas si bête de ne pas faire du natif dans ce cas là. D’autant qu’avec Flutter il semble qu’ils n’ont pas été pénalisés lors du développement et que cet outil a été bien accepté par leurs équipes.

À noter que des parties de code sont natifs (l’accès à Wallet sur iOS par exemple) et s’intègre sans problème à Flutter.

avatar bibi81 | 

Ca ne se limite pas à iOS et Android, il y a aussi le web. La nouvelle application c'est aussi un service web accessible depuis n'importe quel OS et n'importe quel navigateur...

avatar Florent Morin | 

@bibi81

myCanal, Zalendo et Getaround pour ne citer qu’eux sont exactement dans les mêmes problématiques. Concernant myCanal, il s’agit d’aller sur les TV connectées en plus.

Ils s’appuient sur du data-driven UI pour décharger à fond les développeurs front, ce qui permet d’élever au maximum en termes de qualité avec une grosse expertise technique qui ne s’encombre pas de frameworks et plugins.

Ils avaient fait un excellent retour à MobileOne en 2019.

À l’opposé de Betclic l’année d’avant qui s’était pris les pieds dans le tapis avec Xamarin et avait dû tout réécrire en natif en urgence.

(AirBnb avait fait la même chose avec ReactNative, SeLoger aussi, et bien d’autres)

https://www.macg.co/logiciels/2019/11/mobileone-2019-lage-de-la-maturite-pour-les-apps-mobile-109927

avatar mathieu_07 | 

@bibi81

C’est du react visiblement le site web

avatar byte_order | 

> Celle-ci a impliqué de choisir une nouvelle plateforme de développement commune pour Android et iOS »

Et Web, il me semble, non ?
Le site web aussi profite de la même base de code, non ?

avatar mathieu_07 | 

@byte_order

Visiblement c’est du react le site web (cf. Article de le ticket)

avatar Faabb | 

Je m’y suis bien fait. 🙂👍
J’ai vu que les liaisons départementales/régionales par bus, les lignes Zou!, ne sont pas référencées. C’est prévu ?
En tout cas pour les alpes du sud.

avatar Baptiste_nv18 | 

Trainline me convient parfaitement. Le jour où il y aura un vrai plus sur l’app de la SNCF pourquoi pas; mais à titre personnel pour l’instant je n’en voit aucun.

avatar brunnno | 

Moi ce qui me gêne un peu c’est l’historique des précédentes commandes faites sur l’application (sans même avoir créer de compte). Impossible de les supprimer de l’appareil où elles ont été créées.
Pas très RGPD…

avatar dodomu | 

@brunnno

Ce n’est pas incompatible avec le RGPD, si l’historique est conservé sur le téléphone et pas par l’entreprise… avez-vous essayé de désinstaller l’application puis de la réinstaller pour effacer les données locales ?

avatar brunnno | 

@dodomu

Non, mais est-ce normal cette conservation de données ?
Si je passe une commande sur un téléphone qui n’est pas le mien ça me gêne.

Concernant RGPD rien ne dit que l’application ne conserve rien de son côté.

avatar dodomu | 

@brunnno

Ça n’est pas plus anormal qu’une photo prise sur votre téléphone et qui reste sur votre téléphone. 😉
Tant que ça reste en local sur votre appareil, et que ça n’est pas transmis ailleurs, il n’y a à mon avis aucune infraction au RGPD, puisque vous restez maître de la donnée, et qu’elle n’est pas utilisé sans votre accord.
Pour le téléphone de quelqu’un d’autres, je comprends que cela vous gêne, mais si vous ne faites pas confiance à la personne dont vous empruntez le téléphone, ne vaudrait t’il mieux ne pas le lui emprunter du tout ?😉
Plus sérieusement, même si je comprends votre gêne et que je pense comme vous qu’il faudrait pouvoir effacer cet historique local, je ne pense pas que ça soit illégal pour autant…

avatar alexandre92 | 

@FloMo Je pense que le choix d’une plateforme de dev multi OS est une décision managériale non technique : « vous vous démerdez, je veux une seule plateforme pour tous les téléphones hein, on arrête avec le multi-équipe ». Sous-entendu, on gagne du temps et des pépettes.
Et une démonstration comme la tienne, totalement recevable, a été inaudible du management persuadé d’avoir l’idée du siècle.

avatar Rom 1 | 

« Première mission : analyser les chiffres de ventes des différentes offres et d’usage des fonctionnalités actuelles pour cerner celles qu’il fallait embarquer dans cette nouvelle application de toutes les mobilités. “On avait pour échéance un lancement en décembre 2021. On savait qu’on ne pouvait pas tout reprendre d’un coup pour la V1, la première version, donc il fallait définir des niveaux de priorisation”, précise Ludovic. » (Extrait du papier Le Ticket)

C'est là le problème. Il n'est juste pas possible de sortir une application censée remplacer une autre qui n'a pas au minimum les mêmes fonctionnalités, même peu utilisées. L'utilisateur a un sentiment de régression et de frustration qui sera difficile à compenser. C'est pour moi une des grosses erreurs de SNCF Connect.

avatar r e m y | 

ils ne sont pas les seuls à avoir fait cette "erreur".
Puisqu'on est sur un site Apple, je rappellerai:
- la 1ere version de Photos venant remplacer sur Mac iPhoto et Aperture. Certes cette nouvelle app était super légère, mais dans cette 1ere version, elle n'avait pas le dixieme des fonctionnalités d'iPhoto (et ne parlons pas d'Aperture que Photos est loin d'égaler même aujourd'hui).
- plus loin, les 1eres versions de Pages, Numbers et Keynote venant remplacer AppleWorks. Il a fallu attendre des années avant de retrouver certaines fonctionnalités comme le chapitrage, le sommaire automatique, la gestion des références
- on peut également évoquer iMovie X quand il a remplacé iMovie, ou le lecteur QuickTime X se substituant au lecteur QuickTime 7, ou encore le gestionnaire Airport à qui il manque toujours des fonctions essentielles qu'on ne trouve que sur l'ancienne version 32bit...

avatar Rom 1 | 

@r e m y

Clairement c’est pas les premiers mais c’est pas une raison. Pour moi ça me parait tellement inconcevable surtout pour une application utilisée par 16 millions de personnes. À cette échelle, 2 % d’utilisateurs de Cartes ça représente 320 000 personnes.

avatar geoffbuck | 

@Rom 1

Ce serait l’idéal mais c’est le milieu du développement informatique qui veut ça.
Quand on repart à 0 on ne peut malheureusement pas espérer récupérer toutes les fonctionnalités immédiatement

On peut imaginer qu’ils décalent la sortie d’un an ou 2 pour intégrer toutes les fonctionnalités souhaitées mais dans la réalité ça ne se passe pas comme ça. Il faut des retours de vrais utilisateurs

avatar byte_order | 

@Rom 1
> 2 % d’utilisateurs de Cartes ça représente 320 000 personnes.

Et cela reste que 2% de la clientèle.
Tout comme les 1% de ses clients qui rencontrent un pb de clavier/écran/batterie/etc selon les dires d'Apple ne pèsent pas assez pour que Apple ajuste brutalement sa posture, un pourcentage faible reste un pourcentage faible.

Y'a que quand vous avez un faible volume de client que vous ne pouvez pas vous permettre d'en décevoir aucun, et ce quel que soit le prix à payer pour le satisfaire.

La SNCF est, en France, en situation ultra dominante, avec une clientèle assez captive. Tout comme Apple, oui.
Et donc les deux sont en position où non seulement il leur est impossible de statisfaire 100% de sa clientèle, mais en plus où, au contraire, il leur est possible d'avoir 1, 2 ou même 5% de clients fortement mécontents sans que cela menace vraiment son activité.

A cette échelle, avoir 320 000 personnes mécontent pendant quelques mois ou même année ne menace pas vraiment la SNCF.

avatar Rom 1 | 

@byte_order

Ben la preuve que si puisque c'est ce qui a contribué au media bashing comme le dit le chargé de projet de la SNCF. Au-delà d'un aspect quantitatif, il faut regarder aussi comment se compose ces 2 % d'utilisateurs. Ils peuvent être plus nuisible que 20 ou 30 % de ses clients. La preuve une fois de plus sur ce sujet. La SNCF a simplement la chance d'être en monopole pour éviter les lourdes conséquences.

avatar Oracle | 

@Rom 1

Si on n’en parles plus dans 2 ans, c’est gagné pour eux.

Qui se souvient des retours véhéments lors de la sortie de leur première appli iPhone « SNCF Direct » ?

avatar byte_order | 

@Rom 1
> Pour moi ça me parait tellement inconcevable surtout pour une application utilisée
> par 16 millions de personnes.

Elle était utilisée par 0 millions avant sa mise à disposition. C'est l'ancienne app qui était utilisée par 16 millions, et la SNCF a décidé de refonder (et donc refaire une *autre* app) son app, en faisant en sorte qu'elle ne sorte pas dans 10 ans à force de toujours courir après une retro compatibilité totale quasi impossible et qui, de toute façon, ne fait probablement pas sens, déjà parce que fonctionnellement y'a des trucs qui ne font plus sens et des nouveaux trucs qui, eux, n'existaient pas avant mais doivent en avoir.
Ils ont donc fait ce qu'il faut pour que l'immense majorité arrive a basculer sur la nouvelle app, et de ce point de vue là, c'est réussi.

C'est comme si vous disiez que parce que seulement 89% des gens ont migrés sur la dernière version de iOS cette nouvelle version est un échec !

Et pourtant, dans ces 89%, y'en a forcément un petit pourcentage qui regrette de l'avoir fait. Et même 0,1% du nombre d'utilisateurs de iOS dans le monde, cela en fait du monde.

Mais pas de quoi menacer Apple.

Satisfaire à 100% 100% de votre clientèle c'est impossible.

avatar Rom 1 | 

@byte_order

Pas comparable car les anciennes versions d'iOS continuent de tourner, tandis que la migration vers SNCF Connect était forcée et ce, bien avant que les anciennes fonctionnalités ne soient finalement intégrées dans la nouvelle application.
Il ne s'agit pas d'espérer vouloir satisfaire 100 % de sa clientèle mais au moins de stabiliser, conserver don taux et dans l'idéal l'améliorer. Or, faire des choses dont on sait qu'elles vont avoir pour conséquences de faire régresser la satisfaction est économiquement contre-productif. Sauf quand on sait qu'on ne risque pas grand chose vu la situation de monopole.

avatar Furious Angel | 

@Rom 1

100% d’accord. Fixer une deadline irréaliste qui pousse à priver l’app de fonctions pour mes rajouter après, ca donne une UX calamiteuse pendant des mois.

Le problème vient d’en haut : des gens incompétents fixent une date intenable, pour faire plaisir à untel ou tel autre, et ça se répercute sur les dev.

avatar Furious Angel | 

« Étant acquis qu'il était impossible de proposer, dès la première version, l'ensemble des fonctions déjà existantes »

Ça il faudrait vraiment que ca n’existe jamais. Une nouvelle app doit etre au moins aussi bonne que la précédente au lancement. Sinon l’image est détériorée durablement. C’est fou de devoir le dire encore en 2022 : l’expérience utilisateur doit passer avant tout.

« Parmi les regrets formulés par ses responsables, celui de n'avoir pu obtenir le feu vert de leur direction pour un bêta test plus long et plus ouvert. »

Ça revient à ce que j’ai dit à quasi chaque article sur SNCF Connect : des dev compétents, des dirigeants complètement incompétents. Le vrai mal de la bureaucratie française.

Aujourd’hui l’app est débuguée, on va dire qu’elle est utilisable, mais elle n’aurait jamais dû sortir en l’état. En revanche des choix structurels et techniques restent discutables.

En tout cas ce lancement raté a pourri l’image de l’app durablement.

avatar Rom 1 | 

@Furious Angel

Et la réputation se détruit par l’ascenseur alors qu’elle se gagne par l’escalier. Bref, ça va mettre du temps !

avatar koko256 | 

@Furious Angel

Les X bons en informatique ils vont bosser dans les boîtes américaines. Reste les autres pour la SNCF.

avatar Furious Angel | 

@koko256

Y’a pas besoins de génies de l’algorithme, juste de bons développeurs. Et on en a des milliers en France.

avatar koko256 | 

@Furious Angel

Je parle des managers (relisez ce que vous avez écrit) qui sont beaucoup d'X pas des développeurs.

avatar koko256 | 

@Furious Angel

Des milliers ce n'est d'ailleurs pas suffisant vu les besoins.

avatar Lemmings | 

L'intégration à Wallet a fait beaucoup parler dans un petit milieu d'utilisateurs et fan d'Apple mais le grand public s'en tape largement le coquillart et ignore ce système. Même si c'est regrettable de ne pas l'avoir, cela ne me choque pas que la décision ait été prise de repousser cette feature.

avatar vince29 | 

+1 L"application semblait souffrir de problèmes autrement plus graves que ça.

avatar Espcustom | 

La tech à la française 🤮

avatar Fennec72 | 

Il y a une fonction de l’app SNCF qui manque dans SNCF Connect :
Il manque la possibilité d’enregistrer ses futurs trajets et de les retrouver listés avec compte à rebours sur l’accueil de l’app.

avatar brunnno | 

Question : avant il était impossible de modifier un voyage lié à un dossier aller-retour (modifier ou annuler un des deux voyages) sans devoir tout annuler et donc tout recommencer.
Est-ce possible avec cette nouvelle application ?
Sur une réservation ou sur un achat déjà validé

avatar marc_os | 

Vous parlez d'absences de fonctions au début, moi ce que j'ai surtout observé pour de simples achats de trajets en TGV, ce sont des bogues qui m'ont empêché d'acheter mes billets, me forçant à aller en gare les acheter à un automate.

avatar marc_os | 

Bogue toujours existant :
L'activation du paiement par ApplePay en gare quand on présente son iPhone (avec TouchID). (On m'a expliqué que c'est l'App qui doit empêcher cela, et bien "ça marche pas".)

avatar SyMich | 

Par défaut il est interdit à une app de bloquer l'activation d'ApplePay. Apple donne donc des autorisations au cas par cas mais qui doivent rester exceptionnelles.
L'app précédente avait obtenu cette autorisation d'Apple pour éviter qu'à la présentation de l'iPhone sur certains lecteurs (intégrant une puce NFC), ApplePay passe en 1er plan, bloquant la validation du passage.
Cette autorisation n'est pas automatiquement transférée à la nouvelle app. Il faut obtenir une nouvelle autorisation exceptionnelle de la part d'Apple. Il est tout à fait possible que ce soit ce qui bloque actuellement si cette autorisation tarde à venir.

avatar byte_order | 

@marc_os
> L'activation du paiement par ApplePay en gare quand on présente son iPhone (avec TouchID).

Et oui, Apple considère que le NFC c'est forcément pour utiliser Apple Pay, rien d'autre.
Donc iOS active ApplePay automatiquement sur détection d'une borne NFC

> (On m'a expliqué que c'est l'App qui doit empêcher cela

C'est pas l'app, c'est Apple qui doit donner au développeur de l'app le droit exceptionnel de bloquer ce comportement automatique qu'Apple a mis en place dans iOS pour imposer et surexposer sa solution de paiement sans contact au détriment de tout autre moyen de validation, même quand c'est pas un paiement proprement dit.

avatar franfran94800 | 

Pourquoi on en parle et pourquoi vous en faites des articles et des articles? Osef non? On avait deja transit et trainline pour ne citer qu’eux, connect ayant été avant tout un retour en arrière avant de réimplementer des fonctions qui existaient auparavant. Vous êtes payés par la sncf peut-être ?

avatar marc_os | 

@ franfran94800

> Pourquoi on en parle

Peut-être parce qu'il s'agit d'un app iOS, qu'on est sur iGeneration et qu'il y a du nouveau à ce sujet ?

Pages

CONNEXION UTILISATEUR