|

La loi de Conway

L’organisation interne d’une entreprise a un impact direct sur la manière dont y sont développés les outils. L’organisation et les interactions au sein des équipes influencent l’architecture des projets. C’est l’illustration de la loi de Conway.

La loi de Melvin Conway stipule que “toute organisation qui conçoit un système produira une conception qui est la copie de la structure de communication de cette organisation”.

Ce billet a été initialement publié sur LinkedIn
Voir la publication originale
Cette dernière est republiée ici afin de ne pas dépendre entièrement d'une plateforme tierce.

J’ai déjà évoqué les problèmes qui peuvent être liés au découpage des équipes centrées sur des compétences techniques et qui à mon sens, tendent à générer des problématiques de communication et de performance de l’entreprise du fait d’une perte de vision d’ensemble.

Un exemple concret que l’on rencontre fréquemment est une organisation dans laquelle les équipes responsables du développement d’un projet sont séparées de celles qui en assurent son déploiement. Dans ce contexte, il est probable que l’on retrouve une scission entre le code du projet et le code associé à son déploiement (deux équipes = deux dépôts de code la plupart du temps).

Dans ce genre de situation, gérer la cohérence des deux dépôts demande beaucoup d’organisation, de rigueur et de communication. Cela peut s’avérer difficile, car les équipes étant séparées, chacun peut ne pas avoir conscience des problématiques des autres.

De plus, chaque équipe ayant ses propres objectifs, il est possible qu’elles ne partagent pas la même vision, ce qui peut nuire à la qualité du logiciel.

Dans ce cas, la loi de Conway nous enseigne que le développement logiciel n’est pas uniquement une histoire de code. Que pour améliorer la qualité et la déliverabilité d’un outil, il est essentiel d’aligner la structure organisationnelle de l’entreprise avec l’architecture souhaitée pour le produit.

Jérémy DECOOL

Jérémy DECOOL

Développeur depuis plus d'une décennie, je partage mes réflexions sur les bonnes pratiques de développement et d'architecture logicielle.