← 返回规律列表
团队

康威定律

一个组织设计出的系统,往往映射出该组织自身的沟通结构。

显示原始英文内容

Conway's Law

Organizations design systems that mirror their own communication structure.

Takeaways

  • The architecture of software systems often mirrors the organization's org chart or team structure.
  • If your company is organized in silos, you might end up with siloed software modules that don't communicate well, reflecting those barriers.
  • To achieve a desired software architecture (e.g., microservices), you might need to restructure teams accordingly, because teams build software aligned with their communication paths.
  • When starting a project, realize that how you split teams or departments will likely lead to software boundaries at the same places.

Overview

Conway's Law states that software systems reflect the communication structure of the organization that builds them. A company with separate frontend, backend, and database departments will likely produce a three-tier architecture. Small, distributed teams tend to produce modular service architectures, while large, collocated teams tend to build monoliths.

To mitigate this, teams can use the Inverse Conway Maneuver: intentionally structuring the organization to match the desired software architecture.

Examples

A company had separate departments for frontend, backend, and database. The software they built had a three-tier architecture, with each tier independently designed by its respective department. Integration between tiers was painful because the teams had misaligned goals.

Amazon famously organized "two-pizza teams", each owning a specific service. Conway's Law suggests that's why Amazon's architecture is service-oriented, with clear API contracts between services.

Origins

Melvin Conway introduced the idea in his 1967 paper "How Do Committees Invent?" After Harvard Business Review rejected it for lacking formal proof, Datamation published it in 1968.

Fred Brooks later named it "Conway's Law" in *The Mythical Man-Month*, which established the concept as foundational in software engineering.

核心含义

团队之间如何沟通、如何分工,最终往往会反映在系统的模块边界、接口和部署方式上。前端、后端、数据库各自独立的团队,容易做出分层架构;围绕业务能力组建的小团队,则更容易做出模块化或服务化系统。

这条规律也说明,想要改变系统架构,有时需要先改变团队结构。所谓“逆康威策略”,就是先按照目标架构组织团队,让新的沟通路径自然长出新的系统边界。

实践例子

一个项目把用户、订单和支付分别交给三个互不重叠的团队。系统很快形成三个独立模块,但跨模块需求需要大量协调。若改为由跨职能团队端到端负责业务能力,接口和职责通常会更清晰。

来源与边界

梅尔文·康威在 1960 年代提出了这一观察,后来因弗雷德·布鲁克斯的著作而广为人知。它不是机械定律:组织会受到技术约束、历史包袱和领导决策影响,但它是审视架构与组织关系的有用视角。