最近看一篇文章,有一句话很有意思:
任何组织在设计一套系统(广义概念上的系统)时,所交付的设计方案在结构上该组织的沟通结构保持一致。
这句话被称为康威定律,也被经常引用。其背后的原理在于,当协调变化的成本增加后,有一件事情会发生:人们会想办法降低协调/沟通的成本 ,或者选择停止更改。这大概就是算了算了,别烦了的心态吧。
映射在软件开发上,就是模块会分为前端,后端,而后端又会因为各个开发组,被分为多个不同的模块。事情出来之后,放到哪个模块做,我们的第一选择可能还是这玩意应该放在哪里,具有强耦合性的东西,大概率还会被分配到原来强相关的地方,完全看起来的新的东西,可能会新起一个模块。而如果这个东西很小,或者看起来都不是太强相关(这里的意思是有点相关,但是扯扯也能够扯到别的地方去),那么任务分配到哪个团队,就放到哪个团队维护的模块。问题来了,分配到哪个团队,有人员紧张,项目紧张的时候,可能就是哪里还能够塞进一点任务,就塞到哪里了。
网友评论