Comment réduire le time-to-market et le déploiement dans le développement mobile ?
Lorsqu’une application mobile est téléchargée et utilisée par des millions de personnes, la mise en production de nouveautés et de mises à jour doit être optimale.
Afin d’accroitre leur vitesse et la qualité de leur développement, les équipes de OUI.sncf ont recouru à diverses solutions. Abdelaziz Gacemi, leader technique et Scrum master au sein du groupe, nous en dit plus sur les méthodes des développeurs.
L’information voyageurs, un marché concurrentiel
Développeur Android depuis maintenant 8 ans chez OUI.sncf, Abdelaziz Gacemi a travaillé sur les principaux projets dans l’entreprise :
- OUI.sncf, l’application destinée à regrouper tous les achats de billets de train type TGV, Intercités etc.
- L’application SNCF, dont l’objectif est d’informer les utilisateurs des itinéraires, retards, perturbations, chemins alternatifs etc.
Si les projets dans l’entreprise sont nombreux, ces deux applications restent centrales pour les équipes de développement mobile. Elles cumulent à elles seules plus de 20 millions de téléchargements. Développées en native sur iOS et Android, elles ont pour objectif de rendre l’expérience utilisateur simple et fluide et, sur le marché concurrentiel des applications d’information voyageurs, ce n’est pas une mince affaire. A ce titre, l’app SNCF prend un tournant dans ses objectifs : de simple application d’information, elle intégrera prochainement du transactionnel.
Des feature teams en mode agile
« Nous sommes organisés en feature team pour le développement de ces applications, indique Abdelaziz Gacemi. L’appli SNCF, sur laquelle je travaille actuellement, est très dense. Nous ne pouvons pas nous contenter d’une seule équipe pour la gérer. Chaque feature team s’occupe donc d’un périmètre fonctionnel limité. »
On distingue ainsi pour l’appli SNCF :
- La feature team « fidéliser » qui s’occupe du compte client
- La feature team « informer » qui a en charge la communication auprès du voyageur pour lui donner l’information la plus pertinente selon son trajet
- La feature team « innover », dont le périmètre est Mobility as a Service (MaaS) : un nouveau concept qui a pour objectif de proposer sur une plateforme unique tous les modes de transports disponibles
- La feature team « Voyager/NFC » qui a pour objectif de fournir un usage d’application SNCF basé sur la technologie de communication sans contact, comme la dématérialisation des titres urbains et billets de transport.
Comment les équipes parviennent-elles à évoluer ensemble ? « Chaque matin, toutes les équipes se réunissent pour communiquer sur les dernières actualités du développement (d’ailleurs nous appelons notre réunion le JT), les retours clients et utilisateurs, les incidents de la veille, les évolutions de la mise en production etc. »
Chaque équipe travaille sur des sprints de 2 semaines. « Notre objectif est de mettre en production à chaque fin de sprint, avec un déploiement progressif où à chaque pallier nous observons la mise en production pour contrôler l’arrivée de bugs afin de les corriger. Nous avons donc une usine logicielle de production qui nous permet d’aller vers ce modèle de livraisons. Cette usine GitLab CI/CD permet une intégration et un déploiement continu. Nous faisons des points de synchronisation avec l’ensemble des teams pour communiquer sur les projets, déterminer qui fait quoi, et prendre en compte les points d’engagements qui toucheront d’autres feature teams. »
Une vision jeune et un besoin de rupture pour lutter contre la dette technique
Parmi les enjeux auxquels les équipes de développement de l’appli SNCF doivent répondre, il y a la gestion de la dette technique et l’innovation, ainsi que la modernisation de la stack technique. Afin d’enrichir et inspirer leurs équipes, OUI.sncf envoie chaque année des développeurs à plusieurs conférences telles que le WWDC de Apple, Google I/O ou la KotlinConf afin qu’ils fassent une restitution technique auprès des collaborateurs, ainsi qu’une restitution fonctionnelle auprès des équipes produit.
« Le challenge des développeurs et du métier est d’atteindre l’équilibre entre la production de fonctionnalités et un maintien d’une qualité technique, confie Abdelaziz Gacemi. De ce fait, avec le changement d’orientation que connait l’application SNCF, nous avons besoin de nouveaux regards sur nos technologies et nos méthodes de travail. »
OUI.sncf est donc à la recherche de développeurs mobile sur iOS et Android pour venir renforcer les équipes. « Tous les profils sont les bienvenus, qu’ils soient juniors, confirmés ou seniors. Nous cherchons des jeunes développeurs avec un œil neuf sur nos projets, tout comme des développeurs expérimentés capables de nous aider à faire des ruptures technologiques. » Les développeurs travaillent principalement sur le langage Kotlin, avec certaines parties des applications codées en Java.