Site de Fabrice Payet > Articles > Biais de planification : pourquoi vos développeurs sont mauvais en estimation

Biais de planification : pourquoi vos développeurs sont mauvais en estimation

Biais de planification : pourquoi vos développeurs sont mauvais en estimation

Vous connaissez cette situation : votre équipe technique vous assure que la nouvelle fonctionnalité sera prête dans deux semaines, mais un mois plus tard, vous attendez toujours. Rassurez-vous, ce n'est pas une fatalité ni une incompétence de votre équipe. C'est un phénomène connu et universel appelé planning fallacy ou biais de planification. Explorons ensemble ce concept fascinant et comment l'apprivoiser pour transformer la gestion de vos projets tech.

Le mythe du planning parfait

Je me souviens de ma première expérience en startup, notre CTO avait pris l'habitude de multiplier par deux les délais. Non par manque de confiance, mais par expérience. Et pourtant, malgré cette précaution, nous finissions régulièrement par dépasser les échéances prévues.

Ce phénomène est si répandu dans l'écosystème tech qu'il a acquis un statut quasi mythique. Outre l'univers tech, on retrouve ce phénomène dans des projets aussi variés que dans la construction. Par exemple, on peut citer le projet du Sydney Opera House, un centre culturel et artistique situé à Sydney en Australie, prévu initialement pour coûter 7 millions de dollars et finalement achevé pour 102 millions. Des grands projets d'infrastructure aux développements logiciels les plus modestes, personne n'échappe à cette tendance à sous-estimer systématiquement le temps nécessaire à la réalisation d'une tâche.

Le planning fallacy n'est pas un problème de compétence. Des développeurs chevronnés avec des années d'expérience y succombent tout autant que les juniors. C'est un biais cognitif profondément ancré dans notre psychologie, identifié et nommé pour la première fois par les psychologues Daniel Kahneman et Amos Tversky dans les années 1970.

Le biais de planification : un piège cognitif universel

Au cœur du planning fallacy se trouve notre incapacité à prendre en compte notre propre expérience passée lorsque nous planifions l'avenir. Nous sommes naturellement optimistes et nous focalisons sur le scénario idéal où tout se déroule parfaitement.

Imaginez que vous demandez à un développeur d'estimer le temps nécessaire pour créer une nouvelle fonctionnalité. Il va probablement considérer la tâche dans sa forme la plus simple : écrire le code, le tester, puis le déployer. Ce faisant, il néglige une multitude de facteurs qui vont inévitablement affecter son travail.

Notre cerveau n'est pas câblé pour anticiper naturellement les obstacles. Il ne prend pas spontanément en compte les bugs imprévus, les réunions qui s'éternisent, la documentation manquante, les dépendances externes qui échouent, ou même les jours où l'on est simplement moins productif à cause d'une mauvaise nuit.

Cette tendance psychologique est particulièrement tenace car elle est renforcée par plusieurs autres biais. L'optimisme excessif nous pousse à croire que nous éviterons les problèmes que d'autres ont rencontrés. L'effet Dunning-Kruger (un autre biais psychologique connu) peut amener les moins expérimentés à surestimer leurs capacités. Et notre désir de plaire ou de paraître compétent nous incite souvent à annoncer des délais irréalistes.

Le développement logiciel : terrain fertile pour les mauvaises estimations

Si le planning fallacy est universel, il trouve dans le développement logiciel un terrain particulièrement propice. Plusieurs facteurs spécifiques à ce domaine exacerbent cette tendance.

D'abord, la complexité inhérente au code. Un développeur expérimenté sait qu'une fonctionnalité apparemment simple peut cacher des interactions complexes avec le reste du système. Mais même en le sachant, il reste difficile d'estimer avec précision le temps nécessaire pour naviguer dans cette complexité.

Ensuite, l'incertitude technique. Contrairement à d'autres domaines où les processus sont bien établis, le développement logiciel implique souvent d'explorer des territoires inconnus. Comment estimer précisément le temps nécessaire pour résoudre un problème qu'on n'a jamais rencontré auparavant?

La dette technique joue également un rôle crucial. Un code mal structuré ou peu documenté ralentit considérablement le développement de nouvelles fonctionnalités. Mais cette dette est souvent invisible lors de l'estimation initiale.

Enfin, la pression des délais. Dans l'écosystème startup où la rapidité est valorisée, les développeurs peuvent se sentir obligés de donner des estimations optimistes pour répondre aux attentes. Cette pression, bien que compréhensible, renforce le cycle vicieux des mauvaises estimations.

Comment lutter (vraiment) contre le planning fallacy

Maintenant que nous comprenons mieux ce biais, comment pouvons-nous l'atténuer? Voici quelques approches qui ont fait leurs preuves dans ma propre expérience.

La méthode de l'estimation par analogie historique consiste à se baser systématiquement sur des expériences passées similaires plutôt que sur une analyse théorique. Si votre équipe a mis trois semaines pour développer une fonctionnalité comparable dans le passé, c'est probablement un meilleur point de départ que l'analyse théorique qui suggère deux semaines.

La décomposition des tâches en unités plus petites et plus faciles à estimer permet également d'améliorer la précision. Notre cerveau est plus à l'aise pour estimer de petites tâches concrètes que des projets abstraits de grande envergure.

L'intégration délibérée de "buffers" ou marges de sécurité dans la planification est également cruciale. Plutôt que d'ajouter arbitrairement un pourcentage, identifiez spécifiquement les risques potentiels et allouez du temps en conséquence.

La méthode PERT (Program Evaluation and Review Technique) propose une approche plus sophistiquée en calculant une estimation pondérée basée sur trois scénarios : optimiste, probable et pessimiste. Cette méthode oblige l'équipe à envisager explicitement ce qui pourrait mal tourner.

Une culture d'équipe qui valorise l'honnêteté plutôt que l'optimisme est également essentielle. Les développeurs doivent se sentir à l'aise pour donner des estimations réalistes sans craindre d'être perçus comme lents ou peu collaboratifs.

Enfin, l'adoption de méthodologies agiles comme Scrum peut considérablement améliorer la précision des estimations au fil du temps. En travaillant par sprints courts et en mesurant systématiquement la vélocité de l'équipe, vous accumulez des données concrètes qui permettent d'affiner progressivement vos prévisions.

Mieux vaut un planning réaliste qu'un optimiste

Au final, la lutte contre le planning fallacy n'est pas tant une question de techniques que de culture d'entreprise. Il s'agit d'accepter l'incertitude inhérente au développement logiciel et de créer un environnement où la transparence est valorisée plus que l'optimisme.

Un planning réaliste, même s'il annonce des délais plus longs, permet une meilleure allocation des ressources, une meilleure communication avec les clients et les parties prenantes, et ultimement une livraison plus fiable. À l'inverse, un planning optimiste mais irréaliste génère stress, déception et perte de confiance.

En tant que fondateur ou dirigeant, votre rôle n'est pas de pousser votre équipe à promettre l'impossible, mais de l'aider à développer une compréhension lucide de ses capacités réelles. Paradoxalement, c'est souvent en acceptant que les choses prendront plus de temps que prévu que vous créez les conditions pour qu'elles se réalisent plus rapidement.

Alors la prochaine fois que votre équipe tech vous propose un planning qui semble trop beau pour être vrai, ne vous contentez pas de multiplier par deux. Engagez plutôt une conversation sur les risques potentiels, les expériences passées et les marges de sécurité nécessaires. Votre roadmap produit n'en sera que plus solide.

Vous aimerez peut-être ces autres articles