The Famous Sketch
In 2011, an engineer named Manu Cornet drew a famous set of cartoons depicting the organizational charts of big tech companies.
- Apple: A tiny red dot (Jobs) connected to everything. (Result: Highly integrated, singular vision).
- Microsoft: Distinct pyramids pointing guns at each other. (Result: Windows vs. Office vs. Xbox felt like warring nations).
- Amazon: Strict, hierarchical pyramids. (Result: A platform of strictly defined, modular services).
These drawings were funny because they were true. They were visual proof of Conway’s Law.
The Mechanism of the Law
Why does this happen? Communication cost. Software interfaces are nothing more than agreements between people.
If Team A (Cart) and Team B (Checkout) sit next to each other and share lunch, they will build a tight, efficient integration (a Monolith). If Team A is in New York and Team B is in Bangalore and they only speak via Jira tickets, they will build a strict, formal API to avoid talking to each other (Microservices).
The Product Consequence: If your organizational structure is disjointed, your User Journey will be disjointed. The user will physically feel the moment they “cross the border” from one team’s territory to another’s within your app.
The Trap: The Frontend/Backend Split
The most common mistake in modern startups is organizing by Function rather than Flow.
- The Structure: All Backend Engineers in one room. All Frontend Engineers in another.
- The Result: A technically robust backend that exposes data in a way that is incredibly difficult for the frontend to consume.
- The User Experience: Slow loading times and weird data glitches, because the two halves of the brain aren’t talking.
The Solution: The Inverse Conway Maneuver
You cannot fight Conway’s Law. You have to use it. This is called the Inverse Conway Maneuver.
If you want a specific software architecture, you must evolve your team structure to match it.
- Want a Microservices Architecture? Create small, autonomous “Two-Pizza Teams” (Amazon style) where each team owns the full stack of a specific domain (e.g., The “Search” Team).
- Want a Seamless User Journey? Create “Squads” (Spotify style) that include a PM, Designer, Backend, and Frontend dev all sitting at the same desk focused on “Onboarding.”
- Break the Silos: If two parts of your app feel disconnected, physically move the people working on them to the same room (or Slack channel). The code will integrate because the people will integrate.
Conclusion
Don’t look at your codebase to find bugs. Look at your seating chart. If your product feels broken, it’s usually because your communication lines are broken.
The Takeaway: You can’t fix the software until you fix the org chart.