Loi de Hofstadter

Définition, exemples et bonnes pratiques

À 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

erreur de planification biais d'optimisme

Antonymes

ponctualité estimation exacte

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é.