知识卡片

架构头衔过程制品三分离

结构图卡 · 1958.v

内容

讨论软件架构时容易把三件事混为一谈:工作头衔(”架构师”这个岗位角色)、开发过程(团队如何构建系统,如预先设计还是边做边设计)、工程制品(最终呈现的架构本身)。三者相互独立:有架构师头衔不代表设计好,没有架构师头衔的团队也可能产出优秀架构;只看最终系统几乎无法反推团队走了哪种开发过程;架构是可以脱离头衔和过程被独立分析、理解、设计的产出物。这解释了为什么”反对架构”的开发者,反对的往往是官僚化的预先设计过程,而不是架构本身。

结构图:

flowchart LR
    A["工作头衔<br/>(架构师这一岗位角色)"] -.独立于.- B["开发过程<br/>(预先设计 vs 边做边设计)"]
    B -.独立于.- C["工程制品<br/>(最终呈现的架构本身)"]
    A -.独立于.- C
    C --> D["架构可被独立分析、理解、设计<br/>不依赖头衔与过程"]

参考来源

- 位置:《恰如其分的软件架构》第1章《概述》1.5节《架构师构建架构》(源文件:_epub-src/OEBPS/text00009.html) - 结论依据:原文明确指出"工作头衔、开发过程及工程制品三者是可分离的",并逐一举例说明三者互不决定:看不出团队用了哪种过程、有无架构师头衔不代表设计好坏,架构是可独立分析的工程制品。 - 原始内容:工作头衔、开发过程及工程制品三者是可分离的,因此重要的是,要避免将"架构师"的工作头衔、构建系统的过程及工程制品(即软件架构)这三者混为一谈。