Home

Conway's Law

summary: Conway's Law is an observation made by computer scientist Mel Conway in 1968. The law states that "organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations". This means that the structure of the software and its architecture will ultimately reflect the structure of the organization that designed it. This law has implications for software development teams, as the structure of the team will likely be reflected in the structure of the software. The law also states that the teams must be organized in a way that can facilitate communication between all team members in order to produce an effective and successful product.

Conway's Law

Melvin Conway In 1967,

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

This law is often illustrated with a "compiler" example:

If you have four groups working on a compiler, you'll get a 4-pass compiler.

In the world before microservices, Conway's Law was generally discussed in a negative light. As in, Conway's Law represented poor planning and organization of your application. But, in a post-microservices world, Conway's Law is given much more latitude. Because, as it turns out, if you can break your system up into a set of independent services with cohesive boundaries, you can ship more product with fewer bugs because you've created teams that are much more focused working on set of services that entail a narrower set of responsibilities.

reference