1. 课程导入

在软件研发的日常工作中,我们几乎每天都在做决策:数据库选 MySQL 还是 PostgreSQL?服务拆分按业务域还是按团队?缓存用 Redis 还是本地 Caffeine?接口用 REST 还是 gRPC?这些看似零散的选择,累积起来就构成了系统的骨架。问题在于,很多团队做了决策,却没有留下决策的"痕迹"——半年后新人问"为什么当初不用消息队列解耦",没人答得上来;或者同一个技术选型在三个项目里出现三种做法,架构逐渐失控。架构决策与技术方案治理,正是为了解决"决策如何被做出、被记录、被复用、被约束"这一系列问题而存在的方法体系。

一、什么是架构决策

架构决策(Architecture Decision)指的是:对系统结构、关键质量属性或技术路线产生实质性影响,且变更成本较高的选择。它有三个判定特征:

  • 影响面大:会约束多个模块、多个团队或后续多个迭代的设计空间。
  • 变更成本高:一旦落地,回退需要付出显著的重构、迁移或数据改造代价。
  • 存在真实取舍:至少有两个可行方案,各自在性能、成本、复杂度、可维护性上互有优劣。

反过来说,"变量命名用驼峰还是下划线""日志级别默认 INFO 还是 WARN"这类局部、低成本的约定,属于编码规范或团队约定,不必上升到架构决策层面。区分这一点很重要,否则决策记录会被大量琐碎条目淹没,治理也就失去了焦点。

二、什么是技术方案治理

如果说架构决策是"点",技术方案治理就是"面"。它是一套持续运行的机制,用来保证技术选择在组织范围内保持一致性、可追溯性和可演进性。它通常包含四个动作:

  1. 决策产生:明确谁有权决策、依据什么信息决策、需要哪些人参与评审。
  2. 决策记录:把背景、选项、结论、理由和后果固化下来,形成可检索的资产。
  3. 决策执行:通过规范、脚手架、模板、门禁检查等方式,让决策真正落到代码和部署里。
  4. 决策复审:当业务或技术前提变化时,主动重新评估旧决策是否仍然成立。

治理不是审批,更不是"卡流程"。好的治理让正确的做法成为默认路径,让偏离需要理由,而不是让每个团队都从零开始摸索。

三、边界:治理管什么,不管什么

治理最容易失败的方式是"什么都管"。清晰的边界应当这样划定:

属于治理范围不属于治理范围
跨系统的技术选型与集成方式单个类的方法内部实现
关键质量属性的目标与验证方式日常的代码风格与命名细节
服务边界、数据所有权、接口契约某个页面的交互微调
技术栈的引入、升级与淘汰临时性的排查脚本
安全、合规、成本等硬约束团队内部的排班与分工

边界之外的事情交给团队自治,边界之内的事情必须有明确结论。这条线画得越清楚,治理越容易被接受。

四、核心价值

治理的价值可以归纳为四点:降低认知负荷(新人不必重新推导历史结论)、减少重复决策(相似场景直接复用)、控制架构漂移(偏离能被及时发现)、提升变更效率(知道约束在哪,改动就有边界)。它最终服务的是系统的长期可维护性和组织的交付速度,而不是文档本身。

五、本课程的学习路径

整个课程围绕"决策—记录—执行—复审"这条主线展开,从概念、方法、工具到案例逐步深入。下图展示了本课程的知识结构与实战目标之间的关系:

架构决策与技术方案治理 · 学习路径 ① 概念与边界 决策判定标准 治理范围划分 ② 决策方法 质量属性权衡 方案对比与评估 ③ 记录与执行 ADR 编写规范 落地与门禁检查 ④ 复审与演进 决策生命周期 技术债与淘汰 治理闭环:决策产生 → 记录 → 执行 → 复审 决策产生 决策记录 决策执行 决策复审 前提变化时触发重新评估 实战目标:可交付的治理资产 ADR 决策记录 背景/选项/结论 技术选型评估表 权重/评分/依据 治理检查清单 门禁/偏离处理 复审触发条件 时间/事件驱动

可以看到,课程不是停留在"讲道理",而是要求你在学习过程中逐步产出四类可交付资产:一份完整的 ADR、一张技术选型评估表、一份治理检查清单,以及一套复审触发条件。这些资产可以直接带回团队使用。

六、一个贯穿课程的示例场景

为了让抽象概念有落点,课程会持续使用一个示例场景:某电商团队正在把单体订单系统拆分为微服务,面临"订单与库存是否共库""同步扣减还是异步最终一致""是否引入消息中间件"等决策。这些决策影响面大、变更成本高、存在真实取舍,正好符合架构决策的判定标准。后续章节会围绕它演示如何识别决策点、如何用质量属性场景做权衡、如何写出可追溯的 ADR,以及当业务量增长十倍时如何复审旧结论。

学习建议:每学完一个方法,就回到自己手上的真实系统,找出一个尚未记录的架构决策,按课程模板补一份 ADR。治理能力来自实践,而不是阅读。
常见误区:把治理等同于"写文档"或"加审批"。文档只是载体,审批只是手段。治理的真正目标是让技术选择可追溯、可复用、可演进。如果一套流程只增加了负担却没有提升这三项能力,就应该被简化或废弃。

本章建立了三个基本认知:架构决策是有明确判定标准的、技术方案治理是一套持续机制而非一次性动作、治理必须有清晰边界。接下来的章节将沿着"决策—记录—执行—复审"这条主线,逐层展开具体方法与工具。