第二章 康威定律为何如此重要

康威定律现代版本:

  • 如果系统的架构和组织的架构不一致,那么组织架构将会成为赢家;

逆康威定律:

  • 组织需要通过团队和组织结构的改进来实现预期的软件架构;

经过验证的软件架构良好实践:

  1. 松耦合:组建不强依赖于其他组件;
  2. 高内聚:组件拥有清晰的指责边界,并且它们的内部元素强相关;
  3. 清晰合理的版本兼容性;
  4. 清晰合理的跨团队测试;

小心那些流于表面的康威定律,错误地解读康威定律可能会带来风险:

  1. 工具:盲目地为整个组织选择单一的工具是不合适的,如果两个团队的职责边界没有交集,那么还坚持使用相同的工具就没有什么价值了。用一句话概括来说就是:独立团队使用独立工具,协作团队使用共享工具;
  2. 多组件团队:很多组织草率地按照康威定律建立了大量不同的组件团队来分别构建系统的各个小部分;
  3. 通过反复的组织结构调整来建立山头或减少人员;