Skip to main content

Conway's Law for AI Systems: Your Org Chart Is Already Your Agent Architecture

· 9 min read
Tian Pan
Software Engineer

Every company shipping multi-agent systems eventually discovers the same uncomfortable truth: their agents don't reflect their architecture diagrams. They reflect their org charts.

The agent that handles customer onboarding doesn't coordinate well with the agent that manages billing — not because of a technical limitation, but because the teams that built them don't talk to each other either.

Conway's Law — the observation that systems mirror the communication structures of the organizations that build them — is fifty years old and has never been more relevant. In the era of agentic AI, the law doesn't just apply. It intensifies.

When your "system" is a network of autonomous agents making decisions, every organizational seam becomes a potential failure point where context is lost, handoffs break, and agents optimize for local metrics that conflict with each other.

The Law Hits Different for Agents

In traditional software, Conway's Law produces awkward API boundaries and duplicated data stores. Annoying, but manageable. You can paper over organizational dysfunction with integration layers, shared databases, and API gateways.

With agents, you can't. An agent that lacks context about what another agent decided three steps ago doesn't just produce a suboptimal result — it produces a confidently wrong one. And unlike a microservice that returns an error code, an agent that makes a bad decision will keep going, compounding the mistake across subsequent steps.

Here's the pattern that plays out at nearly every organization building multi-agent systems:

  • Marketing builds a content agent optimized for engagement metrics
  • Sales builds a lead qualification agent optimized for conversion
  • Support builds a resolution agent optimized for ticket closure time
  • None of these agents share a unified understanding of "customer"

The marketing agent generates content that attracts leads the sales agent can't qualify. The sales agent makes promises the support agent can't fulfill. Each agent works beautifully in isolation. Together, they reproduce every cross-functional dysfunction the company already had — except now those dysfunctions execute at machine speed with no human in the loop to catch the contradictions.

The Prompt Ownership Problem

The most acute manifestation of Conway's Law in AI systems is what I call the prompt ownership gap: the team that writes the prompt almost never owns the evaluation.

Product managers define what the agent should do. Engineers write the system prompt. A separate data or ML team runs evaluations. And when the agent fails in production, each team points at the others. Product says the prompt was implemented wrong. Engineering says the requirements were ambiguous. The eval team says nobody told them the expected behavior changed.

This isn't a people problem. It's a structural one. The communication overhead between these three functions creates latency that compounds:

  1. Product writes a spec describing desired agent behavior
  2. Engineering translates that spec into prompt instructions (information loss #1)
  3. The eval team builds test cases based on their understanding of the spec (information loss #2)
  4. The prompt and evals drift apart over successive iterations (information loss #3)

By the time you're five iterations in, the prompt is optimized for passing evals that no longer represent what product actually wants. And nobody notices until a customer complains, because the organizational structure created three separate feedback loops where one integrated loop was needed.

Agent Boundaries Are Team Boundaries

When teams design multi-agent architectures, they almost always draw agent boundaries that match their team boundaries. This feels natural — each team has domain expertise, so each team should own its domain's agent. But the resulting architecture inherits every communication bottleneck the org chart already has.

Consider a typical e-commerce company with separate teams for search, recommendations, checkout, and fulfillment. Each team builds an agent for its domain. The multi-agent system now has four agents with handoff points that exactly mirror the cross-team communication patterns:

  • Search → Recommendations: The search agent passes results to the recommendation agent, but the interface between them is whatever the two teams negotiated, which is usually the minimum viable data contract. Context about why the user searched for something is lost in the handoff.
  • Recommendations → Checkout: The recommendation agent suggests products but has no visibility into checkout constraints (inventory, shipping limitations, payment restrictions). The checkout team didn't expose those constraints because historically they didn't need to.
  • Checkout → Fulfillment: The checkout agent confirms orders without coordinating with fulfillment capacity, because those are separate teams with separate planning cycles.

The result is an agent pipeline that technically functions but drops critical context at every boundary — exactly the way the human organization does, just faster.

The alternative is designing agent boundaries around user journeys or business outcomes rather than team territories. But this requires teams to give up ownership of "their" agent, which is an organizational change, not a technical one.

Governance Mirrors Power Structures

How much autonomy an agent gets is never a purely technical decision. It mirrors the trust relationships and approval hierarchies of the organization that deploys it.

Organizations with centralized risk management produce agents with centralized approval gates. Every significant action routes through a single review bottleneck, which creates latency but matches how the organization actually makes decisions. Organizations with distributed authority produce agents that can act more independently — but they also produce agents that occasionally contradict each other, because there's no single source of truth about what's permissible.

Neither pattern is inherently wrong. The problem is when teams assume they're making a technical design choice ("should the agent have human-in-the-loop approval?") when they're actually encoding an organizational one.

If your agent needs three levels of approval before sending a customer email, that's not a safety feature — that's your VP of Communications' approval chain, reimplemented as agent infrastructure.

This matters because it means you can't evaluate agent architectures in isolation from the organizations that operate them. An agent design that works brilliantly at a company with high organizational trust and distributed decision-making will fail at a company with centralized control — not because the architecture is wrong, but because the operating model doesn't match.

The Inverse Conway Maneuver for AI

The original "Inverse Conway Maneuver" says: if you want a specific system architecture, restructure your teams to match that architecture first. For AI systems, this translates to three concrete organizational patterns.

Embedded AI Engineers in Product Squads

Instead of a centralized AI team that services requests from product teams, embed AI engineers directly in cross-functional squads. Each squad owns its agent end-to-end: the prompt, the tools, the evaluations, and the production monitoring.

This eliminates the prompt ownership gap by making one team responsible for the full cycle. The tradeoff is duplication — multiple squads will solve similar problems independently. But for agent systems, the cost of duplication is lower than the cost of misaligned ownership.

Shared Evaluation Infrastructure

While agent ownership should be distributed, evaluation infrastructure should be centralized. A shared eval platform provides:

  • Consistent evaluation methodology so teams can compare agent quality across domains
  • Shared test datasets that represent real production traffic patterns
  • Automated regression detection that catches when one team's changes break another team's agent
  • Cross-agent evaluation that tests handoff quality, not just individual agent performance

The eval platform team doesn't own any product agent. They own the tools and standards that product teams use to evaluate their own agents. This creates organizational alignment without creating organizational bottlenecks.

Prompt Review as Shared Practice

The most effective pattern I've seen is treating prompt changes like code changes: they go through review, they're version-controlled, and there's a shared understanding of what "good" looks like.

This doesn't mean a formal "prompt review board" (that's just another committee). It means establishing norms:

  • Prompt changes are reviewed by someone who understands the downstream agents that depend on the output
  • System prompt diffs are visible in the same PR workflow as code changes
  • There's a shared rubric for evaluating whether a prompt change maintains backward compatibility with existing agent interfaces

The goal isn't to slow down prompt iteration. It's to make cross-agent dependencies visible, because when they're invisible, Conway's Law guarantees they'll break at the worst possible time.

The Coordination Tax Is Real

Every agent boundary is a coordination cost. In a single-agent system, context flows freely within the prompt. In a multi-agent system, context must be explicitly serialized, transmitted, and deserialized at every handoff — and information is always lost in translation.

This coordination tax compounds:

  • Two agents: one handoff, manageable context loss
  • Five agents: ten potential handoff pairs, significant protocol overhead
  • Ten agents: forty-five potential handoff pairs, and you've rebuilt enterprise middleware

The math is the same as Brooks's Law for teams: adding more agents to a system increases the communication overhead quadratically. The solution isn't to avoid multi-agent architectures — sometimes the problem genuinely requires them. The solution is to be honest about why you're drawing agent boundaries where you draw them.

If the answer is "because that's how our teams are organized," you're not making an architectural decision. You're letting Conway's Law make it for you. And the resulting system will have exactly the coordination problems your organization already has, encoded in agent protocols and running at API speed.

Designing Against the Grain

The teams that ship effective multi-agent systems tend to do one thing differently: they design the agent architecture they want first, and then ask whether their organization can support it. If the answer is no, they change the organization — or they simplify the agent architecture until it matches what their organization can actually coordinate.

The worst outcome is a multi-agent system that's more complex than the organization can manage. You end up with agents that nobody fully understands, handoffs that nobody owns, and failures that nobody can diagnose — because the system's complexity exceeded the organization's communication bandwidth.

Conway's Law isn't a bug to work around. It's a diagnostic tool. If your agents aren't coordinating well, look at the org chart before you look at the code. The fix is almost never a better handoff protocol. It's almost always a conversation between two teams that should have been talking all along.

References:Let's stay in touch and Follow me for more thoughts and updates