Une des raisons pour lesquelles il est difficile d’entreprendre une transformation agile est qu’il n’existe aucune recette particulière pour indiquer la marche à suivre. Le point de départ et le contexte du passage à l’agilité diffèrent pour chaque entreprise. Comme la plupart des sociétés de développement modernes, DataCore adopte des pratiques de développement de logiciels agiles. Ce blog met d’ailleurs en lumière notre parcours.
En octobre 2018, l’équipe de R&D de DataCore a commencé l’implémentation de TC2, qui signifie « Technology Components version 2 ». Il s’agit d’une évolution de notre initiative de transformation agile « version 1 » entamée en juin 2018. La méthodologie TC2 se fonde principalement sur des principes Scrum qui ont été modifiés pour répondre aux problèmes spécifiques de DataCore. Elle comprend les principes fondamentaux suivants :
1. Dissocier la création de logiciels de la publication des versions de logiciels
2. Créer des composants technologiques indépendants et autonomes
3. Créer la confiance grâce à la visibilité
En dissociant le processus de création de logiciels de celui de la publication de versions, nous faisons preuve d’un progrès déterministe par paliers. Nous planifions, développons, effectuons les tests et les démonstrations, puis finalisons selon un rythme mensuel. Cela donne aux responsables des versions et aux directeurs de produits la flexibilité nécessaire pour assembler des versions « GA » (General Availability) à partir de pièces prêtes à l’emploi.
En ce qui concerne la création des composants technologiques indépendants et autonomes, TC2 crée des équipes axées sur des domaines de développement et de compétences spécialisés. Chez DataCore, cinq composants sont créés. Cela permet de réduire les dépendances entre les équipes, ainsi que les « temps d’arrêt » qui peuvent gêner la productivité et la planification. Les ingénieurs dotés de compétences similaires travaillant sur des objectifs communs se trouvent dans la même équipe. En conséquence, ils peuvent se soutenir les uns les autres pour la production des livrables et surtout, développer leurs compétences dans le temps. Ces équipes TC2 produisent des logiciels à fonctionnement autonome indépendamment des autres équipes et des calendriers de publication de versions externes.
Enfin, TC2 crée de la confiance grâce à la visibilité. Nous nous efforçons de rendre le plan et les progrès hautement visibles. La feuille de route TC2 est mise à jour en temps réel et diffusée sur des écrans plats dans le hall d’entrée de l’ingénierie, où tout le monde est invité à se rassembler pour discuter du plan. Cette visibilité favorise la confiance et nous confère un déterminisme qui permet à l’ingénierie de mieux s’intégrer à la planification et à l’exécution à l’échelle de l’entreprise. Des « démonstrations de jalons » sont organisées à la fin de chaque printemps pour présenter ce qui a été développé. Des réunions rétrospectives ont lieu une semaine sur deux pour identifier les aspects que l’équipe devrait optimiser.
Selon nous, les points clés de ce processus sont :
La vision et l’engagement proviennent des échelons supérieurs : nos dirigeants soutiennent les initiatives de transformation agile. L’équipe d’ingénierie a réalisé que les anciennes méthodes ne sont pas adaptées à notre nouvelle vision audacieuse, et que seule la transformation agile nous permettra d’y parvenir.
Être agile pour mettre en œuvre l’agilité : la transformation agile est une aventure. Nous expérimentons et apportons des améliorations via des réunions rétrospectives ; nous modifions le processus pour l’adapter à nos besoins et l’affinons en fonction de notre expérience.
Motiver les équipes : vous devez parvenir aux réponses en posant des questions. Plutôt que de donner des directives, il est préférable que les dirigeants posent des questions du type : « Qu’en pensez-vous ? ». C’est une méthode collaborative de résolution de problème. L’agilité consiste à responsabiliser une équipe se dirigeant de manière autonome et à lui faire confiance pour résoudre les problèmes. Les dirigeants doivent rechercher des occasions de renforcer les équipes, de supprimer les obstacles auxquelles elles sont confrontées et d’améliorer les performances.
Formation agile : les membres d’équipes reçoivent une formation pour accélérer la transformation agile, qui est axée sur les concepts d’agilité de base et avancés, les tests agiles, les estimations agiles et l’amélioration continue/la fourniture continue (ou CI/CD, Continuous Improvement/Continuous Delivery).
Le personnel d’abord : l’acquisition et la rétention des talents sont cruciales pour avoir une équipe agile hautement performante. DataCore crée des systèmes de classement et de notation sur lesquels les conversations d’encadrement peuvent s’appuyer et qui contribuent à l’élaboration de parcours de carrière pour nos talents. Nous créons une offre de formation pertinente pour renforcer les compétences et visons à obtenir les meilleurs talents.
Nous avons constaté que l’adoption de la méthodologie agile TC2 s’avère déjà bénéfique et nous sommes enthousiasmés par notre expérience de transformation agile. Nous poursuivons notre exploration de nombreuses initiatives, comme le passage à Github, l’automatisation robuste, etc., et nous continuerons à faire part à la communauté de nos expériences, tout au long de notre parcours.