Notre client, un opérateur telco, souhaitait faire évoluer son système d’information permettant la prise de commande des produits et services du domaine grand public pour :
- Prendre en compte les besoins exprimés par les conseillers clients en termes d’amélioration de l’interface de prise de commande
- Permettre la gestion de nouvelles offres et service.
Nous avons mis en place deux équipes scrum pour prendre en charge les évolutions de sa solution de prise de commandes et gérer la refonte technique des API avec les applications partenaires.
Une équipe engagée capable de délivrer de la valeur « business »
Les deux équipes scrum, également appelées feature team, mises en place sont composées chacune de 7 personnes pluridisciplinaires : développeurs, architectes logiciels, qualifieurs.
Elles fonctionnent en mode auto-organisée et gèrent de bout en bout les projets de la phase d’études à la livraison en production.
Elles sont intégrées à distance à un plateau projet du client, constitué de 5 autres équipes grâce à une solution de visio conférence installée dans le local de l’équipe (caméra 360 + écran) et l’utilisation des fonctionnalités avancées de zoom (room…).
Les deux équipes fonctionnent en Agile Scrum. Elles s’appuient sur une culture agile à très haut niveau et une excellente maitrise de software craftsmanship et de ses différents piliers comme le clean code et le refactoring.
La chaine de déploiement (DevOps) est industrialisée et automatisée et s’appuie sur GitlabCI CI/CD.
Enfin, l’équipe s’appuie sur une forte culture de partage: Pair et MOB programming sont fortement utilisés.
A la fin de chaque itération, l’équipe est capable de démontrer la valeur « business » de ce qu’elle délivre.
Quelques exemples de projets réalisés :
- Développement d’une nouvelle API pour interroger un référenciel d’adresses afin de permettre la validation des données d’adresses des clients.
- Mise en place d’un chemin de fer facilitant la navigation du conseiller entre les différentes étapes d’une commande.
- L’intégration d’un nouveau partenaire pour la prise des rendez-vous avec des techniciens.
- L’ajout d’un nouveau mode de paiement.
Augmentation de la capacité de production et culture agile
Outre l’augmentation de sa capacité de production logicielle, la mise en place de ces deux équipes scrum a permis à notre client de bénéficier d’une expertise forte en matière de développement agile.
Quelques repères :
Scrum : Le terme anglais "scrum" signifie "mêlée" et s'inspire ouvertement du rugby, sport qui requiert une équipe soudée avançant dans la même direction. Dans le cadre de la méthode agile Scrum, une "mêlée" se traduit par un sprint, c’est-à-dire une phase de développement d'une à quatre semaines qui vise à concentrer l'équipe projet sur une partie limitée du produit ou du service à réaliser.
Feature team : Dans le cadre de l’approche agile scrum, une « Feature Team » est une équipe multidisciplinaire (produit, design, développements, déploiement,…) et autonome, centrée autour d’un même produit/fonctionnalité/lot. La Feature Team livre de façon itérative des incréments de valeur.
Software Craftsmanship : approche de développement de logiciels qui tend à professionnaliser le métier des développeurs (craftsman) avec des méthodes de travail reconnues et qui met en avant les compétences des développeurs en termes de qualité/fiabilité de codage.
GitlabCI CI/CD : c’est l’un des outils DevOps les plus importants, utilisé pour faciliter et accélérer le processus de distribution des applications, en exploitant des méthodologies dites d’intégration continue : Continuous Integration CI/ Continuous Development CD / Continuous Deployment CD.