为谁而复杂?

主要观点:

  • 在工程组织中常讨论“复杂性”,但很少在正确语境下讨论,应考虑“对谁复杂”。
  • 大型组织中团队会专业化,成员 priorities 不同,易引发对复杂性的讨论,应权衡利弊决定简化或留下问题让下游解决。
  • 对复杂性的抱怨往往是“对发表意见的人复杂”,不同人眼中的复杂程度不同,内部和外部服务都有各自的复杂性。
  • 关于“使用什么工具”的决策会导致“复杂性成本”,有时为减少复杂性会带来技术风险和维护负担。
  • 要摆脱系统性复杂性,去除上限自损复杂性重要,达到下限复杂性时权衡变为零和,去除一处复杂性可能导致别处增加。

关键信息:

  • 不同角色对复杂性的看法和承担的负担不同,如运维和开发人员。
  • 内部和外部服务都有复杂之处,如 EKS 服务的维护等。
  • 决策导致的复杂性成本及影响,如合同限制带来的问题。

重要细节:

  • Fred Brooks 提出“Essential Complexity”来指代“下限复杂性”。
  • 大型组织中人员激励和分工导致对复杂性的不同态度。
  • 不同视角下简单和复杂的差异,如 Chesterton's fence 所指。
  • 讨论复杂性时应思考其含义、是否可取及对其他方面的影响等。
阅读 18
0 条评论