【软件工程之架构设计:“康威定律”(Conway's law)】
康威定律:组织设计系统来反映他们自己的沟通结构。
本质上讲:任何产品必然是其(人员)组织沟通结构的缩影,‘活’是人干出来的,靠chatGPT或其它什么的,统统靠谱。
在一个组织内,跨部门沟通是非常难的,系统各个模块的接口也反映了它们之间的信息流和交流合作方式。
康威定律以计算机程序员梅尔文·康威的名字命名,英文原文如下:
organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. — M. Conway
实际上,你所在的组织是什么样子,这个组织沟通模式也是这个样子。
效率高的组织,沟通效率自然也高。效率低的组织,沟通效率也肯定不高。
所用的计算机信息系统也一样、一个德行。
康威定律被扩充为下面的四条:
一、 Communication dictates design
组织沟通方式会通过系统设计表达出来
二、 There is never enough time to do something right, but there is always enough time to do it over
时间再多一件事情也不可能做的完美,但总有时间做完一件事情
三、 There is a homomorphism from the linear graph of a system to the linear graph of its design organization
线型系统和线型组织架构间有潜在的异质同态特性
四、 The structures of large systems tend to disintegrate during development, qualitatively more so than with small systems
大的系统组织总是比小系统更倾向于分解
康威定律出名的原因:Brooks在著名的《人月神话》中引用康威的观点,并将其称赞为我们熟知“康威定律”。
Adding manpower to a late software project makes it later --Fred Brooks, (1975)
为了赶进度加程序员就像用水去灭油锅里的火一样(无奈大家还是前赴后继)。
Because the design that occurs first is almost never the best possible, the prevailing system concept may need to change. Therefore, flexibility of organization is important to effective design.
由于首先发生的设计几乎从来不是最好的可能,因此流行的系统概念可能需要更改。因此,组织的灵活性对有效设计至关重要。
由此可知,Brooks早在半个世纪前就告知我们,首先得优化组织,其次才是优化系统。没有敏捷的组织,就没有敏捷的开发团队。
对于一个开发团队,我们在提升开发技术能力时,还得要用一切手段提升沟通效率。
康威定律的一个应用:软件架构设计的例子——————
1) 人与人的沟通非常复杂,当问题太复杂需要很多人解决的时候,我们需要做拆分组织来达成对沟通效率的管理。可以通过不同的拆分方式带来不同的团队间沟通方式。
2) 如果子系统是高内聚的,和外部的沟通边界是明确的,能降低沟通成本,对应的设计也会更合理高效。
3) 复杂的系统需要通过容错弹性的方式持续优化,不要指望一下子就搞出一个大而全的完美架构,好的架构都是迭代出来的。
namo-amitabhaya!
康威定律:组织设计系统来反映他们自己的沟通结构。
本质上讲:任何产品必然是其(人员)组织沟通结构的缩影,‘活’是人干出来的,靠chatGPT或其它什么的,统统靠谱。
在一个组织内,跨部门沟通是非常难的,系统各个模块的接口也反映了它们之间的信息流和交流合作方式。
康威定律以计算机程序员梅尔文·康威的名字命名,英文原文如下:
organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. — M. Conway
实际上,你所在的组织是什么样子,这个组织沟通模式也是这个样子。
效率高的组织,沟通效率自然也高。效率低的组织,沟通效率也肯定不高。
所用的计算机信息系统也一样、一个德行。
康威定律被扩充为下面的四条:
一、 Communication dictates design
组织沟通方式会通过系统设计表达出来
二、 There is never enough time to do something right, but there is always enough time to do it over
时间再多一件事情也不可能做的完美,但总有时间做完一件事情
三、 There is a homomorphism from the linear graph of a system to the linear graph of its design organization
线型系统和线型组织架构间有潜在的异质同态特性
四、 The structures of large systems tend to disintegrate during development, qualitatively more so than with small systems
大的系统组织总是比小系统更倾向于分解
康威定律出名的原因:Brooks在著名的《人月神话》中引用康威的观点,并将其称赞为我们熟知“康威定律”。
Adding manpower to a late software project makes it later --Fred Brooks, (1975)
为了赶进度加程序员就像用水去灭油锅里的火一样(无奈大家还是前赴后继)。
Because the design that occurs first is almost never the best possible, the prevailing system concept may need to change. Therefore, flexibility of organization is important to effective design.
由于首先发生的设计几乎从来不是最好的可能,因此流行的系统概念可能需要更改。因此,组织的灵活性对有效设计至关重要。
由此可知,Brooks早在半个世纪前就告知我们,首先得优化组织,其次才是优化系统。没有敏捷的组织,就没有敏捷的开发团队。
对于一个开发团队,我们在提升开发技术能力时,还得要用一切手段提升沟通效率。
康威定律的一个应用:软件架构设计的例子——————
1) 人与人的沟通非常复杂,当问题太复杂需要很多人解决的时候,我们需要做拆分组织来达成对沟通效率的管理。可以通过不同的拆分方式带来不同的团队间沟通方式。
2) 如果子系统是高内聚的,和外部的沟通边界是明确的,能降低沟通成本,对应的设计也会更合理高效。
3) 复杂的系统需要通过容错弹性的方式持续优化,不要指望一下子就搞出一个大而全的完美架构,好的架构都是迭代出来的。
namo-amitabhaya!
#每日一善[超话]##阳光信用##熊猫守护者##微博渔场# 正是这些时光的零散碎片, 拼出了过去一年的全景, 构成了你我的共同记忆, 书写着这个时代的一撇一捺。 适用主题:抗击疫情。英雄等。
. it is these fragments of time that make up the panorama of the past year.Constitute the common memory of you and me, writing a stroke of this era. applicable theme: the fight against the epidemic, heroes and so on.
. it is these fragments of time that make up the panorama of the past year.Constitute the common memory of you and me, writing a stroke of this era. applicable theme: the fight against the epidemic, heroes and so on.
#克拉吉诺维奇[超话]#
Hi everyone
In this way, I want to address and be completely honest with everyone who follows me and cheers for me
An extremely difficult and tiring season is behind me so far, a lot of lost and difficult matches that did not go in my favor
Unfortunately the game is nowhere near the level needed to get me back where I belong.
I would like you to understand me as an athlete who is going through a difficult period on the field and off it
I will take a few days off to assess the whole situation and prepare for the next tournaments that are coming up.
大家好
我想以这种形式,告诉每一个关注我、为我加油的人。截止目前,这个赛季对于我来说都非常困难和劳累,很多失败和困难的比赛也是我不想看到的。
不幸的是,目前我的竞技水平远没有达到我期望的水准。
我希望你们能理解我,作为一名运动员,我在场上场下都经历了一段艰难的时期。
我将休息几天来评估目前的状况,为即将到来的下一场比赛做准备。
Hi everyone
In this way, I want to address and be completely honest with everyone who follows me and cheers for me
An extremely difficult and tiring season is behind me so far, a lot of lost and difficult matches that did not go in my favor
Unfortunately the game is nowhere near the level needed to get me back where I belong.
I would like you to understand me as an athlete who is going through a difficult period on the field and off it
I will take a few days off to assess the whole situation and prepare for the next tournaments that are coming up.
大家好
我想以这种形式,告诉每一个关注我、为我加油的人。截止目前,这个赛季对于我来说都非常困难和劳累,很多失败和困难的比赛也是我不想看到的。
不幸的是,目前我的竞技水平远没有达到我期望的水准。
我希望你们能理解我,作为一名运动员,我在场上场下都经历了一段艰难的时期。
我将休息几天来评估目前的状况,为即将到来的下一场比赛做准备。
✋热门推荐