Ça prendra combien de temps ?

Crystal-Ball.png Ceux qui n'ont jamais entendu cette question n'ont jamais participé à un projet informatique.
Est-elle légitime ? Peut-être. Il parait que le temps c'est de l'argent.
Est-elle, pour autant, une bonne raison pour contraindre les développeurs à jouer les madames Irma et les rendre responsables de la moindre panne de boule de cristal ?

Ce sont des questions auxquelles je tenterai de répondre dans les jours à venir en présentant une session lors de ces trois rencontres agiles :

Le sujet n'est pas nouveau : je l'avais partiellement traité en présentant nos "deux ans dans le flux"[1]. Nos pratiques basées sur des probabilités pour prévoir les dates de livraison de telle ou telle fonctionnalité n'ont que peu évolué depuis trois ans mais le sujet du #NoEstimates a, lui, depuis lors, pris une certaine ampleur. Et quand, en juin dernier, l'organisation d'Agile Tour Bordeaux m'a proposé de venir parler de tout ça, j'ai bien évidemment sauté sur l'occasion de concevoir une petite session sur le sujet.

De mon point de vue, les équipes qui créent des logiciels doivent être autonomes sur tout ce qui les concerne de près. Le recours à un "Project Management Office" qui gère des plannings n'est pas viable quand la complexité augmente. Tout bon "artisan du logiciel" devrait donc avoir dans son bagage des outils pour permettre à une équipe de prédire le contenu et les dates des prochaines livraisons en ne se basant pas uniquement sur l'intuition du développeur.

J'ai donc fait le choix de privilégier un contenu plutôt axé sur la simplification des estimations et la mise en pratique de techniques probabilistes. Cela ne veut pas dire que les aspects plus fondamentaux du #NoEstimates (pourquoi estimer ?, pourquoi ne pas estimer ?...) ne sont pas importants mais beaucoup de choses ont été dites à leur sujet et je n'ai absolument pas envie de faire une session-débat sur ces questions.
Je m’attellerai donc à décrire ce qu'est une variable aléatoire (en faisant aussi peu de maths que possible...), à expliquer pourquoi les chiffres intervenant dans les prévisions sont des variables aléatoires et à proposer une méthode pour répondre de diverses manières -en fonction du but recherché- à la question "ça prendra combien de temps ?".

Note

[1] A Lyon, à Paris et ailleurs