La méthode Agile est une approche itérative et incrémentale qui est basée sur la collaboration d’un ensemble de personnes qui participent au projet.
Elle a pour but de produire une application de haute qualité tout en prenant en compte l’évolution des besoins du client au cours du déroulement du projet.
Pourquoi la méthode Agile ?
Le graphe ci-dessus nous montre la répartition des projets réussis ou échoués
Dans les années 80, force est de constater que seulement 16 % des projets informatiques sont terminés dans le délai.
Un groupe de spécialistes en développement informatique s’est alors réuni afin de réfléchir à de nouvelles méthodes pour développer des logiciels.
De cette réflexion, est sortie la méthodologie agile qui suit quatre valeurs fondamentales décrites dans le manifeste Agile.
De ces quatre valeurs, découlent douze principes.
Au cours du déroulement d’un projet géré en agile, le scope (périmètre) peut changer au cours du temps en fonction du besoin du client.
Chaque changement est pris en compte au début d’une itération.
Une gestion de projet en mode Agile permet de livrer au client de manière itérative et avoir immédiatement son retour.
L’équipe de développement peut ainsi corriger et apporter les modifications demandées pour la livraison de la prochaine itération.
On constate que les méthodes augmentent considérablement le taux de réussite des projets de développement informatique.
Il existe de nombreuses méthodologies Agiles dont SCRUM qui est utilisé à plus de 50 % dans les entreprises.
Dans cette deuxième partie, nous allons parler de la méthode SCRUM.
La méthode SCRUM s’appuie sur une méthode de travail qui consiste à découper le projet en lots.
Chaque lot sera réalisé au cours d’une itération appelée Sprint. Au début de chaque itération, la direction du projet peut être revue et changée
Le Product Owner se charge de lister et prioriser le besoin client.
Le Scrum Master veille à l’application de la méthode SCRUM, tout au long du déroulement du projet.
L’ensemble des fonctionnalités de la future application est décrit dans le backlog sous la responsabilité du « Product Owner »
Chaque fonctionnalité est décrite du point de vue de l’utilisateur dans une « User Story ».
Voici deux exemples d’user stories
Des évènements rythment la vie d’un sprint. Chacun de ces évènements permettent à l’équipe de planifier, se recentrer, s’adapter ou toute autre action qui améliore la réalisation dans les futurs sprints.
Glossaire SCRUM
Scrum : Cadre de travail de gestion de projet agile.
Daily Scrum / Mêlée Quotidienne / Stand-Up : Réunion quotidienne de moins de 15 minutes pendant laquelle les développeurs restent généralement debout. Celle-ci permet de faire le point, d’identifier les problèmes bloquants et de se synchroniser.
Product Backlog : Liste priorisée des besoins du projet. Les différentes User Stories qui la composent représentent les objectifs à atteindre par l’équipe.
Sprint / Itération : C’est un cycle, d’une durée d’un mois ou moins, qui se répète.
Sprint Planning : C’est une réunion de planification du sprint. Elle consiste à sélectionner des éléments du Backlog à réaliser durant le sprint suivant.
Sprint Review : C’est une réunion de travail où l’équipe présente le travail réalisé pendant le sprint aux parties prenantes et notamment au client. C’est l’opportunité de recueillir les feedbacks et discuter des prochaines étapes du projet.
Sprint Retrospective : C’est l’occasion pour l’équipe de discuter du processus de travail. Le but est d’inspecter le déroulement du sprint venant de se terminer et de réfléchir à des pistes pour améliorer la qualité et l’efficacité.
Planning Poker : Technique d’estimation des tâches à effectuer. Chaque élément du Product Backlog est estimé collectivement. Cette méthode donne un aspect ludique au processus d’estimation.
Product Owner : le PO est la voix du client. Son rôle est de maximiser la valeur apportée par l’équipe Scrum au produit à chaque sprint.
Scrum Master : Il joue le rôle de coach qui aide l’équipe et veille à l’application de la méthodologie Scrum.
Story Point : C’est une unité de mesure qui sert à estimer l’effort global pour implémenter une User Story entièrement.
User Story : C’est une demande fonctionnelle venant des utilisateurs clés du produit. Elle décrit de façon très simple une fonctionnalité qui rajoutera de la valeur au produit.
BurnDown Chart : C’est un graphique qui représente la quantité de travail restant à effectuer avant la fin d’un sprint ou d’un projet, par rapport au temps planifié.