IT Governance & Strategy

Conway's Law and Why Your Software Architecture Looks Like Your Org Chart

Melvin Conway observed in 1967 that organizations produce systems that mirror their communication structures. Once you see it, you cannot unsee it.

2026-05-14 · 6 min read IT Governance & StrategyPlatforms & EcosystemsSociotechnical Systems

Melvin Conway made his observation in a 1967 paper that almost didn't get published. The Harvard Business Review rejected it. The idea was simple enough that it could fit in a sentence: "organizations which design systems are constrained to produce designs which are copies of the communication structures of those organizations." Fred Brooks picked it up in "The Mythical Man-Month" and called it Conway's Law, which is how it stuck. The idea has survived because it keeps being right.

The reason it keeps being right is that system design is a communication problem. To produce a software interface between two components, the people responsible for each component have to talk to each other. They have to agree on what the interface does, how it behaves, what it returns when something goes wrong. That coordination requires a communication channel. If the communication channel doesn't exist, the interface doesn't get cleanly defined. If the teams don't talk often, the interface accumulates ambiguity. If they sit in different divisions with different management chains and different quarterly goals, the interface becomes a source of friction that nobody has the organizational authority to resolve cleanly.

So the architecture ends up reflecting who talks to whom. The components owned by teams that communicate frequently tend to be tightly integrated. The boundaries between teams that don't communicate much become the seams in the software. This is not cynicism. It is almost mechanical. The structure of the software is the structure of the coordination required to build it, and the structure of the coordination is determined by the organizational structure. Conway was describing a constraint, not a preference.

I have seen this in enterprise IT contexts that have nothing glamorous about them. A company with a monolithic IT department, organized around technical function (a database team, a middleware team, a frontend team), tends to produce monolithic applications with clean vertical layers but terrible horizontal seams. Every feature requires changes in three layers owned by three teams, which requires three separate handoffs, three separate code reviews, and three sets of deployment windows that have to align. The architecture didn't choose to be this way. The organization made it this way by deciding to organize around technical specialization rather than around business capabilities.

The inverse of this is also true, and it's where the interesting strategic implications come in. You can design your team structure to produce the architecture you want. This idea, sometimes called the "inverse Conway maneuver," got traction in the microservices and DevOps communities. If you want a modular, loosely coupled architecture where services can be deployed independently, you organize teams so that each team owns a service end to end. The team handles the backend, the API, the frontend components, the deployment pipeline, and the monitoring. No handoffs. The communication structure is contained within the team, so the service boundary is clean and the interface to other services is a formal, versioned API.

The maneuver works, but it requires genuine organizational change, not just a declared intention. Teams that own services end to end need the skills to do it. They need a backend engineer, someone who understands deployment, someone who thinks about security, someone who can look at monitoring data and respond to incidents. Small teams with narrow specialization can't actually be autonomous. Declaring them autonomous doesn't make them autonomous if they still need the central security team to approve every configuration change and the central DBA to bless every schema migration.

This is where I see the most common failure mode. An organization reads about microservices and Netflix and decides to decompose its monolith. It starts splitting the codebase into separate services. But it doesn't change the team structure. The same three teams that owned the monolith now own different slices of the microservices. The deployment process still requires coordination across all three teams because they're deploying into a shared environment they all depend on. The data still lives in one database that all three services share because the organization has one DBA and she's not going to manage three separate databases. What you get is a distributed monolith. You have the operational complexity of microservices without any of the autonomy. The services look independent on the architecture diagram but can't actually be deployed or scaled independently.

The distributed monolith problem is Conway's Law reasserting itself. The team structure didn't change, so the effective coupling in the system didn't change, regardless of what the code looks like. The services call each other synchronously in long chains. A failure in one cascades through all the others. Nobody can define the API boundaries cleanly because the teams still negotiate shared logic through informal hallway conversations rather than formal contracts. The code is distributed. The design is still monolithic.

According to Gartner research on application modernization and cloud-native architecture, the organizational and cultural dimensions of architecture change are consistently underestimated relative to the technical dimensions (see Gartner Newsroom). That matches what Conway's Law predicts. The technical migration is the easier part. Restructuring the communication patterns, the ownership, the skills distribution, and the governance model is the harder part, and it's the part that determines whether the new architecture delivers what was promised.

The implication I find most useful for IT practice is that architectural decisions and organizational decisions are the same decision seen from different angles. When a CTO says "we're going to move to microservices," they are also saying "we're going to reorganize how teams work." The second statement is usually not made explicit, which is why the first statement often fails. You can't separate them. You can try to make the architectural decision and avoid making the organizational decision, but then Conway's Law makes the organizational decision for you, and the result is the architecture your organization was always going to produce given who talks to whom.

The 1967 paper has a second observation that gets less attention. Conway argued that the number of possible design solutions to a given problem is determined by the number of communication paths the organization can maintain. A small team has few communication paths, so it will produce a simple design. A large organization has many communication paths, so it can potentially produce a complex design, but the complexity will follow the communication structure. This has practical implications for architecture decisions. If you want a genuinely simple design, you might need to deliberately limit the number of teams involved in the design process. Architecture by committee, where every stakeholder gets to weigh in, tends to produce architectures that satisfy the communication needs of all the stakeholders, which means they're complex, layered, and full of interfaces that reflect the organizational boundaries more than any technical necessity.

Conway's Law is one of those observations that gets cited in conference talks and then forgotten when actual organizational decisions get made. The org chart goes in one direction, the architecture diagram goes in another, and six months later everyone wonders why the new system has all the same problems as the old one.


About the author

A
Ali Safari
PhD Student in IS, University of North Texas

Researching AI governance, trust in intelligent systems, and agentic AI. Writing while studying for comps.

Share

More notes

← Previous
The World Exists Whether You Measure It or Not
Next →
There Is No Best IT Strategy

Related notes