编者按:本文作者 Tomasz Tunguz 是红点投资公司(Redpoint Ventures)的合伙人,他在本文中详细介绍了“Conway’s Law”(康威定律)。
1967年,《哈佛商业评论》拒绝了Mel Conway 提交的一篇论文。一年之后,Conway的论文最终被确定为“Conway’s Law”(康威定律)。康威在加利福尼亚理工学院获得物理学硕士学位,在凯斯西储大学获得数学博士学位。毕业之后,他参与了很多知名的软件项目,如 Pascal 编辑器。在他的职业生涯中,康威观察到一个现象:软件团队开发的产品是对公司组织架构的反映。
图:各大科技公司的组织架构图。
接下来,让我们更清晰地介绍一下这个概念。可用性专家Nigel Bevan写道:“公司的网站内容和结构反映的是公司的内部问题,而不是网站的需求。”换句话说,营销团队有一个网页,销售团队有一个网页,公关团队有一个网页。公司的内部结构反映出的不是消费者路径的现状,而是产品结构。
“康威定律”是在软件开发项目中被提出的。如果同一个项目有三个前端工程师,用户完成每项任务会有三种不同的方式:指向-点击,键盘快捷键、菜单项。如果公司内有两个不同工程负责人,那么会有两种不同的源代码控制系统、两种不同的代码审查过程、两种不同的架构,等等。
2008年,Alan MacCormack、JohnRusnak和Carliss Baldwin 通过对公司开发的软件进行研究,并将其与社区开发的开源软件进行对比,研究并验证了“康威定律”,他们共同撰写了一篇论文发布在《哈佛商业评论》。
我不确定这则定律是不是真正的定律,它是不是放之四海而皆准,但是它确实引发了一个问题:创业公司的团队的组织架构是否合适?例如,大部分发展迅速的创业公司从创建独立的应用程序(一个App 服务器、一个数据库、一个逻辑层)开始,最终形成一个微服务架构,之前压缩在一个代码库中的功能会分成数十或上百个不同的服务。
有人说这是两种力量的反映:工程团队的规模不断扩大;开发运营(devops)崛起。在开发运营阶段,开发者不仅要负责编写代码,也要负责质量保证和运营。因此,小型的开发者团队可以完全独立于更大的工程机构。
不幸的是,“康威定律”没有提供相应的诊断工具,帮助执行团队判断自己的组织框架是否合理,以及公司在什么时候进行重组比较合适。它只引发了一个问题:公司的组织架构能否为用户提供最好的产品?
这是一个应该定期提问的好问题。