# Conway's Law

> The structure of a system tends to reproduce the communication structure of the organisation that built it.

- HTML version: https://robbiepalmer.me/ideas/conways-law
- Source: https://martinfowler.com/bliki/ConwaysLaw.html

Conway's Law says that an organisation designs systems which resemble its own communication
structures. If separate teams must negotiate every change, their software usually acquires a
boundary in the same place. If nobody owns an end-to-end outcome, the system rarely gains clean
end-to-end ownership by accident.

I use the law to diagnose how communication shapes architecture. It does not mean an org chart
mechanically determines the result. Look at where decisions wait, where vocabulary changes, and where work is handed off. Those seams
often explain the seams in the software better than a component diagram does.

The effect also runs in both directions. Existing technical boundaries constrain how teams can
work, which can then reinforce the organisation that produced them. That feedback loop is why a
reorganisation with no architectural work often changes very little.

## Questions it prompts

* Which teams need to coordinate before this system can deliver one customer outcome?
* Does each important boundary have a team able to change and operate it?
* Are repeated integration problems really communication problems in disguise?

## Related ideas

- [Data Mesh](https://robbiepalmer.me/ideas/data-mesh.md): A decentralised approach to analytical data built on domain ownership, data products, a self-serve platform, and federated governance.
- [Reverse Conway Maneuver](https://robbiepalmer.me/ideas/reverse-conway-maneuver.md): Design team boundaries and communication paths to encourage the system architecture you want.

## Where it appears

- Blog post: [How to Enable Multi-omic Data Management](https://robbiepalmer.me/blog/2022-02-28-enabling-multi-omic-data-management.md)
- Blog post: [Uniting the Machine Learning and Data Streaming Ecosystems - Part 1](https://robbiepalmer.me/blog/2023-03-28-uniting-machine-learning-data-streaming-1.md)

---

Markdown index of this site: https://robbiepalmer.me/llms.txt
