ZERO MANAGEMENT – 5 Gestion du temps FIBONACCI
Le principal problème dans un projet est d’évaluer correctement le temps à passer sur chaque tâche. Dans une gestion de projet agile, il existe différentes façons d'estimer le temps nécessaire. Ce point est crucial car il va déterminer deux éléments : la date de livraison de l’ensemble et les éventuels points de contention (c’est-à-dire les composants non terminés qui vont retarder tout le reste).
(source Wikipedia)
La première façon de procéder est de travailler sur un calendrier en jours avec une échelle linéaire : Chaque tâche est associée à une valeur fixe et un calendrier (glissant) est établi avec des jalons du projet. Le problème est que chaque intervenant annonce un nombre de jours/h et que le livrable pâtit de l’addition de toutes les marges de sécurité prises par chacun… Certains managers procèdent alors à un retro-planning : La date du livrable sert de date initiale et les modules constitutifs sont déduits de cette date. Quelquefois on arrive à faire commencer le projet… un an avant la date actuelle !
On a donc cherché à modéliser de façon plus pratique l’évaluation du temps de travail nécessaire en catégories, un peu comme pour les tailles de T-shirt : S, M, L, XL, XXL, XXXL. « Small » est une petite tâche en temps et « XL » est une tâche assez longue, etc. C’est un modèle qui est très pratiqué dans les évaluations, où les personnes interrogées ne connaissent pas bien le sujet. Par exemple, quel est le temps d’interruption maximum que vous pouvez supporter en cas de panne informatique ? 32 secondes ? 3 heures ? 1 jour ouvré ? ouvrable ? la nuit ? le week-end ? Pour éviter ces approximations dans la notion de R.T.O (Recovery Time Objective) on a créé des séquences comme pour les T-shirts : « AAA » est un système informatique qui ne s’arrête jamais ; « AA » il est redondant et pourra repartir sous quelques minutes ; « A » est fiabilisé (double alimentation, disques RAID), et pourra repartir sous 4 heures. « B » pourra repartir le même jour. « C » pourra repartir le lendemain sauf si c’est un jour férié. « D » pourra repartir sous 72 heures. E est un « best effort » sans garantie de redémarrage. Naturellement, D est beaucoup moins cher que AAA, ce qui permettra de définir des niveau de services vérifiables par le client. (SLA Service Level Agreement).
L’inconvénient du « système des T-shirts » est qu’il ne permet pas de planifier correctement un développement d’un produit ou d’un service, alors qu’il est bien adapté à définir une relation contractuelle entre un client et un fournisseur.
On s’est donc tourné vers les stratégies de jeux comme le poker. Si, lors d’une réunion, on demande à chaque membre composant d’un projet combien de temps il va mettre devant tous les autres membres, certains vont exagérer dans un sens ou dans l’autre : « Mon composant est essentiel, il pèse XL ». « Mais non, dit l’autre c’est juste M, le mien est XL ».. etc. Au lieu d’une bataille d’égos, il est essentiel de déterminer au plus juste le temps nécessaire. Un autre inconvénient de ce système est que, pour plaire au chef, les composants du projet diminuent le temps annoncé mettant ainsi en risque tout le projet.
L’idée est donc que chacun mise, comme au poker, pour chaque composant sans l’annoncer aux autres. On pourra alors faire une moyenne des mises, ce qui déterminera un temps nécessaire très proche du temps idéal. Si trois personnes misent « S », deux « M » et une XXL, la réponse sera entre S et M, à choisir finalement M (pour tenir compte du XXL).
Le problème de ce système « démocratique à bulletin secret» est que, contrairement aux t-shirts les tailles ne sont pas « linéaires » dans les projets. Certains composants sont très faciles à développer, alors que d’autres nécessitent de nombreux composants élémentaires pour aboutir au composant complexe. On voit très clairement cela dans un produit comme une voiture ou un avion.
On va donc améliorer notre système de mises de poker en s’inspirant du développement de « mère nature » à savoir la suite de Fibonacci.
(crédit livescience.com)
Fondamentalement dans la nature le développement s’appuie sur la génération précédente en s’additionnant. 1+1 = 2 (vous suivez le calcul là ?) ; La deuxième année on a 2+1 (de l’année précédente) soit 3. L’année suivante on a 3 + 2 de l’année précédente, soit 5 et ainsi de suite, 8, 13, 21,34,55,89,144…
De nombreuses plantes ou animaux, ainsi que les pétales de nombreuses fleurs, comme l’avait remarqué Einstein, se développent ou se comptent suivant ce principe naturel, 5, 8 ou 13. On appelle cette séquence « la suite de Fibonacci », du mathématicien Italien qui l’a découverte (FIglio del signore Bonacci en italien) et elle se caractérise par le fait que chaque nombre de la suite est la somme des deux précédents. Cette suite est la marqueur d’un développement naturel, on pourrait dire « durable » de nos jours. Les arbres et les forets se développent ainsi, les mollusques, les bancs de corail etc.
Nous allons utiliser cette suite « naturelle » pour calibrer notre estimation de notre mise de poker afin d'évaluer le temps de chaque composant projet.
Le scrum master réunit alors tous les membres pour estimer le temps nécessaire au livrable du sprint (voir mon article sur les scrums).
Chaque membre mise un nombre sur l'échelle de Fibonacci qui, selon lui, représente l'ampleur de la tâche (1, 2, 3, 5, 8, 13, 21 ou 34), ce qui donne 8 niveaux de complexité. Lors de projets importants on pourra ajouter 55, 89, voire 144).
Tous les membres sont tenus de miser en même temps pour éviter que l’un d’eux n’influence les autres dans leur choix. Si un majorité claire pour un chiffre est obtenue, par exemple tout le monde a misé 8 sauf un qui a misé 5 et un autre 13, le 8 l’emporte facilement. Au contraire si un écart important dans les chiffres se fait jour, par exemple, certains ont misé 2 et d’autres ont misé 21, on exposera les arguments jusqu'à ce qu'un consensus soit atteint. Il est en effet anormal qu’un tel écart soit avéré : Cela demande des explications de la part des deux évaluations extrêmes. En général, il en ressort qu’une partie des membres n’avait pas bien compris le contenu du composant, ce qui avait nui à son évaluation.
Chaque mise en consensus est alors portée dans un planning qui représente le point correspondant sur l'échelle de Fibonacci. Cela peut être 1 = 1 jour mais on peut avoir toute sorte de métrique pourvu qu’on respecte le fait que 34 est 34 fois plus long ou complexe que 1.
Les étapes ci-dessus sont répétées pour tous les composants. L’ensemble constitue le « backlog » du projet (voir mon article sur les scrums).
Ce processus adopte ainsi à la fois la stratégie de mises du poker et une échelle de Fibonacci . Donner à chaque membre la possibilité de réfléchir individuellement réduit la pression et permet d'obtenir une représentation plus précise de la taille de chaque élément.
Il est ainsi beaucoup plus facile de déterminer la complexité relative d'une tâche plutôt que de déterminer combien de temps elle nécessite. De ce fait, l'échelle de Fibonacci est plus efficace, par opposition à la mesure traditionnelle du temps.
L'utilisation de la série de Fibonacci est également utile parce que les évaluations des composants de plus grande envergure (c.-à-d. de taille supérieure à 8) ont tendance à mener à des estimations incohérentes entre chaque membre de l'équipe, alors qu’elles peuvent être regroupées au niveau d’un nombre de Fibonacci estimé le plus proche (soit 21 soit 34 par exemple).
Dans le cas des petits composants, la différence est minime entre 1 2 ou 3, par conséquent, le coût final de la ressource et du temps pourra être évalué avec la précision suffisante.
En fait, si une progression géométrique comme 1,2,4,8,16 était utilisée à la place de Fibonacci, il est fort probable que vous auriez simplement doublé toutes les ressources nécessaires pour obtenir un résultat dans la moitié du temps estimé. Il existe un proverbe africain qui explique bien ce phénomène : « Une femme met neuf mois pour faire un enfant, le fait d’employer neuf femmes ne changera rien au temps nécessaire pour faire cet enfant »… La séquence de Fibonacci empêche ainsi complètement ce raisonnement erroné qui tente de gagner du temps en doublant ou triplant les ressources et montre, en plus, les lacunes potentielles des ressources dont vous avez besoin dans votre équipe.
Avez-vous déjà utilisé la suite de Fibonacci pour les mises de poker avec votre équipe ? Vous serez étonné des résultats !