SCRUM
Tags :
- COURS
- agile
- scrum
- gestion de projet
- management
Auteurs :
- Guillaume LAURIE
- Loïck Goupil-Hallay
SCRUM est une méthode agile de gestion de projet inventée dans les années 1980. Elle est basée sur des cycles de développement courts et itératifs appelés sprints. Chaque sprint est composé de plusieurs phases: planification, développement, revue et rétrospective. SCRUM est adapté aux projets complexes et évolutifs, notamment dans le domaine du développement logiciel. Il favorise la collaboration, la transparence et l'adaptabilité.
Definitions
Personnes
- Product Owner: Représentant du client, il est responsable de la définition des besoins et de la priorisation des fonctionnalités. Il est extérieur à l'équipe de développement.
- Scrum Master: Garant du respect de la méthode Scrum, il est responsable de la bonne application des règles et de l'organisation des réunions. Il est le coach de l'équipe de développement. Il peut être un membre de l'équipe de développement.
- Equipe de développement: Groupe de personnes qui réalise le travail. Elle est auto-organisée et pluridisciplinaire. Elle est composée d'au maximum 9 développeurs (5 dans l'idéal). Ne doit pas être dirigée par le Product Owner.
Travail
- Sprint: Période de temps fixe durant laquelle l'équipe de développement réalise un travail (normalement) livrable. La durée est fixée à l'avance et doit se situer entre 2 et 4 semaines. Les sprints sont itératifs et incrémentaux, ils s'enchaînent les uns après les autres.
Objectifs
- Epic: Ensemble de fonctionnalités qui répondent à un besoin global. Un Epic est découpé en User Stories.
- User Story: Description d'une fonctionnalité du point de vue de l'utilisateur. Elle est composée d'un titre, d'une description, d'une estimation et d'une priorité. Elle est découpée en tâches.
- Tâche: Action à réaliser pour compléter une User Story. Elle est estimée en temps. Une tâche est réalisée par un seul membre de l'équipe de développement, elle doit comporter une definition of done.
- Poker Planning: Réunion de planification durant laquelle l'équipe de développement estime le temps nécessaire pour réaliser les tâches. Les estimations sont faites en points de complexité.
Réunions
- Daily: Réunion quotidienne de 15 minutes durant laquelle chaque membre de l'équipe de développement répond à trois questions: "Qu'est-ce que j'ai fait hier?", "Qu'est-ce que je vais faire aujourd'hui?" et "Quels sont les obstacles qui m'empêchent d'avancer?".
- Weekly: Réunion hebdomadaire de 1h durant laquelle l'équipe de développement fait le point sur l'avancement du sprint. Elle permet de résoudre les problèmes et de réajuster les priorités.
- Sprint Review: Réunion de fin de sprint durant laquelle l'équipe de développement présente le travail réalisé au Product Owner et aux parties prenantes. Le Product Owner valide ou non les fonctionnalités réalisées.
- Sprint Retrospective: Réunion de fin de sprint durant laquelle l'équipe de développement fait le point sur le sprint écoulé. Elle cherche à identifier les points positifs et négatifs pour s'améliorer.
- Poker Planning: Réunion de planification durant laquelle l'équipe de développement estime le temps nécessaire pour réaliser les tâches. Les estimations sont faites en points de complexité.
Suivi
- Burndown Chart: Graphique qui représente l'avancement du sprint. Il permet de visualiser le travail restant à réaliser.
- Product Backlog: Liste des fonctionnalités à réaliser. Elle est priorisée par le Product Owner.
- Sprint Backlog: Liste des fonctionnalités à réaliser durant le sprint. Elle est définie par l'équipe de développement.
- Definition of Done: Critères qui définissent quand une tâche est terminée. Ils sont définis par l'équipe de développement.
- Backlog Refinement: Réunion durant laquelle le Product Owner et l'équipe de développement affinent les User Stories et les tâches.
Points forts
- Adaptabilité: SCRUM permet de s'adapter rapidement aux changements et aux retours utilisateurs.
- Transparence: Les réunions régulières et les outils de suivi permettent une visibilité constante sur l'avancement du projet.
- Collaboration: SCRUM favorise la collaboration entre les membres de l'équipe et avec le client.
- Amélioration continue: Les réunions de rétrospective permettent d'identifier les points à améliorer et de les mettre en place rapidement.
- Livraison incrémentale: Les sprints permettent de livrer régulièrement des fonctionnalités, ce qui permet de valider le travail réalisé et de s'adapter si nécessaire.
- Motivation: L'auto-organisation de l'équipe et la responsabilisation des membres favorisent la motivation et l'engagement.
- Réduction des risques: Les cycles courts permettent de réduire les risques en identifiant rapidement les problèmes et en y apportant des solutions.
- Qualité: La definition of done permet de garantir la qualité du travail réalisé.
- Rapidité: Les cycles courts permettent de livrer rapidement des fonctionnalités.
- Visibilité: Les outils de suivi et les réunions permettent une visibilité constante sur l'avancement du projet.
- Satisfaction client: La collaboration étroite avec le client permet de répondre au mieux à ses besoins et de s'adapter rapidement à ses retours.
- Innovation: SCRUM favorise l'innovation en permettant de tester rapidement de nouvelles idées et de s'adapter aux retours utilisateurs.
- Communication: Les réunions régulières favorisent la communication au sein de l'équipe et avec le client.
- Responsabilisation: Chaque membre de l'équipe est responsable de la réussite du projet et de la qualité du travail réalisé.
- Apprentissage: Les réunions de rétrospective permettent d'apprendre de ses erreurs et de s'améliorer continuellement.
- Efficacité: SCRUM permet de travailler de manière efficace en se concentrant sur les tâches les plus importantes et en les réalisant rapidement.
Limites
- Manque de vision claire de ce qui est à faire peut être démotivant / peu fédérateur
- Problème de livraison incrémentale et long terme (bases moins solides, évolutions peu coordonnées, fragmentation, problème de la lourdeur de tout rendre compatible)
- Niveau de collaboration quasiment impossible à maintenir (avec le client)
- Impossibilité de prédire les ressources et les efforts
- Pas de fin
- Documentation bâclée ou absente
- Conception parfois douteuse (demande du temps de reflexion)
- Hypocrisie des sprints techniques qui n'existent pas en réalité
- Mesure impossible de la performance