Conway’s Law

Conway’s law often works... yet only in specific conditions ‼️

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

(Conway’s Law, https://www.melconway.com/Home/Conways_Law.html)

This is deemed an unconditional law because it is correct for most organizations, fostering the focus on local performance of individuals, teams, and departments at the expense of focusing on business results. People are placed in conditions where everything - including structures, roles and responsibilities, performance, salaries, and careers - stimulates them to isolate their “own” area of responsibility from all the rest, as that is the “path of the lowest resistance.”

This is how subsystems are created based on organizational structures. Since subsystems need to interact, respective communication channels are established between the people “owning” them. Since the business needs are not the primary driver of the design effort, the resulting architecture is often far from optimal for the business. 

In other words, this is a special case of Local Optimizations, which I formulate as follows:

Organizations that foster local optimization for individual interests (of people, teams, or departments) over global optimization for business outcomes will produce a system design whose structure mirrors their own communication structure.

Example:
Software teams whose performance, salaries, and careers are tied to specific product areas tend to maximize their subsystem’s technical and process isolation. They prefer contract-based relationships with each other and exclusive code ownership. As a result, the product architecture directly reflects the organization’s silos. While each team focuses on their own subsystem, at any given time, only a few subsystems are actually business-critical to change. While optimizing separate subsystems in isolation, the whole system is often sub-optimized.

On the other hand, there are completely different examples of another case with Global Optimizations - I formulate it as follows:

Organizations that foster global optimization for business results over local individual interests (of people, teams, departments) will produce system designs aligned with business needs and reshape communication channels to enable this achievement.

Example:
Self-managing, cross-component software teams truly motivated by shared product goals that are fully supported by the organization’s performance, salary, and career practices have a high chance of opting for shared code ownership and gradually improving towards the ability to work across the entire system. They produce system designs of any structure, including modular or monolithic, that maximize business value, regardless of preexisting team boundaries.

From here, in the general case, I believe the following is true:

The more the organizational design fosters local over global optimization, the more the design of systems it produces reflects its communication structures instead of what’s optimal for the business.

Previous
Previous

Scrum Master is considered a low-grade job or even completely useless - here is WHY.

Next
Next

Ready for a multi-million-dollar waste?