Evidence Based Scheduling

Joel Spolsky vient de publier un article particulièrement intéressant sur une méthode de planification de développements logiciels appelée Evidence Based Scheduling, dont le principe est le suivant :

  • 2007-10-28 Fogbugz6Faire estimer par chacun des développeurs le temps requis pour les différentes tâches à effectuer, de manière unitaire, i.e. sur une base de quelques heures au maximum,
  • Enregistrer le temps réellement passé sur les différentes tâches, y compris le débuggage ou le temps dépensé à faire « autre chose » (réunions, discussions impromptues…),
  • En se basant sur ces éléments, faire des projections via une méthode de Monte Carlo sur le temps nécessaire pour finaliser les travaux pour chaque personne, en fonction de la vélocité calculée (le rapport entre les estimations et la réalité).

Ceci permet de donner une probabilité que le logiciel au global soit finalisé à une date donnée, et donc, en fonction du résultat obtenu et des contraintes externes (qui a dit le management ? ;-)), donc d’agir pour atteindre ses objectifs — par exemple, revoir le périmètre visé.

Evidemment, l’article de Joel Spolsky est intéressé car la nouvelle version du logiciel FogBugz que vient de livrer sa société contient justement toutes l’infrastructure pour mettre en oeuvre ces mécanismes, mais après tout, l’approche semble très intéressante — notamment en ce qu’elle factualise la vitesse d’avancement d’une équipe, et permet donc un échange plus clair avec le management, justement.