hi,我是熵减,见字如面。
从事软件开发的人,都非常的清楚,大部分的软件工程不是一个人的英雄之旅,而是一项非常依赖团队的协作的、共同创造的系统性的工程。
在复杂的团队协作中,仅仅依赖软性的制度和流程规范,在很多的时候,可能不一定能很好的解决问题。在涉及到人的部分,就需要考虑到人们协作的职责结构,能否更加有利于目标的达成,这就涉及到康威定律。
什么是康威定律
康威定律是由计算机科学家 Melvin Conway 提出的。是一条关于组织设计和系统架构的经验法则。
康威定律的内容可以简单地概括为:“组织设计产生系统设计的影响”,通俗地说就是:“系统的结构受到设计它的组织结构的影响”。
这条定律的具体表述是:“在一个组织中,任何一个设计出来的系统,其结构都会与该组织的沟通结构保持一致。”
换句话说,如果一个组织的结构是分为多个小组分别独立开发某个系统的各个模块,那么最终这个系统的结构也会被划分为许多模块,并呈现出分布式的特点。
康威定律是软件工程中的一个经典理论,其提醒我们,在设计系统时要考虑到组织结构对系统设计的影响,并尽可能地将组织结构与系统结构相匹配,以便更好地管理和维护系统。
康威定律的延伸
康威定律的经验法则,启发了人们对组织设计和系统架构的思考,因此在此基础上又产生了一些延伸的定律。
以下是几个比较常见的康威定律的延伸定律:
-
组织分解定律(Conway’s Law of Organ