Un des indicateurs qu’il faut maîtriser afin d’assurer le pilotage d’un projet Agile est la date de fin du projet. Dans nos missions, nous avons observé que les mêmes questions reviennent sans cesse à propos de ce sujet. Par conséquent, avec cet article, nous avons souhaité restituer une synthèse de nos retours d’expérience et de nos bonnes pratiques sur ce thème.
La date de fin d’un projet Agile est la date à laquelle tout le périmètre fonctionnel prévu a été implémenté. L’opération de calcul en elle-même est très simple puisqu’elle consiste à diviser le « Reste A Faire » (RAF) sur la vélocité. Cependant, plusieurs interrogations subsistent…
La vélocité est plus large que la vitesse de développement. En effet, c’est la vitesse à laquelle le système produit des fonctionnalités implémentées, validées par la MOA et déployables en production. Ici, par système, nous entendons l’équipe projet dans son ensemble (MOA, MOE, Marketing, Exploitation…). Il faut insister sur ces critères car :
Pour pouvoir calculer la date de fin du projet, il faut utiliser la même unité pour la vélocité et pour le RAF. Cette unité peut être …
Remarque : nous avons délibérément choisi de ne pas entrer plus en détail dans la comparaison entre la complexité fonctionnelle et technique car c’est un sujet très riche. Ceci sera traité plus en profondeur dans un article à paraître bientôt sur notre blog.
Si la vélocité bouge tout le temps, il devient très difficile de piloter le projet (essayez de conduire une voiture où la vitesse augmente et baisse sans prévenir !). Par conséquent, il est indispensable de stabiliser au maximum le système et les processus afin de stabiliser la vélocité. Réalisez des rétrospectives afin d'identifier les problèmes et leurs causes profondes : La MOA fait-elle des spécifications incomplètes ? Les tests sont-ils mal faits ? L’équipe est-elle instable (beaucoup d’entrées et de sorties dans l’équipe) ? Y-a-t-il des dépendances avec des équipes externes qui plombent le projet ? … Une fois les causes identifiées, cherchez les améliorations les plus adaptés à la situation du projet.
Il y a 4 variables d’ajustement dans un projet
Dans un projet Agile (du moins chez OCTO ;)), la qualité est non négociable. En effet, baisser la qualité des développements en espérant gagner en vélocité crée un cercle vicieux néfaste au projet : baisse de la qualité induisant la création de dette technique provoquant une baisse de la vélocité poussant à une baisse supplémentaire de la qualité. Par conséquent, nous n’allons pas l’inclure dans les arbitrages. Intéressons-nous aux 3 autres variables :
A ce niveau, l’arbitrage dépendra du contexte du projet et des priorités du client en face. Nous avons les trois possibilités suivantes :
Pour conclure, il faut insister sur une recommandation. Respecter la date de fin d’un projet est une chose importante mais il ne faut surtout pas le faire au détriment de la qualité du produit final. Effectivement, en cas de rush, beaucoup d’équipes ont tendance à sacrifier la qualité de l’application produite. Ces équipes créent de la dette technique qu’elles paieront très cher par la suite !