Conway's Law

Conway's Law

It is said that a company will always create a software system whose organization mirrors the organization of the company itself.

This is true, but misses that it is the result of a process in which both architectures evolve toward that point. Neither the company nor the software are fixed, with the other being an imprint of the former; rather, it is the natural endpoint of optimizing the company to produce a given product, and of designing the product in such a way as to be efficiently built by the company.

In itself it is therefore not a problem. What is a problem is if either needs to change to adapt to externally imposed business needs, but the other is incapable of following.

If you want flexibility in the product, the organization must also have provisions for such flexibility in order to continuously optimize itself to the changing requirements. Conversely, if you want to optimize the organization to meet business needs, the product must be flexible.

2017-01-15, updated 2017-03-09