À retenir
- Les estimations humaines sont naturellement trop optimistes.
- La complexité d'une tâche est souvent invisible au départ.
- Même en connaissant cette loi, on continue de sous-estimer le temps nécessaire.
Cette loi exprime une vérité universelle en gestion de projet : une tâche prendra systématiquement plus de temps que prévu, même si l'on tente d'anticiper ce retard. C'est un peu comme estimer qu'un trajet durera 15 minutes en prévoyant les bouchons, pour finalement mettre 30 minutes à cause d'un accident imprévu.
Étymologie
Formulée par Douglas Hofstadter dans son ouvrage Gödel, Escher, Bach (1979). Elle repose sur le concept de récursivité, une notion centrale en informatique où une règle s'applique à elle-même de manière infinie.
Exemples d'usage
- Le développement d'une fonctionnalité logicielle estimée à deux jours qui finit par en prendre cinq car la correction d'un bug en a créé trois nouveaux.
- La rédaction d'un manuel utilisateur qui semble simple mais révèle des zones d'ombre nécessitant des recherches approfondies.
Cas d'usage
Elle intervient principalement dans la gestion de projet informatique, l'estimation des coûts de développement et la planification des mises à jour de systèmes complexes. Elle explique pourquoi tant de logiciels sortent après la date initialement annoncée.
Bonnes pratiques
Pour limiter l'impact de cette loi, il est conseillé de multiplier systématiquement ses estimations initiales par un coefficient de sécurité (souvent x2 ou x3). Utiliser des méthodes Agiles permet aussi de réajuster les délais au fil de l'eau plutôt que de subir un retard massif en fin de projet.
Synonymes
Antonymes
Conseil
Quand on débute, on a tendance à vouloir impressionner en donnant des délais courts. Apprenez à dire « je ne sais pas encore » ou à donner une fourchette large plutôt qu'une date précise pour ne pas tomber dans le piège de Hofstadter.
Questions fréquentes
Est-ce une loi mathématique ?
Non, c'est une loi empirique, c'est-à-dire basée sur l'observation de l'expérience humaine.
Pourquoi l'informatique est-elle si touchée ?
Parce que le code est interconnecté : une petite modification peut avoir des répercussions imprévues dans tout le système.
Peut-on l'éviter ?
Non, on peut seulement essayer d'en atténuer les effets par une meilleure communication et de la flexibilité.