Ressource

Conway's Law

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.

Autrement dit, la structure des équipes est bien plus dictée par la forme du système de communication en place dans l’entreprise que par ce qui serait nécessaire ou optimal. En pratique, cela signifie que la répartition des équipes est souvent héritée d’un historique organisationnel.

Souvent expliqué avec le cas suivant, si une seule équipe écrit un compilateur, il s’agira d’un compilateur à une passe, mais si l’équipe est divisée en deux, il s’agira d’un compilateur à deux passes. La communication des équipes impactera l’architecture du système.

Conway Law

Problème de coordination

When technologists break down problem into smaller chunks to delegate, we introduce coordination problems. In many organizations, formal communication structure or rigid hierarchy appear to solve this coordination problem1

Et on peut donc se demander pourquoi de nombreuses entreprises découpent en silos techniques (frontend, backend et database)

Teams typically optimize for efficiency for their immediate tasks rather than the more abstract, strategic goals of the business, particularly when under schedule pressure. Instead of delivering an end-to-end feature value, teams often focus on delivering components that may or may not work well with each other. 1

Néanmoins à long terme lorsqu’on voudra livrer une feature qui nécessite de toucher aux trois parties nous devrons coordonner les plannings, ce qui augmentera le temps d’implémentation de la feature (i.e. le Lead Time)

Inverse Conway’s Law

Change the communication patterns of the designers to encourage the desired software architecture.

L’architecture de notre logiciel émergera de notre organisation (Conway’s Law), ainsi si nous souhaitons faire émerger une architecture nous devons d’abord changer la structure de notre organisation

=> En structurant les équipes pour qu’elles ressemblent à votre architecture cible, elle sera plus simple à atteindre

Footnotes

  1. Building Evolutionary Architecture p11-12 2