1 分钟阅读

你的 Bug 可能正是别人的功能

软件工程的魔幻定律(5)


Part II-I:人员与组织

这一部分的定律往往比技术定律更让人感到不舒服,因为它们在说的是我们自己。

Conway’s Law:组织结构决定系统结构

Melvin Conway 在 1967 年写道:

“Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.”


这条定律有大量实证支持。MIT 和哈佛商学院的研究者发现,分布式团队开发出的软件,在模块耦合度上与集中式团队有显著差异。

实际案例触手可及:微服务架构兴起之前,很多公司就已经按业务线划分了团队,他们的单体应用内部实际上已经呈现出了服务化的边界。微服务架构的流行,某种程度上是 Conway’s Law 的一次显性化。

逆用这条定律,就是"逆康威操控"(Inverse Conway Maneuver):先设计目标架构,再调整团队结构来适配它。Spotify 的 Squad 模型、Amazon 的两披萨团队原则,都是这种思路的实践。