liveBook · Manning

Conway's law

As explained in Architecture Modernization: Socio-technical alignment of software, strategy, and structure

Conway's law is the principle that a system's architecture tends to reflect the communication structure of the organization that designs it.

Conway's law states that organizations tend to produce system designs that copy their communication structures. Architecture therefore reflects team boundaries, collaboration patterns, and organizational priorities. Ignoring this relationship can produce tightly coupled software, cross-team dependencies, siloed data, and fragmented user experiences. A socio-technical approach jointly optimizes organization design and software architecture. section 2.2.1 section 11.1.6

Apply Conway's law as a diagnostic and design principle:

  • Circulate the principle widely before modernization and find examples in existing team structures, collaboration patterns, and architecture. section 2.2.1
  • Align teams, domain boundaries, and codebases so that a team can change concepts within one business subdomain without coordinating with other teams. section 2.2.2
  • Use collaborative domain modeling to combine perspectives rather than allowing isolated architecture decisions to harden mismatched boundaries. section 2.2.2
  • Treat organizational and architectural changes as mutually constraining, and manage team cognitive load when defining responsibilities and interactions. section 11.1.6 section 11.6

Silos reflected in architecture

A siloed organization gave teams separate objectives and encouraged independent work. Changes by one team consequently broke other teams, data remained siloed, and users experienced a fragmented product. The architecture reproduced the organization's communication structure. section 2.2.1

Figure 2.1 Fast flow requires loosely coupled software architecture, which requires loosely coupled domains.

The figure connects fast flow to loosely coupled software architecture and, in turn, to loosely coupled domain boundaries. section 2.2.2

How Architecture Modernization: Socio-technical alignment of software, strategy, and structure covers it

How deep it goes
Defines the principle, diagnoses organizational failure modes, and gives alignment guidance without prescribing a complete organizational design.
Examples
Uses siloed teams, broken cross-team changes, siloed data, and collaborative EventStorming as concrete illustrations.
What it assumes
Assumes awareness of architecture and team collaboration, while introducing the socio-technical relationship between organizational structure and system design.
What you can do after
Diagnose mismatches between organizational communication and architecture, then identify better-aligned teams, domains, and collaboration boundaries.
How it connects
Connects socio-technical architecture with domain modeling, domain boundaries, Team Topologies, independent value streams, and cognitive load.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Architecture Modernization: Socio-technical alignment of software, strategy, and structure. The section links point to the parts of the book it draws on.