主要观点:
- 在工程组织中常讨论“复杂性”,但很少在正确语境下讨论,应考虑“对谁复杂”。
- 大型组织中团队会专业化,成员 priorities 不同,易引发对复杂性的讨论,应权衡利弊决定简化或留下问题让下游解决。
- 对复杂性的抱怨往往是“对发表意见的人复杂”,不同人眼中的复杂程度不同,内部和外部服务都有各自的复杂性。
- 关于“使用什么工具”的决策会导致“复杂性成本”,有时为减少复杂性会带来技术风险和维护负担。
- 要摆脱系统性复杂性,去除上限自损复杂性重要,达到下限复杂性时权衡变为零和,去除一处复杂性可能导致别处增加。
关键信息:
- 不同角色对复杂性的看法和承担的负担不同,如运维和开发人员。
- 内部和外部服务都有复杂之处,如 EKS 服务的维护等。
- 决策导致的复杂性成本及影响,如合同限制带来的问题。
重要细节:
- Fred Brooks 提出“Essential Complexity”来指代“下限复杂性”。
- 大型组织中人员激励和分工导致对复杂性的不同态度。
- 不同视角下简单和复杂的差异,如 Chesterton's fence 所指。
- 讨论复杂性时应思考其含义、是否可取及对其他方面的影响等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。