Agilité et Framework Scrum… Ce qu’il faut savoir !

L’agilité est devenue aujourd’hui un terme tant utilisé dans les conversations. Une prise de connaissance de plus en plus de cette notion qui semble donner un avantage à ses adeptes. On peut la définir comme un cadre de travail apportant plus de collaboration, de valeur au client, d’adaptation aux changements et le tout s’appuie sur des principes et des valeurs. Le tout est sous la coupole du Mindset agile.

Il y a quelques années, j’ai découvert l’agilité. Au début, j’ai été sceptique par rapport à son apport, mais j’avais tort : je n’ai pas encore compris, à l’époque, son fonctionnement. C’est à travers l’empirisme que j’ai pu toucher l’essence même de l’agilité. Les résultats que j’ai pu récolter en adoptant la (les) méthode (s) dépassent de loin ceux qu’on peut escompter des méthodes classiques.

L’agilité s’adapte principalement aux projets dits complexes. On décompose le projet/problème en différentes parties jusqu’à l’obtention d’une unité indivisible. On note chaque partie pour estimer son importance en lui accordant des points.

Le changement ne fait nullement peur, car il permet de réduire les effets négatifs sur le projet. La collaboration étroite et les interactions entre les individus permettent un alignement de toutes les parties prenantes et l’atteinte de l’objectif attendu.

En agile, on travaille généralement dans des intervalles de temps assez court qu’on appelle « Sprint ». Chaque Sprint a un objectif bien fixé. Chaque sprint ayant pour objectif de clôturer une brique du projet. Les méthodes agiles permettent de renforcer les relations entre les membres d’une équipe, mais aussi entre l’équipe et le client. C’est pour cette raison que la flexibilité et la souplesse sont deux piliers forts dans la méthode AGILE. Il existe en réalité plusieurs méthodes qui ont toutes un point commun : elles découlent toutes du Manifeste Agile. Édité en 2001, le manifeste AGILE a été développé par plusieurs développeurs de logiciels. Son but : améliorer leur process et réduire leur taux d’échec. Pour cela, ils placent le client au cœur du projet et ils s’adaptent tout le long du fil du projet.

« En agile, on travaille généralement dans des intervalles de temps assez court qu’on appelle « Sprint ». Chaque Sprint a un objectif bien fixé. Chaque sprint ayant pour objectif de clôturer une brique du projet. Les méthodes agiles permettent de renforcer les relations entre les membres d’une équipe, mais aussi entre l’équipe et le client. C’est pour cette raison que la flexibilité et la souplesse sont deux piliers forts dans la méthode AGILE. Il existe en réalité plusieurs méthodes qui ont toutes un point commun : elles découlent toutes du Manifeste Agile. Édité en 2001, le manifeste AGILE a été développé par plusieurs développeurs de logiciels. Son but : améliorer leur process et réduire leur taux d’échec. Pour cela, ils placent le client au cœur du projet et ils s’adaptent tout le long du fil du projet. »

La méthode SCRUM : c’est le Framework simpliste par excellence !

Scrum est un cadre de travail (Framework) léger qui aide les personnes, les équipes et les organisations à générer de la valeur grâce à des solutions adaptatives pour des problèmes complexes. [Définition du guide Scrum]

La méthode Scrum s’articule sur :

  • Trois rôles : Product Owner, Scrum master et l’équipe de développement ;
  • Trois piliers : Transparence, l’inspection et l’adaptation ;
  • Cinq valeurs : l’engagement, le courage, le focus, l’ouverture et le respect ;
  • Quatre principaux artifacts (Résultats) : Product Backlog, Sprint Backlog, l’Incrément et la Definition Of Done…Etc.
  • Cinq événements : Le Sprint, Sprint planning, Daily Scrum, Sprint review et le Sprint retrospective.

Le schéma ci-dessous explique de manière exhaustive la méthode Scrum :

Le product Owner détermine et priorise les principales fonctionnalités demandées, celles-ci sont incluse dans le carnet de produit (Product Backlog). Ensuite, elles sont évaluées par l’équipe de développement qui attribue des points aux différentes fonctionnalités décomposées en unités plus petites. 

Le Sprint Backlog contient les parties à développer lors du sprint. L’équipe travaille dans le Sprint de manière collaborative, on collecte le feedback de manière continuelle.

Le Scrum daily est un événement durant lequel on répond à trois questions :

1- Qu’est ce qu’on a fait hier ?

2- Qu’est qu’on va faire aujourd’hui ?

3- quels obstacles rencontrés ?

Le client et l’équipe de développement inspectent le travail réalisé lors du Sprint Review. Les améliorations sont proposées lors du Sprint retrospective.

A la fin du sprint, l’incrément délivré doit être validé et répondre à la définition of done (Critères de validation : Définition du « terminé » ).

Le sprint est timeboxed : limité dans le temps entre 2 à 4 semaines. Cette approche est itérative et incrémentale.

Les rôles dans SCRUM :

Rôles dans SCRUM
Product Owner  Scrum MasterScrum Team Equipe Scrum
Le Product Owner, c’est la personne responsable d’atteindre la valeur commerciale maximum du projet. Il est aussi chargé d’exprimer les exigences du client et de soutenir la justification commerciale du projet. Le Product Owner représente la voix du client.  Le Scrum Master, c’est un facilitateur qui s’assure que l’équipe Scrum dispose d’un environnement favorable à la réussite du projet. Le Scrum Master guide, facilite et enseigne les pratiques Scrum à toutes les personnes participant au projet. Il élimine les obstacles pour l’équipe et garantit le respect des processus Scrum.  L’équipe Scrum, c’est le groupe ou l’équipe responsable de l’interprétation des exigences spécifiées par le Product Owner et de créer les incréments de produit du projet.

Piliers de SCRUM :

Le contrôle empirique des processus repose sur trois piliers fondamentaux : la transparence, l’inspection et l’adaptation.

 Transparence

« La transparence permet à toutes les facettes de tout projet Scrum d’être observées par tous. Cela encourage un flux d’information simple et transparent à travers l’organisation dans son ensemble et crée un environnement de travail ouvert. Avec Scrum, les décisions importantes sont basées sur l’état perçu de ses trois artefacts formels. Les artefacts peu transparents peuvent conduire à des décisions qui diminuent la valeur et augmentent les risques. »

Figure2-1: La transparence dan Scrum

Inspection :

« Les artefacts Scrum et les progrès vers les objectifs convenus doivent être inspectés fréquemment et avec diligence pour détecter des écarts ou des problèmes potentiellement indésirables. Pour faciliter l’inspection, Scrum fournit une cadence sous la forme de ses cinq événements. L’inspection permet l’adaptation. Une inspection sans adaptation est considérée comme infructueuse. Les événements Scrum sont conçus pour provoquer le changement. »

Figure 2-2: L’inspection dan Scrum

Adaptation :

« Si certains aspects d’un processus s’écartent des limites acceptables ou si le produit résultant est inacceptable, alors le processus appliqué ou les éléments produits doivent être adaptés. L’adaptation doit être effectuée le plus rapidement possible afin de minimiser tout écart supplémentaire. L’adaptation devient plus difficile lorsque les personnes impliquées ne sont pas en possession de tous leurs moyens ou autogérées. Une Scrum Team doit s’adapter dès lors que l’inspection révèle quelque chose de nouveau. »

Figure 2-3 : L’adaptation dan Scrum

Les valeurs de Scrum

Lorsque les 5 valeurs sont incarnées et vécues par l’équipe Scrum, les piliers émergent et consolident la confiance entre tout le monde. La bonne application de Scrum repose donc sur des personnes capables d’approprier ces valeurs :

Engagement : les membres de l’équipe Scrum s’engagent personnellement à atteindre les objectifs et à se dédier au succès de l’équipe.

Courage :

les membres de l’équipe Scrum doivent avoir le courage de faire ce qu’il faut, d’admettre que telle fonctionnalité ne pourra se faire et de travailler sur des problèmes difficiles.

Focus / Concentration : 

les membres de l’équipe Scrum doivent se concentrer sur le travail du Sprint et les objectifs de l’équipe.

Ouverture : 

les membres de l’équipe Scrum et ses parties prenantes acceptent d’être ouverts/ouvertes d’esprit sur le travail et les défis liés à l’exécution du travail.

Respect :

les membres de l’équipe Scrum se respectent et ont conscience d’être des personnes capables et indépendantes.

Les artefacts Scrum

Résultats/produits de nos activités de gestion – sont conçus pour accroître la transparence des informations liées à la livraison du projet et offrent des possibilités d’inspection et d’adaptation :

1. backlog de produit : une liste ordonnée de tout (c’est-à-dire des histoires) qui pourrait être nécessaire dans le produit final

2. Backlog de sprint : éléments sélectionnés (histoires) du backlog de produit à livrer via un sprint, ainsi que l’objectif de sprint et les plans pour livrer les éléments et réaliser l’objectif de sprint

3. Incrément : L’ensemble de tous les éléments du Product Backlog complétés jusqu’à la fin d’un certain Sprint

4. Définition de « Terminé » : La compréhension partagée de ce que signifie qu’un travail soit considéré comme terminé

5. Suivi des progrès vers un objectif : mesure et prévision des performances pour l’ensemble du projet

6. Surveillance de la progression du sprint : la mesure des performances et les prévisions pour un seul sprint

Un incrément est la somme de tous les éléments du backlog produit terminés à la fin d’un sprint. Chaque Incrément doit être « Terminé » et doit être libérable. Le Product Owner peut ou non publier un certain Incrément, mais il doit être libérable (livrable).

La figure suivante montre comment le nombre d’histoires dans le backlog de produit diminue sprint par sprint, à mesure que le nombre de fonctionnalités dans les incréments augmente.

Les événements SCRUM :

1- Le Sprint

« Le Sprint est un conteneur pour tous les autres événements. Chaque événement dans Scrum est une occasion formelle pour inspecter et adapter les artefacts Scrum. Ces événements sont spécifiquement conçus pour permettre la transparence requise. L’incapacité d’organiser les évènements conformément à leur prescription est une occasion perdue pour inspecter et s’adapter. Les événements sont utilisés dans Scrum dans le but de créer de la régularité, minimisant le besoin d’avoir d’autres réunions non définies par Scrum. Idéalement, tous les événements se tiennent à la même heure et au même lieu pour réduire la complexité. Un nouveau Sprint commence immédiatement après la fin du précédent. Tout le travail nécessaire pour atteindre l’Objectif de Produit, y compris le Sprint Planning, les Daily Scrums, la Sprint Review et la Sprint Retrospective, se fait dans le cadre des Sprints. »

Durant le Sprint :

Aucun changement n’est permis, qui pourrait remettre en cause l’Objectif de Sprint ;

 ● Les objectifs de qualité ne sont jamais revus à la baisse ;

 ● Le Product Backlog est affiné si nécessaire ;

 ● Le périmètre peut être clarifié et renégocié avec le Product Owner selon ce qu’on en apprend.

2- Sprint Planning :

La première chose à faire dans chaque sprint est la planification de sprint.

Le Sprint Planning est une réunion en timebox, généralement fixée à 8 heures pour un Sprint d’un mois, ou plus courte pour les Sprints de moins d’un mois.

Les trois rôles doivent assister à cette réunion.

L’équipe de développement doit estimer la capacité de travail qu’elle peut fournir en un seul sprint.

Le Product Owner a déjà classé et ordonné le Product Backlog en fonction de la valeur des articles. Le Product Owner s’assure également que les items (stories) sont faciles à comprendre.

L’équipe de développement sélectionne ensuite un nombre approprié d’éléments en haut du Product Backlog, et les place dans le Sprint Backlog, pour les livrer dans le Sprint en cours.

La quantité de travail pour chaque élément est estimée par l’équipe de développement et la quantité totale de travail des éléments sélectionnés du backlog produit est proche de la capacité estimée de l’équipe de développement.

Le Sprint Backlog sera prêt à la fin de cette réunion et l’équipe de développement devrait être en mesure de décrire les éléments qu’elle livrera tout au long du Sprint et comment elle le fera.

Le Sprint Backlog se compose des éléments suivants :

1. L’objectif du sprint

2. Éléments sélectionnés du Product Backlog, à livrer via le Sprint

3. Un plan détaillé pour transformer les éléments sélectionnés en incrément « Terminé » du produit et pour réaliser l’objectif du sprint (le plan ne serait pas complètement détaillé lors de la réunion de planification du sprint)

3- Le Daily Scrum :

Le Daily Scrum est normalement une réunion de 15 minutes permettant à l’équipe de développement d’inspecter le travail depuis la dernière réunion, de synchroniser son travail et de planifier les prochaines 24 heures. Il doit avoir lieu quotidiennement.

Lors de la mêlée quotidienne, chaque membre de l’équipe de développement doit répondre à ces trois questions :

1. Qu’est-ce qui a été accompli depuis la dernière réunion ?

2. Que sera-t-il fait avant la prochaine réunion ?

3. Quels sont les obstacles sur le chemin ?

La réunion Daily Scrum doit se tenir au même moment et au même endroit tout au long du Sprint, afin de minimiser la complexité. C’est juste pour l’équipe de développement ; ce n’est pas une réunion de statut pour toutes les parties prenantes.

4- Sprint Review :

La durée de cette réunion est normalement de quatre heures pour un Sprint d’un mois. Si les Sprints sont plus courts alors cette réunion sera proportionnellement plus courte.

À la fin du Sprint, l’équipe Scrum et d’autres parties prenantes se réunissent et tiennent une réunion de quatre heures pour présenter et inspecter les éléments « Terminés » (l’Incrément) du Sprint en cours et adapter le Product Backlog en marquant les éléments « Terminés » comme compléter et ajouter de nouveaux éléments ou modifier ceux existants si nécessaire. La présentation de l’incrément lors de cette réunion a pour but de recueillir des commentaires et de soulever des demandes de changement au plus tôt possible.

L’équipe de développement ne présente pas un élément, sauf s’il est complet à 100 % sur la base de la définition convenue de « Terminé ». Le Product Owner s’assure (avant la Scrum Review) que les items présentés sont « Done ». L’équipe de développement démontre et explique les éléments.

Le Product Owner discute de l’état du Product Backlog et des dates d’achèvement probables en fonction de l’avancement.

5- Sprint Retrospective :

Cette réunion dure normalement trois heures pour un Sprint d’un mois. Si le Sprint est inférieur à un mois, cette réunion sera proportionnellement plus courte.

Après la revue de sprint et juste avant la fin du sprint, une autre réunion aura lieu, visant à l’amélioration des processus (leçons d’apprentissage), qui s’appelle la rétrospective de sprint.

Il y a une règle : nous devons toujours chercher des façons de nous améliorer. Peu importe le peu d’amélioration, il devrait y avoir une amélioration. Cette réunion est une occasion formelle d’amélioration, même si nous ne limitons pas notre amélioration aux résultats de cette réunion.

Nous examinerons (inspecterons) le Sprint, en ce qui concerne les personnes, les relations, les processus et les outils, et identifierons les moyens de les améliorer lors du prochain Sprint.

Auteur : Abdelhakim EL KANIAR  

Consultant en certification TOTAC

Diplômé de l’Ecole Nationale des Assurances de Paris (ENASS membre du CNAM), M. Abdelhakim EL KANIAR dispose de plus de 24 ans d’expérience professionnelles dans le secteur des assurances à travers différents postes de responsabilité occupés.

Actuellement, il est le chef département Pilotage Opérationnel et Transformation au sein d’une compagnie leader sur le marché de l’assistance. Il a conduit plusieurs projets de lancement de nouveaux produits d’assurance innovants par la conduite et la maitrise des volets techniques notamment en Europe et en Afrique.  

Il est certifié en tant que Scrum Master de l’International Scrum Institute, membre du PMI (Project Management Institute) et membre aussi du Chapter-marocain du PMI.Il est formateur-consultant de différentes thématiques en relation avec l’agilité, la gestion des projets, la transformation et la diffusion de l’esprit positif.