Utiliser la suite de Fibonacci pour vos estimations agile
Lucid Content
Temps de lecture : environ 7 min
Il y a de fortes chances que vous ayez déjà reçu une estimation totalement erronée : votre voiture n’a pas été réparée en deux jours ou la table que vous aviez réservée au restaurant n’était pas prête au bout de 15 minutes.
Si les estimations peuvent être inexactes, pourquoi sont-elles si importantes pour la planification et gestion de projets ?
Eh bien tout simplement, car vous devez fixer des attentes appropriées et déterminer la quantité de travail réellement réalisable dans un délai donné. Les équipes doivent tenir compte de la complexité d’un projet afin d’évaluer les efforts requis, le nombre de ressources nécessaires et, en fin de compte, le temps qu’il faudra pour le mener à bien.
De nombreux développeurs travaillant dans des environnements agiles ont réussi à améliorer le processus d’estimation en utilisant l’échelle de Fibonacci ou une suite de Fibonacci agile adaptée pour estimer le travail qui doit être réalisé au cours d’une itération.
Continuez votre lecture pour découvrir la suite de Fibonacci agile et apprendre à l’utiliser pour vos estimations agiles.
Qu’est-ce que la suite de Fibonacci ?
Fibonacci était un mathématicien italien du Moyen Âge qui a écrit un livre intitulé Liber Abaci (Livre du calcul). Ce livre a fait connaître et popularisé le système numéral hindou-arabe dans le monde occidental. Dans Liber Abaci, Fibonacci a également présenté le problème suivant :
Un homme mit un couple de lapins dans un endroit entouré de tous côtés par un mur. Combien de paires de lapins peut-on produire à partir de ce couple en un an si l’on suppose que chaque mois, chaque couple engendre une nouvelle paire qui, à partir du deuxième mois, devient productive ?
Pour estimer la réponse, Fibonacci a mis au point une suite exponentielle de nombres, appelée aujourd’hui nombres de Fibonacci ou suite de Fibonacci. Dans cette séquence, chaque nombre correspond à la somme des deux nombres précédents :
0, 1, 2, 3, 5, 8, 13, 21...
La suite de Fibonacci et la méthode agile :
La suite de Fibonacci est présente dans de nombreuses disciplines ainsi que dans la nature. Par exemple, elle est utilisée pour décrire la croissance des plantes, estimer l’augmentation de la population sur une période donnée, modéliser les épidémies de virus et prévoir le comportement des marchés financiers.
Mais quel est le rapport entre cette longue série de nombres et la planification agile ?
La suite de Fibonacci agile donne aux équipes une façon plus réaliste d’aborder les estimations à l’aide de story points. Ceux-ci sont utilisés pour représenter la taille, la complexité et l’effort nécessaire pour réaliser ou mettre en œuvre une user story. Chaque story point se voit attribuer un nombre sur la suite de Fibonacci. Plus ce nombre est élevé, plus le story point est complexe et, vraisemblablement, plus l’effort nécessaire à sa réalisation est important.
Comme nous l'avons vu précédemment, les estimations sont souvent inexactes, car nous avons tendance à être trop optimisme.
Par exemple, au lieu de produire une estimation basée sur un projet similaire que nous avons réalisé dans le passé, nous considérons que nous pourrons terminer le prochain plus rapidement parce que nous avons plus d’expérience et d’assurance, et que cette fois-ci, il n’y aura pas de problèmes qui causeront des retards.
La suite de Fibonacci agile étant exponentielle plutôt que linéaire, elle aide les équipes à être plus réalistes lorsqu’elles envisagent des tâches plus importantes et plus complexes.
Pour vous aider à comprendre pourquoi la nature exponentielle de la suite de Fibonacci est utile, nous allons reprendre une analogie utilisée par Mike Cohn, l’un des fondateurs de la Scrum Alliance :
Imaginez que vous tenez un poids de 500 g dans une main et un poids de 1 kg dans l’autre. Sans regarder, vous êtes probablement capable de déterminer lequel est lequel, car le poids de 1 kg est sensiblement plus lourd (100 % de plus, en vérité).
Si vous tenez un poids de 10 kg et un poids de 10,5 kg, il est plus difficile de déterminer lequel est le plus lourd, car la différence entre les deux poids n’est pas si importante (seulement 5 %).
Chaque nombre de l’échelle de Fibonacci est exponentiellement plus grand (d’environ 60 %) que le nombre précédent. Cela permet aux équipes de reconnaître plus facilement les différences et de définir le degré de complexité de chaque story point.
Comment utiliser l’échelle de Fibonacci avec la méthode agile ?
De nombreuses équipes agiles utilisent le planning poker pour estimer leurs story points.
Cette technique fait appel à des jeux de cartes comportant des nombres de Fibonacci commençant par zéro (0, 1, 2, 3, 5, 8, 13, 21, etc.) ou une version modifiée de la suite (0, 0,05, 1, 2, 3, 5, 8, 13, 20, 40, 100). Votre équipe peut utiliser n’importe quelle séquence de nombres avec un rapport fixe (par exemple, 1, 2, 4, 8, etc.), à condition qu’elle comprenne et accepte la signification des rapports.
Chaque membre de l’équipe d’estimation, à l’exception du modérateur, a besoin de son propre jeu de cartes. Le planning poker se déroule selon les étapes suivantes :
- Le product owner présente à l’équipe un aperçu d’une user story.
- L’équipe dispose de temps pour discuter et poser des questions afin de mieux comprendre les risques et les hypothèses. Les participants ne doivent pas mentionner de nombres afin que les estimations ne soient pas biaisées. Le modérateur doit enregistrer un résumé de la discussion et peut utiliser un minuteur pour limiter la durée des échanges.
- Chaque membre de l’équipe choisit une carte qui représente son estimation de la story et la place face cachée sur la table.
- Les membres de l’équipe retournent leurs cartes simultanément.
- Si tout le monde choisit le même nombre, la manche est terminée. Celui-ci est utilisé pour l’estimation agile, et vous pouvez passer à la story suivante.
- Les personnes qui ont choisi des nombres significativement plus élevés ou plus bas que les autres ont le temps de justifier leur estimation. Par exemple, la tâche peut être simple pour un développeur (par exemple ajouter un champ à un formulaire), mais plus complexe pour les testeurs par la suite.
- Le processus se répète à partir de l’étape 3 jusqu’à ce que l’équipe parvienne à un consensus.
- La user story suivante est présentée pour être évaluée et le processus se répète.
Si votre équipe ne dispose pas de jeux de cartes classiques, vous pouvez procéder à l’estimation de vos user stories à l’aide du modèle ci-dessous. Une échelle de Fibonacci en ligne est une excellente solution pour les équipes distribuées qui ne peuvent pas se réunir physiquement dans le même local.
Avantages de l’échelle de Fibonacci pour vos estimations agiles
En utilisant l’échelle de Fibonacci dans un contexte agile, votre équipe peut bénéficier des avantages suivants :
Impliquer toute l’équipe
Il est important que chaque membre de l’équipe de développement soit inclus dans le processus d’estimation agile. Tous apportent un point de vue différent qui permet de mieux estimer le travail nécessaire à la réalisation d’une user story.
Par exemple, avant de décréter que la création d’une page Web ne prendra que quatre heures, vous devez demander l’avis des équipes chargées de l’interface d'utilisateur, de la conception, du développement et de l’assurance qualité.
Établir une échelle pour comparer la complexité des story points
Attribuer des story points avec des nombres linéaires complique le calcul de leur importance.
Par exemple, vous pouvez raisonnablement estimer qu’un story point auquel est attribué le numéro deux est deux fois plus complexe qu’un story point auquel est attribué le numéro un. Mais, à quel point un numéro 12 est-il plus complexe qu ’un numéro 11 ?
La nature exponentielle de la suite de Fibonacci permet à l’ensemble de l’équipe de comprendre facilement la signification des nombres attribués.
Par exemple, un 1 pourrait signifier que la complexité est minime et que le story point peut être livré rapidement (en une heure). Plusieurs de ces tâches peuvent être accomplies en une journée. Un 13 signifie que le story point est très complexe et pourrait prendre des semaines à réaliser.
Améliorer la précision des estimations agiles
En attribuant aux story points des nombres plus élevés, l’équipe est obligée d’examiner de manière réaliste la complexité et l’effort requis pour accomplir la tâche, ce qui peut conduire à des estimations plus précises.
Vous en avez assez de terminer vos user stories après les délais prévus ? Vous voulez des estimations plus précises ? Intégrez la suite de Fibonacci à vos processus de planification agile dès maintenant.
Maintenant que vous avez terminé votre estimation agile, utilisez Lucidchart pour déployer une méthode agile dans votre organisation.
En savoir plusÀ propos de Lucidchart
Lucidchart, une application de création de diagrammes intelligents basée sur le cloud, est un élément central de la suite de collaboration visuelle de Lucid. Cet outil intuitif, basé sur le cloud, permet aux équipes de collaborer en temps réel pour créer des logigrammes, des maquettes, des diagrammes UML, des cartes de parcours client, et bien plus encore. Lucidchart permet aux équipes d'aller de l'avant et de bâtir l'avenir plus rapidement. Lucid est fier de compter parmi ses clients des organisations de premier plan dans le monde entier, telles que Google, GE et NBC Universal, ainsi que 99 % des entreprises figurant au classement Fortune 500. Lucid travaille en partenariat avec les leaders du marché, notamment Google, Atlassian et Microsoft. Depuis sa création, la société a reçu de nombreuses récompenses pour ses produits, son fonctionnement et sa culture d'entreprise. Pour plus d'informations, rendez-vous sur lucidchart.com.