技术调研方法论 · 第 1 课

研究一门陌生技术:三层漏斗调研法

拿到一个从没听过的技术(比如开源能耗仿真引擎 EnergyPlus),怎么在有限时间里得出"用还是不用"的可靠结论?答案不是"读源码",而是一条带时间盒的漏斗。这套方法对任何技术通用。

⏱ 约 18 分钟 📌 前置:无 📎 调研手册(速查)

知识点一:调研始于问题,不是始于技术

最常见的失败调研长这样:git clone → 跑通官方示例 → 写一篇"XX 技术初探"。忙了三天,还是回答不了"我们该不该用它"。因为它从头到尾没有一个要回答的问题

正确的第一步是写出调研问题句——一句话,判据来自你要解决的问题的质量要求(性能、可集成性、可维护性……)与红线约束(license、合规、技术栈、预算):

✗ 无效目标 "研究一下 EnergyPlus。"——没有判据,永远无法宣布调研完成。
✓ 调研问题句 "EnergyPlus 能否作为我们楼宇 SaaS 的能耗模拟引擎:单栋楼模型年度模拟 ≤ 60 秒,可被我们的 Python 服务通过 API 调用,且 license 允许商用闭源集成?"

注意问题句里每个条件都可度量、可判定——写不出这样的句子,说明你还不知道自己为什么调研,先回去把需求想清楚。(判据的系统写法可参考姊妹课程《技术架构方法论》第 1 课的质量属性场景,非必读。)

关键认知:创新代币 Dan McKinley 的著名论断(Choose Boring Technology):一家公司只有大约 3 枚创新代币,每引入一门团队不熟的新技术就花掉一枚。所以调研的默认答案是"不引入,用现有的无聊技术"——新技术必须用证据赢得代币,举证责任在它,不在你。

知识点二:三层漏斗——每层更贵,所以每层要淘汰

调研成本逐层上升(30 分钟 → 半天 → 1~3 天),所以要像漏斗一样:便宜的检查放前面,尽早淘汰不合格候选,最贵的验证只留给幸存者。

时间盒*做什么产出
① 资质初筛
看"这个项目会不会死"
30 分钟/候选 不看功能,只看项目健康度:定位(README 第一段)、license、发版节奏、维护方是谁、文档与社区、issue 响应。可用 OpenSSF Scorecard 自动打分辅助。 候选从 N 个 → 2~3 个
② 能力对标
看"它接不接得住我们的场景"
半天/候选 不写代码,只读文档与架构:把问题句的判据逐条对到官方文档找证据,填评估矩阵权重先定、后打分,防止先有结论再凑分);红线项(license/合规/平台)单列,一票否决。 矩阵得分 + 存疑项清单
③ 限时试点
看"存疑项到底成不成立"
1~3 天 XP 的 spike:用真实数据跑通"最薄垂直切片",专测第②层的存疑项,不做 demo。代码写完即弃,时间盒到点必停。 每个存疑项的实证 → 结论

* 时间盒是课程给的默认值,按决策的重要程度伸缩;但"有时间盒"本身不可省略——没有截止点的调研会无限膨胀。

反模式警报:demo 驱动调研 跑通官方 quickstart 就写"调研通过"。官方示例是作者精心铺好的 happy path,只能证明"安装没坏",证明不了它扛得住你的数据量、你的集成方式、你的异常路径。spike 必须测存疑项,不是复跑教程。

知识点三:用 EnergyPlus 走一遍第①层

github.com/NatLabRockies/EnergyPlus 为例,30 分钟初筛实际看什么(信号 → 解读):

检查项EnergyPlus 的信号解读
定位README:全楼能耗仿真引擎,工程师/建筑师/研究者用于建模能耗与水耗与"能耗模拟"诉求对口,不是勉强凑合
维护方美国能源部(DOE)出资、国家实验室维护,官网 energyplus.net机构背书,非个人项目——bus factor 风险低
发版节奏每年 3 月、9 月两次正式发版,43,000+ 提交,CI 完整(单元/集成/回归测试)可预期的节奏比 star 数更能预测"三年后还活着"
LicenseBSD-3 类商用闭源集成无障碍——红线通过
技术形态C++ 内核 + Python API 绑定,文档在 ReadTheDocs与 Python 栈可集成;但 C++ 构建链重 → 记入存疑项
风险信号800+ 开放 issue;领域门槛高(建筑热工学)不必然是坏事(大项目 issue 天然多),抽查 10 条看响应速度再下结论

初筛结论示例:健康度高,进入第②层;带入的存疑项——单次年度模拟耗时是否 ≤ 60s?我们的楼宇数据转成它的输入格式成本多大?这两条文档答不了,最终要靠第③层 spike 用一栋真实楼宇模型实测。

调研结束的动作只有两个:结论写成 ADR(决策记录,含"不采用"——记下来,防止半年后有人重复调研一遍,模板见 ADR 模板集),并给该技术定一个技术雷达环位(Adopt / Trial / Assess / Hold)。

随堂测验

1. 调研一门陌生技术,正确的第一步是?
2. 关于第③层"限时试点(spike)",下列哪个说法是对的?
3. 初筛 EnergyPlus 时,哪个信号最能说明"长期维护风险低"?

实战练习(二选一,20 分钟)

  1. 初筛实操:设定调研问题句"能否用它给我们的产品加能耗模拟能力",打开 EnergyPlus 仓库,按调研手册第①层清单走 30 分钟,写出:健康度结论(过/不过)+ 2~3 条带进下一层的存疑项。
  2. 过往复盘:挑一门你的团队近两年实际引入的技术,倒推:当时如果走三层漏斗,会在哪一层发现后来才暴露的问题?那一层的哪个检查项能提前抓住它?

做完把你的结论发回对话里,我来点评——重点看:存疑项是否可度量、是否真的只能靠 spike 回答。

课后延伸

主推资料源:Dan McKinley 的 Choose Boring Technology(演讲文稿全文,20 分钟读完)——技术选型领域被引用最多的一篇,"创新代币"的出处。工具向:OpenSSF Scorecard 一条命令自动评估开源项目健康度;方法向:Thoughtworks Tech Radar 的四环模型可直接搬来做团队自己的技术台账。

💬 对某一层想深入(比如评估矩阵怎么定权重、spike 怎么切"最薄垂直切片")——回到对话里直接提问。

📎 调研手册(一页速查) 第 2 课:资质初筛精读 →