![]() |
Si vous êtes dans le domaine de l’informatique, vous sûrement entendu ce terme. Partout en ce moment on entend parler que « d’agilité des entreprises », de « Scrum », de « cycles itératifs », autant de termes qui ne sont pas forcément parlant pour tout le monde! Si comme moi il y a quelques mois, vous vous sentez perdus face à ces termes et concepts qui ne sont pas toujours ni très clairs, ni très bien expliqué, cet article est susceptible de vous intéresser! Je vais ici plus intéresser à Scrum, une méthodologie qui utilise les méthodes Agiles. |
En quoi consistent les méthodes Agiles?
Les méthodes traditionnelles de gestion de projets consistent en un enchaînement séquentiel des différentes activités, depuis les spécifications jusqu’à la validation du système, selon un planning préétabli. Elles visent à mieux prédire la façon dont les choses « devraient » se passer. Malheureusement, cette vision rassurante est bien loin de la réalité des projets. En effet, vous avez déjà dût le remarquer, un projet ne se déroule jamais comme prévu, et surtout pas en informatique!
Selon les estimations, plus de 80% des projets exécutés selon ces méthodologies connaissent des retards, des dépassements budgétaires, quand ils ne finissent pas en échec total, pour n’avoir pas su satisfaire les attentes des clients.
C’est pourquoi les méthodes Agiles ont vu le jour. Avec ces méthodes, vous serez obligé de complètement réviser votre façon d’appréhender un projet. Ces méthodes peuvent renter dans 5 grandes préconisations:
- L’adoption d’un cycle itératif et incrémental: Cela consiste à découper votre projet en tâches simples (cycles) pouvant être effectuées à court terme (par exemple deux semaines) et qui seront validées avec le client à chaque fin de cycle. Ces tâches seront elles-mêmes découpées en sous-cycles journaliers qui se traduiront par un point avec l’équipe de courte durée qui permettra de voir l’avancement des équipes, les points bloquant etc…
- L’implication du client dans le développement, permettant au client et à l’utilisateur de donner leur feedback quant au devenir de l’application en cours de développement, annulant ainsi tout « effet tunnel ».
- La définition d’objectifs à court terme qui permet de maintenir une pression constante mais supportable sur l’équipe, alors qu’au début d’un cycle en V chacun a l’impression d’avoir suffisamment de temps devant lui et subit finalement une pression énorme à l’approche de la livraison.
- La collaboration entre les personnes et l’intégration des équipes qui combat les fameux passages de relais en rassemblant dans un même espace toutes les énergies et la compétence de personnes centrées sur l’application à réaliser. Plus aucune barrière et des tâches définies par l’équipe au meilleur moment, c’est-à-dire quand on en a besoin, plutôt qu’au début duprojet.
Quels sont les acteurs?
Nous pouvons distinguer 4 acteurs dans un projet Scrum:
| Users Responsabilités : ■ Expriment leurs besoins et leurs priorités auprès de leur représentant : le Product Owner ■ Clarifient les besoins à l’occasion d’ateliers avec l’équipe notamment en exprimant des cas de test ■ Effectuent régulièrement une recette partielle du produit ■ Procèdent à la recette finale des releases prêtes à être mises en production ✔ Les utilisateurs doivent être impliqués dès le début du projet ✔ Régulièrement, ils donnent du feedback à la Scrum Team |
Product Owner Responsabilités: ■ Porte et communique la vision du produit ■ Identifie les fonctionnalités attendues ■ Etablit les priorités ■ Etablit le plan de « release » ■ Veille au retour sur investissement ■ S’assure que l’équipe dispose des informations nécessaires ■ Définit les critères d’acceptation du produit ■ Apprécie, accepte ou rejette le produit livré ✔ Il doit être mandaté pour décider et arbitrer les besoins ✔ Il peut s’agir d’une équipe pluridisciplinaire (métier, technique, expérience utilisateur) |
| Scrum Master Responsabilités: ■ Garantit l’application du processus Scrum ■ Assure l’efficacité de l’équipe et élimine les obstacles ■ Facilite la coopération entre tous les acteurs du projet ■ Protège l’équipe des interférences extérieures ■ Aide l’équipe à s’améliorer et à travailler de façon autonome ✔ Sa présence permanente est fortement recommandée ✔ Son activité de Scrum Master doit être cumulée avec une activité productive (analyse, test, développement, …) |
Scrum Team Responsabilités: ■ Réalise le produit final attendu par le Product Owner ■ Garantit la qualité en continu du produit ■ Démontre des fonctionnalités complètes, exécutables et testées au Product Owner ■ S’auto-organise dans la planification au quotidien ■ Communique le reste à faire et l’avancement du produit ■ Améliore le processus en continu ✔ Sa taille doit être limitée à 8 ou 9 personnes dédiées au projet ✔ Il est préférable que l’équipe soit co-localisée sur un plateau projet |
Comment sont gérées les tâches?
Les tâches (Backlogs) sont divisées en 2 catégories:
Product Backlog
■ Vision synthétique du produit pour les utilisateurs : liste ordonnée des fonctionnalités et exigences attendues
■ Priorités fixées en fonction de la valeur ajoutée métier (P1, P2, P3…)
■ Estimation des fonctionnalités en points de complexité relative (story points)
■ Découpage suffisamment fin pour que chaque fonctionnalité soit réalisée (« done ») et acceptée (« done done ») en une itération
■ Visibilité de l’avancement du projet : suivi des exigences réalisées et restant à faire
Sprint Backlog
■ Liste des tâches à réaliser pour livrer les fonctionnalités issues du Product Backlog et constituant le périmètre de l’itération
■ Estimation des tâches en heures
■ Reste à faire estimé quotidiennement
■ Etat de la tâche possible : non démarrée, en cours, terminée, reportée
■ Visibilité de l’avancement d’une itération : suivi des tâches terminées et restant à faire
Quelles sont les réunions?
Il existe 4 types de réunions (cérémonies):
Sprint Planning
■ 2h en début d’itération
■ Le Product Owner énonce les objectifs, fixe les priorités et précise les besoins
■ L’équipe élabore le sprint backlog
■ L’équipe et le Product Owner ajustent les objectifs pour pouvoir s’engager
Daily Scrum
■ 15min quotidiennement
■ A heure et lieu fixes, l’équipe se synchronise et s’engage sur ses tâches
■ Chaque membre de l’équipe dit ce qu’il a fait la veille, ce qu’il compte faire le jour même et énonce les points de blocage (à traiter hors daily scrum)
sprint Review
■ 1h en fin d’itération
■ L’équipe fait une démonstration des nouvelles fonctionnalités au Product Owner qui réagit, accepte ou refuse la livraison, peut demander des modifications et compléter les besoins
Rétrospective
■ 1h en fin d’itération
■ Les membres de l’équipe identifient les bonnes pratiques à proroger, celles à améliorer, ainsi que quelques actions à mettre en oeuvre durant la prochaine itération pour améliorer le processus (et pas le produit)
■ Chaque membre de l’équipe doit s’exprimer librement
Quels sont les indicateur Agiles?
La vélocité
La vélocité est la mesure de la vitesse de production de l’équipe en nombre de points de complexité livrés au cours d’une itération. L’objectif est de maîtriser cette vélocité en la stabilisant au bout de la 4ème ou 5ème
itération.
La prédictibilité
La prédictibilité est le ratio « nombre de points livrés d’une itération » / « nombre de points prévus lors du Sprint planning ». Cet indicateur permet de maîtriser la capacité de l’équipe à tenir ce qu’elle prévoit de faire. L’objectif est d’atteindre une prédictibilité de 80% à 90%.
La qualité
La qualité est mesurée par des indicateurs majeurs : taux d’anomalies par rapport aux tests exécutés (TA), taux de couverture du code par les tests unitaires automatisés (TUA), taux de couverture du produit par les
tests fonctionnels automatisés (TFA).L’objectif est d’atteindre un TA < 5%, un TUA > 80%, un TFA > 70%.
Pour aller plus loin…
J’espère sincèrement que cet article vous aura un peu aidé à mieux comprendre les concepts de l’agilité, même si je n’ai pas pu aller trop en profondeur, sinon il vous aurais fallut la journée pour lire cet article!
Toutefois, pour ceux qui souhaitent aller plus loin, je vous conseille ce Livre blanc (cliquez ici) proposé par la société Valtech, il est gratuit et apporte un retour d’expérience très intéressant.
Pour ceux qui préfèrent les livres en version papier, je vous conseille ce livre: SCRUM : Le guide pratique de la méthode agile la plus populaire, il reprend toutes les bases de la méthode Scrum, en allant beaucoup plus dans les détails.
