Défis à relever Le principal défi de Navya était de gérer la complexité du développement de produits dans une organisation en pleine croissance. La vélocité de leur équipe de développement était entravée par un outillage insuffisant (un mélange de Git, de feuilles de calcul, de Jira et d’autres plateformes) et par des frictions d’outils qui rendaient la traçabilité difficile à atteindre.


À propos de Navya

Navya est spécialisée dans le développement de systèmes de conduite autonome. Fondée en 2014 et basée à Lyon, en France, elle emploie plus de 280 personnes (dont 140 ingénieurs et experts en technologie) sur ses sites en France et aux États-Unis. Navya a été la première entreprise au monde à commercialiser des navettes autonomes. La première AUTONOM® SHUTTLE entièrement autonome, sans conducteur et électrique de la société a été lancée en septembre 2015 en tant que solution de transport de passagers du premier et du dernier kilomètre.

Homme devant le bus Navya

Le problème : Agile et conformité ISO 26262

Début 2018, le principal défi de Navya était de gérer la complexité du développement de produits dans une organisation en pleine croissance. Ils avaient besoin d’un moyen d’équilibrer la flexibilité d’Agile et la rigidité du modèle en V, tout en garantissant le respect des obligations de sécurité.  

C’étaient les débuts de l’entreprise : l’équipe de développement n’avait pas de système en place pour gérer les spécifications des produits, et les exigences n’étaient pas figées pendant le développement. Les équipes logicielles utilisaient les méthodes agiles, chaque équipe gérant son propre carnet de produit. La synchronisation entre les équipes était insuffisante, il n’y avait aucune procédure à suivre et aucune visibilité sur le processus de développement. Tout cela ne pouvait qu’entrer en conflit avec les exigences réglementaires strictes qui régissent la sécurité fonctionnelle dans le secteur de la mobilité.

Avant de passer à Codebeamer, l’équipe de développement de Navya utilisait un ensemble d’outils similaires à ceux de nombreuses autres organisations. Pour gérer les versions du code, l’entreprise utilisait Git et s’appuyait sur une combinaison de feuilles de calcul mises à jour manuellement, de Jira et d’un référentiel de documents en constante évolution pour rester au courant des activités de développement.

Alors que les équipes de Navya s’agrandissaient et que la complexité des produits était sur le point de devenir incontrôlable, l’équipe a vu les risques qui auraient pu avoir un impact négatif sur l’efficacité du développement. L’équipe n’a pas attendu que la situation s’aggrave au point d’affecter les opérations. Il était évident qu’un changement méthodologique s’imposait.


Sécurité et conformité dans le développement de systèmes autonomes

Navya développe un produit autonome doté de multiples sous-systèmes essentiels pour la sécurité. Alors que les instances dirigeantes accusent un retard par rapport aux développeurs de produits dans la fourniture de réglementations pour les systèmes autonomes, la norme ISO 26262 reste l’exigence réglementaire la plus importante à laquelle Navya doit se conformer afin de garantir la sécurité fonctionnelle.

Du point de vue des processus, l’équipe de développement exécute une analyse des risques de haut niveau basée sur des cas d’utilisation de produits. Celles-ci sont répercutées en cascade dans les exigences système qui sont propagées aux sous-systèmes et composants requis. Pour valider les exigences fonctionnelles et dysfonctionnelles, l’équipe effectue des tests au niveau de la fonction ou de la simulation, en sollicitant le système logiciel dans un environnement contrôlé, puis au niveau du système dans un environnement représentatif.

Une fois tous ces tests réussis, le produit est validé et peut être déployé. Cependant, même après tout cela, l’équipe de Navya commence par un déploiement plus limité et plus contrôlé avec un nombre restreint de clients. Si cela réussit, la nouvelle solution est déployée sur le reste de la flotte.

« Le processus est l’une des clés pour s’assurer que notre logiciel respecte les réglementations de sécurité. Évidemment, notre objectif principal est d’assurer la conformité ISO 26262. Pour cela, Codebeamer contient le bon ensemble de fonctionnalités qui nous fournit la traçabilité requise entre les différents niveaux de spécifications. » -Responsable du développement de produits, Navya
 
 

Évaluer les outils ALM en gardant à l’esprit la flexibilité  

En juillet 2018, Navya a initié un processus de sourcing pour sélectionner une solution de gestion du cycle de vie des applications. La recherche a été assez rapide en raison d’un besoin croissant de formaliser les processus de développement. Afin de prendre une décision éclairée, l’équipe a analysé les capacités de plusieurs outils et a entamé une discussion avec plusieurs fournisseurs.

Les principaux facteurs que l’équipe de Navya a recherchés dans le cadre de l’évaluation étaient les suivants :  

  • La possibilité de configurer sur mesure différents types d’objets et d’établir des liens entre eux pour une traçabilité de bout en bout  
  • Facilité d’utilisation dans un environnement agile, innovant et en croissance rapide
  • Prise en charge de la collaboration et possibilité pour les utilisateurs d’interagir au sein de l’outil 
  • Flexibilité et capacité à faire évoluer et à adapter le système pour soutenir le processus d’amélioration continue
  • Facilité de configuration, car les besoins de l’équipe évoluent constamment au fur et à mesure de l’amélioration des processus
  • Modèle de tarification pour un ROI optimal 

 

Comme dans le développement logiciel lui-même, l’équipe de développement de Navya a adopté une approche agile pour créer son environnement ALM. Ils souhaitaient procéder progressivement, en suivant les modèles agiles fondamentaux dans le processus pour s’assurer que la solution répondait à leurs besoins en constante évolution. L’équipe recherchait une efficacité maximale en améliorant continuellement son environnement de travail. La flexibilité était donc une exigence essentielle pour Navya : Leur outil de prédilection devait pouvoir s’adapter et soutenir un état d’esprit totalement agile.

Après avoir mené le processus d’évaluation, Navya a réduit la recherche à une liste restreinte de finalistes qui comprenait Siemens Polarion et d’autres outils. Finalement, c’est ce besoin crucial de flexibilité qui a fait pencher la balance en faveur de Codebeamer.

« La flexibilité déployée par Codebeamer pour mettre en place l’environnement et participer à la transformation des objets a été le principal argument dans la décision finale. »

 

Navya a acheté une poignée de licences en août 2018 et a continué à augmenter progressivement son nombre de sièges. En 2019, Navya comptait 120 utilisateurs de Codebeamer, un chiffre appelé à passer à 200 l’année suivante.

Déploiement et formation autonomes

Navya n’avait aucune expérience du déploiement à grande échelle d’un outil de développement et, selon Responsable du développement de produits, Navya, elle n’avait pas anticipé le succès et la demande croissante qu’elle a rencontrés avec Codebeamer. Dans l’ensemble, Navya a fait état d’une adoption rapide de l’outil et très peu d’efforts ont été nécessaires pour former les utilisateurs.

Tout d’abord, l’objectif était d’utiliser la plateforme pour la gestion des bogues logiciels, avant qu’elle ne soit rapidement appliquée à la gestion des récits utilisateur et des scénarios pour l’équipe logicielle. Navya a fait une expérience surprenante avec le système lorsque l’outil a été adopté par l’équipe chargée du matériel.

Codebeamer étant utilisé depuis un certain temps, il semblait naturel pour l’équipe produit d’étendre l’utilisation de l’outil au développement matériel, mais la direction s’est heurtée à une certaine résistance, la plateforme étant perçue par les ingénieurs en matériel comme un outil exclusivement logiciel. Cependant, il est vite devenu évident que Codebeamer était capable de gérer les problèmes matériels et de réduire la complexité, ce qui a permis d’obtenir l’adhésion de l’équipe chargée du matériel.

En termes de formation, Navya a adopté une approche hybride : Ils avaient bien mis en place une formation officielle, mais ils estimaient qu’il valait mieux laisser les ingénieurs « jouer » avec l’outil. Une fois qu’ils ont appris à quel point il était facile de configurer Codebeamer, Navya a décidé de contribuer à répandre l’utilisation de l’outil de manière organique en distribuant simplement des droits d’administrateur à de nombreuses équipes.

Cette approche s’est avérée être une arme à double tranchant : D’une part, les ingénieurs ont appris à utiliser et à configurer la plateforme, mais de l’autre l’équipe de développement de Navya s’est retrouvée avec un grand nombre d’objets disparates et laissés sans maintenance qui ne pouvaient tout simplement pas fonctionner ensemble. Pour résoudre ce problème, ils ont mis en place une équipe chargée de maintenir une approche systémique de l’utilisation de la plateforme, de découper les objets et de les réintégrer dans un cadre partagé.

« Nous avons organisé plusieurs séances de formation avant le déploiement et avons eu de multiples présentations et toutes sortes de communications sur les changements à venir. Mais pour être honnêtes, nous avons obtenu de bien meilleurs résultats en laissant les utilisateurs s’entraîner entre eux. 

 

 
À l’intérieur du bus Navya
Bus Navya avec une porte ouverte
 

Avantages de l’ALM intégré 

En optant pour Codebeamer, Navya a principalement bénéficié de la transparence, de la clarté et de la cohérence de ses processus.

« Le fait de fournir à notre entreprise les bons outils pour gérer la complexité est sans aucun doute un catalyseur qui nous aide à perfectionner davantage nos innovations. C’est là que le fait d’avoir le bon outil peut être un véritable facteur de différenciation.
 

 

Avant d’implémenter Codebeamer, les équipes de Navya travaillaient de façon cloisonnée sur différents aspects fonctionnels du produit. La visibilité sur leurs activités était limitée et il était difficile de créer une vue au niveau du système qui permettrait à l’équipe de gérer la complexité.

Avec Codebeamer, ils peuvent avoir une vue de bout en bout des activités de développement avec des liens entre tous les types d’artefacts, des exigences à la validation. Les dépendances sont faciles à repérer et des politiques communes permettent de normaliser la qualité du codage. L’équipe peut facilement surveiller les progrès réalisés et divers indicateurs de haut niveau pour mesurer les domaines sur lesquels se concentrer. Cela permet d’identifier les zones problématiques et d’alimenter l’amélioration continue.

« Codebeamer nous a fourni une interface unique pour relier et gérer toutes sortes d’objets, tous nécessaires au développement d’un produit très complexe. La plateforme nous permet de le faire dans un environnement convivial et très flexible, reliant toutes les fonctions de l’entreprise de manière cohérente.
 

L’ALM a permis de simplifier les questions de conformité en lien avec les efforts de développement de Navya, grâce à des liens traçables connectant les exigences de haut niveau aux tests finaux, en passant par l’architecture logicielle. Cela permet à l’équipe de Navya d’effectuer les étapes de validation et les contrôles de conformité nécessaires. Avant de passer à Codebeamer, ces processus n’étaient pas outillés, et Navya a indiqué que l’utilisation de la plateforme avait eu un impact bénéfique sur l’efficacité de l’équipe.  

Compte tenu de la flexibilité de la plateforme et de tous les avantages qu’elle procure, il n’est pas surprenant que Navya étudie aujourd’hui de nouvelles façons d’adopter Codebeamer dans l’organisation :

« Nous n’avons pas encore fini d’explorer le véritable potentiel de Codebeamer car nous sommes engagés dans une démarche d’amélioration continue de nos méthodes de travail. Nous étendons l’utilisation de l’outil à d’autres domaines de l’entreprise. Bien que ce projet ait été lancé pour gérer la complexité du développement, notre attention se porte désormais sur la gestion de toutes les activités de notre entreprise, telles que la création de tickets pour le développement, la gestion des risques, la gestion de l’entreprise, la gestion de projet, la gestion de la feuille de route du produit ... »