DEV Community

Cristian Sifuentes
Cristian Sifuentes

Posted on

10 - Architecture and Organizations — Conway’s Law Revisited

 Architecture and Organizations — Conway’s Law Revisited

Architecture and Organizations — Conway’s Law Revisited

Why software structure mirrors communication — and how to design with that reality


Organizations don’t build systems.

They become systems — and the code reflects it.

This is Part 10 of the series:

  1. Classes in C#: From First Principles to Architectural Mastery
  2. Abstract Class vs Interface — A Systems View
  3. Composition vs Inheritance — The Physics of Change
  4. Encapsulation & Information Hiding — Designing for Ignorance
  5. SOLID Revisited — A Post-Pattern Perspective
  6. Polymorphism — Substitution Over Reuse
  7. Clean Architecture as a Consequence, Not a Pattern
  8. When Not to Use OOP — The Cost of Abstraction
  9. Hexagonal, Onion, Vertical Slice — Same Forces, Different Projections
  10. Architecture and Organizations — Conway’s Law Revisited

This final chapter closes the loop:

from memory and identity → to forces and change → to people and communication.


Conway’s Law (The Original Insight)

Melvin Conway observed in 1968:

“Organizations which design systems are constrained to produce designs

which are copies of the communication structures of these organizations.”

This is not a metaphor.

It is an empirical law.

And it still holds — brutally.


Why Conway’s Law Is Inevitable

Software architecture is not just technical.

It is:

  • meetings
  • Slack channels
  • ticket queues
  • approval paths
  • incentives

Code is the fossil record of communication.


Architecture as a Social Artifact

When you see:

  • tight coupling
  • god services
  • unclear boundaries

You are often seeing:

  • unclear ownership
  • shared responsibilities
  • overloaded teams

Technical debt is frequently organizational debt in disguise.


The Inverse Conway Maneuver

If Conway’s Law is true, then the inverse is powerful:

Design the organization to get the architecture you want.

This is not theory.
Companies do this deliberately.


Team Topologies (Briefly)

Modern organizations shape architecture by:

  • stream-aligned teams
  • enabling teams
  • platform teams

Each topology produces predictable code shapes.

Architecture follows team boundaries more reliably than diagrams.


Encapsulation at the Team Level

Everything we learned about encapsulation applies to teams:

Code Concept Organizational Equivalent
Encapsulation Clear team ownership
Information hiding APIs between teams
Interfaces Contracts & SLAs
Dependency inversion Platform teams serving product teams

Clean Architecture is encapsulation scaled to humans.


Why Microservices Fail (Often)

Microservices fail when:

  • services don’t map to teams
  • ownership is unclear
  • communication is noisy
  • boundaries are political, not technical

You get:

  • chatty systems
  • distributed monoliths
  • blame instead of flow

That’s Conway’s Law at work.


Vertical Slices and Teams

Vertical Slice Architecture works because:

  • features map to people
  • changes stay local
  • ownership is clear

It aligns code boundaries with human boundaries.

This is why it feels “fast”.


The Cost of Misalignment

When architecture and organization diverge:

  • work slows
  • coordination explodes
  • refactors become risky
  • morale drops

You can’t fix this with patterns.
You fix it with structure.


Designing for Communication, Not Control

Great architectures don’t minimize communication.

They:

  • shape it
  • channel it
  • make it intentional

Boundaries are communication agreements.


The Meta-Architecture Insight

Architecture is not just about software.

It is about:

  • incentives
  • trust
  • feedback loops
  • autonomy

Ignoring this guarantees failure.


A Practical Checklist

If architecture hurts, ask:

  1. Who owns this?
  2. Who needs to talk to whom?
  3. Where are decisions made?
  4. Where does change stall?
  5. Which boundaries are violated daily?

The answers point to the real problem.


The Mental Model to Keep

Architecture is frozen communication.

Change communication —

and the architecture will follow.


Final Takeaway

Junior developers ask:

“Why is the code like this?”

Senior engineers ask:

“Why is the organization like this?”

The second question unlocks the first.


✍️ Cristian Sifuentes

.NET / C# • Architecture • Systems Thinking

Software is written in code.

Architecture is written in people.

Top comments (0)