Planification et estimation
Des pratiques incontournables
Lorsqu’il s’agit de projets agiles, notamment en utilisant la méthodologie Scrum, la planification et l’estimation sont des pratiques incontournables pour garantir la bonne marche du projet et la satisfaction des parties prenantes. Ces pratiques permettent d’établir une vision à moyen et long terme du projet, tout en restant flexible pour s’adapter aux changements.
L’estimation en Scrum n’est pas seulement une affaire de délais. Il s’agit également d’évaluer la complexité et l’effort requis pour chaque élément du backlog du produit. Cela aide l’équipe à comprendre ce qu’il faut pour réaliser chaque fonctionnalité, et cela aide le Product Owner (dans notre cas Clara) à prioriser efficacement les éléments du backlog.
La planification, quant à elle, est essentielle pour définir le cap et fixer des objectifs réalisables pour l’équipe. En Scrum, cela se produit à plusieurs niveaux : la planification du sprint, où l’équipe s’accorde sur ce qui sera réalisé lors du prochain sprint, et la planification de la release, où l’équipe et le Product Owner discutent de l’orientation générale du produit et des objectifs à atteindre. ...
Les échecs de la planification traditionnelle
La planification traditionnelle, parfois appelée planification en cascade, repose sur une approche linéaire et séquentielle de la gestion de projet. Elle prévoit un ensemble de phases clairement définies qui se suivent les unes après les autres, sans laisser de place pour le retour en arrière ou l’itération.
Cependant, cette approche présente plusieurs défis qui peuvent mener à l’échec :
Rigidité : la planification traditionnelle est souvent très rigide. Une fois qu’un plan a été établi, il peut être difficile de le modifier sans causer de perturbations majeures. Ceci est particulièrement problématique dans le monde actuel où les exigences du marché peuvent changer rapidement.
Manque de feedback : dans une approche en cascade, le produit fini n’est généralement pas vu avant la toute fin du projet. Cela signifie qu’il y a peu d’opportunités pour recueillir et intégrer les retours d’information des utilisateurs ou des parties prenantes, ce qui peut entraîner une divergence entre ce que le produit offre et ce que les utilisateurs veulent vraiment.
Estimation imprécise : la planification traditionnelle suppose que tous les aspects du projet peuvent être entièrement...
Perspectives de planification
La planification dans une méthodologie agile, comme Scrum, diffère fondamentalement de la planification traditionnelle. L’accent est mis sur la flexibilité, l’adaptabilité et la satisfaction du client plutôt que sur le respect strict d’un plan prédéterminé. Cette perspective de planification est basée sur plusieurs principes clés :
Planification adaptative : dans Scrum, la planification est un processus continu et itératif. Les équipes planifient pour de courtes périodes, appelées sprints, et adaptent leurs plans en fonction des retours d’information et des changements survenus. Cela leur permet de rester flexibles et de s’adapter rapidement aux nouvelles informations ou aux changements de priorité.
Priorisation : l’équipe travaille en étroite collaboration avec le Product Owner pour prioriser le travail à effectuer. Les éléments les plus importants ou ceux qui apportent le plus de valeur sont abordés en premier. Cette approche maximise la valeur livrée et minimise le temps nécessaire pour obtenir des résultats tangibles.
Estimation relative : au lieu d’essayer d’estimer le temps nécessaire pour réaliser haque tâche en heures, les équipes Scrum estiment le travail...
Outils d’estimation
1. Tailles de t-shirt
Considérons une réunion d’estimation de notre équipe travaillant sur l’application de fitness.
Pour cet exercice, notre product backlog contient les éléments suivants :
-
ajouter une nouvelle fonctionnalité de suivi d’entraînement ;
-
améliorer l’interface utilisateur pour rendre le suivi des progrès plus clair ;
-
corriger un bug mineur dans l’interface utilisateur ;
-
intégrer une nouvelle API pour le partage des résultats sur les réseaux sociaux.
Durant cette réunion, chaque membre de l’équipe a un rôle à jouer dans l’estimation.
Clara, notre Product Owner, présente chaque élément du backlog en détail et répond à toutes les questions que l’équipe pourrait poser. C’est un moment clé pour clarifier les attentes et éviter toute confusion future.
Thomas, le Scrum Master, joue le rôle de facilitateur, veillant à ce que la réunion reste centrée sur l’objectif et à ce que toutes les voix soient entendues.
Les développeurs examinent chaque élément, discutent de la complexité de l’implémentation, des dépendances potentielles et des risques associés. À partir de ces discussions, l’équipe attribue une taille de t-shirt à chaque élément du backlog.
Voici comment les estimations pourraient se dérouler :
-
Fonctionnalité "Ajouter une nouvelle fonctionnalité de suivi d’entraînement" - Estimation : XL. C’est un gros travail qui implique de modifier l’interface utilisateur, d’ajouter une nouvelle logique côté serveur et de tester soigneusement pour éviter les bugs.
-
Fonctionnalité "Améliorer l’interface utilisateur pour rendre le suivi des progrès plus clair" - Estimation : M. Cela nécessite des changements dans l’interface utilisateur, mais la logique de l’application ne devrait pas être affectée.
-
Fonctionnalité "Corriger un bug mineur dans l’interface utilisateur" - Estimation : S. C’est une tâche simple qui ne devrait prendre...
Planification de release
1. Avoir un objectif précis
Une "release", également appelée version ou livraison, représente une version spécifique d’un produit logiciel qui est prête à être distribuée à ses utilisateurs finaux. Dans le cadre du développement agile, une release est un livrable majeur qui contient plusieurs fonctionnalités complètes, testées et prêtes à être utilisées par les clients.
Le processus de création d’une release inclut la conception, le développement, le test et la validation de nouvelles fonctionnalités ou améliorations. L’ensemble de ces fonctionnalités est assemblé dans une version cohérente du produit qui est ensuite déployée dans l’environnement de production.
Chaque release est dotée d’un numéro de version unique qui permet aux utilisateurs et aux développeurs de suivre l’évolution du produit. De plus, chaque release peut également comporter des notes de version, qui sont des documents fournissant des détails sur les nouvelles fonctionnalités, les corrections de bugs et les améliorations apportées depuis la dernière version.
Dans le cadre du Scrum, la "release planning" ou planification de version, est une activité qui permet à l’équipe de déterminer quelles user stories du product backlog seront développées et livrées dans les prochains sprints pour composer une release.
Dans le cas de notre application de fitness, une autre release pourrait inclure l’ajout de nouvelles fonctionnalités comme le suivi de l’alimentation, l’optimisation de l’interface utilisateur pour une meilleure expérience, et la correction de bugs précédemment signalés par les utilisateurs.
2. Disposer d’un product backlog priorisé
La planification de release dépend fortement d’un product backlog correctement priorisé. Le product backlog, comme nous le savons, est une liste de toutes les fonctionnalités, améliorations et corrections nécessaires pour le produit, ordonnées par ordre de priorité. L’importance de la priorisation ne peut être sous-estimée....