知识卡片

康威定律:开发团队而非客户角色

普通读书笔记卡 · 1959.d

内容

康威定律指出系统设计方案的结构会与组织的沟通结构保持一致,但要注意,”与设计相匹配的团队结构”指负责开发的团队组织,而非使用软件的客户团队。反例:某通信产品架构师错误地按”营业员”与”消费者”两种客户角色,把系统拆成后台管理系统和服务门户两个独立子系统,结果两边重复实现资费套餐管理、话单查询等相似业务,产生大量重复代码——后续做话单数据库分库分表时,两个子系统的查询功能都要改一遍。

参考来源

- 位置:《解构领域驱动设计》第1章《软件复杂度剖析》1.2.2节《结构》(源文件:_epub-src/OEBPS/010.xhtml) - 结论依据:原文引用康威定律原始表述,强调其适用对象是开发团队组织而非客户使用角色,并用通信产品按营业员/消费者两种客户角色错误拆分系统、导致重复代码和维护成本上升的真实案例佐证。 - 原始内容:与设计方案相匹配的团队结构指的是负责开发的团队组织,而非使用软件产品的客户团队。……最初,设计该产品的架构师就错误地按照这两种不同的角色,将整个软件系统划分为后台管理系统与服务门户两个完全独立的子系统……两个子系统产生了大量重复代码。