技术调研方法论 · 第 5 课(完结)

收尾:调研不留痕,等于没调研

漏斗走完了,证据在手。最后两个固定动作:把决策写成一页 ADR,把技术钉上团队雷达。这一课教两者的写法,并把 EnergyPlus 案例完整收官。

⏱ 约 18 分钟 📌 前置:第 4 课(spike 设计) 📎 调研手册 📎 术语表

知识点一:ADR——一两页,五个节,不可改写

ADR(Architecture Decision Record)出自 Michael Nygard 2011 年的原文 Documenting Architecture Decisions,五节结构,全文一到两页,对话式写作:

写什么(调研场景的对应物)
Title 标题简洁名词短语,带编号:「ADR-007 采用 EnergyPlus 作为能耗模拟引擎」
Context 背景各方力量的客观陈述:调研问题句 + 三层漏斗的证据摘要(初筛结论、矩阵得分、spike 实测值),全部留链接
Decision 决策完整句子、主动语态:"我们将采用 X"——以及不采用了谁、为什么
Status 状态Proposed 提议 / Accepted 已接受 / Superseded 已废止
Consequences 后果正负都写:得到什么,付出什么(学习成本、运维负担、花掉的创新代币),以及什么条件下应重新评估

两条纪律:

  1. "不采用"也写 ADR。「ADR-008 不引入 X 工作流引擎」和采用记录一样值钱——它防止半年后换个人把同一个坑重新调研一遍。调研的全部证据只有落进 ADR 才算资产。
  2. ADR 不可改写,只可废止。决策后来被推翻?写一篇新 ADR,把旧的标为 Superseded 并互相链接。历史决策连同它当时的理由都是团队记忆——删掉或原地改写,等于销毁"我们为什么曾经这么想"的证据。

知识点二:EnergyPlus 案例收官(示例 ADR)

展开:ADR-007 采用 EnergyPlus 作为能耗模拟引擎(教学示例)

Status:Accepted(2026-07-30)

Context:楼宇 SaaS 需新增能耗模拟能力。调研问题句:EnergyPlus 能否满足单栋楼年度模拟 ≤ 60s、Python API 集成、license 允许商用闭源?三层证据:①初筛——DOE 出资、国家实验室维护、半年一发版、BSD-3,健康度高(初筛记录);②对标——精度与维护成本占优,耗时与数据转换两项存疑(矩阵);③spike——真实楼宇模型年度模拟实测 41s(判定线 60s,通过);数据转换脚本 1.5 人天跑通(判定线 2 人天,通过)。备选"自研简化模型"在精度维度不满足行业对标要求。

Decision:采用 EnergyPlus 作为能耗模拟引擎,经官方 Python API 集成,模拟任务走异步队列。不采用自研简化模型作为主引擎(保留其作线上快速估算的候选,另行立项评估)。

Consequences:(+)行业基准级精度;上游机构维护,跟随半年发版节奏升级。(−)花掉一枚创新代币:团队需建立建筑热工学基础知识;C++ 构建链使容器镜像变重约 800MB;输入格式转换脚本成为需长期维护的资产。重新评估条件:上游发版停滞两个周期,或模拟量级增长使单机耗时突破判定线。

注意 Context 一节:三层漏斗的产出(初筛结论/矩阵/spike 报告)逐层链接——ADR 是漏斗的收口,不是重写。spike 数字为教学示例。

知识点三:团队技术雷达——决策的台账

单篇 ADR 是点,技术雷达是面:团队所有技术判断的一张总图,四环语义(Thoughtworks 模型):

语义动作
Adopt默认选择,成熟可靠新项目直接用,不必重新调研
Trial值得用,但先在能承受失败的项目上限定范围试用,定复盘时间
Assess值得研究,尚不建议投产允许 spike,不允许上生产
Hold暂缓:新项目不再引入存量不强拆,增量禁止

落地办法(半小时起步):Google Sheet / CSV 列出技术项,粘进 Thoughtworks 免费的 Build Your Own Radar 工具即得交互式雷达图(开源可私有部署)。两条运营规则:

  1. 每个环位必须有 ADR 支撑——雷达是决策台账,不是愿望清单。没走过漏斗的技术不许上雷达。
  2. 半年复盘一次:Trial 的到期结论?Assess 的要不要升级或出局?Hold 的存量退干净没有?EnergyPlus 按 spike 结论进 Trial(首个真实项目验证后再议 Adopt)。
课程闭环 至此方法闭环:问题句立题(第 1 课)→ 三层漏斗产证据(第 2~4 课)→ ADR 留痕 + 雷达定位(本课)→ 下一次有人再问"这技术能不能用",先查雷达和 ADR,大多数调研在第 0 步就该结束——这正是方法论省时间的终极方式。

随堂测验

1. 调研结论是"不采用",还需要写 ADR 吗?
2. ADR 的 Consequences(后果)一节应该写什么?
3. 当年的决策后来被推翻了,原 ADR 应该怎么处理?

结业练习(30 分钟)

二选一,做完本课程结业:

  1. 收官 EnergyPlus:把第 1 课以来的调研串成一页 ADR(五节齐全,Context 里引用三层证据;spike 数字可用本课示例)。写完对照知识点二的示例自查。
  2. 给团队建雷达 v0.1:列出你们当前技术栈里的 10 项技术,各定一个环位 + 一句话理由。标出其中哪几项其实没有任何决策记录支撑——那就是你们的 ADR 欠账清单。

发回对话里,我来点评。之后你手里的每一次真实调研,都欢迎按漏斗贴回来一起过。

课后延伸

主推资料源Nygard 的 ADR 原文(10 分钟读完,ADR 的一切变体都源于此);模板与各语言示例见 ADR 模板集;自建雷达用 Build Your Own Radar

💬 想让我帮你审第一篇真实 ADR、或把团队技术台账整理成雷达——回到对话里直接开工。

← 第 4 课:spike 设计 🎓 课程主线完结 · 调研手册 常备手边