核心问题
组织结构如何塑造系统架构?
工程困境
前端团队和后端团队长期不沟通,API 就会难用。billing 和 course 团队边界不清,访问权就会乱写。
思想模型
康威定律:
设计系统的组织,其产生的设计等同于组织间的沟通结构。
微服务拆分,本质上也是组织边界拆分。
好判断
拆服务前问:
是否有独立团队?
是否有独立发布节奏?
是否有清晰数据所有权?
是否值得承担跨服务协调成本?
Atlas Action
画一张团队沟通图,再画一张服务依赖图。看它们是否互相打架。
小结
不理解组织,就很难理解架构为什么长成这样。