Loi de Gall
Tout système complexe qui fonctionne a évolué depuis un système simple qui fonctionnait.
Définition
La loi de Gall énonce une vérité inconfortable pour les architectes de grands systèmes : on ne peut pas concevoir un système complexe qui fonctionne dès le départ. Toute tentative de construire la complexité directement échoue.
Ce qui fonctionne, c’est de partir d’un système simple qui marche, puis de le faire évoluer prudemment, en testant chaque ajout. La complexité fonctionnelle n’est pas un point de départ, c’est un résultat.
Pourquoi c’est important
Cette loi est une mise en garde contre le syndrome du “big design up front” : planifier un système parfait sur le papier avant de commencer. Elle justifie les approches itératives (agile, lean startup, MVP) : commencer petit, valider, croître.
Elle s’applique bien au-delà du logiciel : aux organisations, aux institutions, aux écosystèmes. Les systèmes qui durent sont presque toujours ceux qui ont évolué : pas ceux qui ont été conçus.
Exemples concrets
Internet : né comme ARPANET (4 nœuds en 1969), a évolué progressivement vers le réseau mondial actuel.
Unix : construit autour de petits outils simples et combinables, à l’opposé des systèmes monolithiques de l’époque.
Grands projets IT : les méga-systèmes conçus tout d’un bloc (Louvois, Chorus, certains ERP) ont des taux d’échec élevés.
Biologie : les organismes complexes ont évolué depuis des formes simples sur des milliards d’années.