技术调研方法论 · 第 4 课

第③层展开:spike 是实验,不是开发

第②层圈出了存疑项,现在花 1~3 天买答案。这一课教 spike 的三件套:把存疑项写成可判定的实验假设、切出最薄垂直切片、守住时间盒纪律。

⏱ 约 18 分钟 📌 前置:第 3 课(能力对标) 📎 调研手册 📎 术语表

知识点一:先写假设,再写代码

spike(XP 实践)与日常开发的根本区别:开发的产出是能用的代码,spike 的产出是一个问题的答案。所以开工前,每个存疑项必须先写成实验卡——一张卡三行字:

存疑项:EnergyPlus 单栋楼年度模拟耗时未知
假  设:在我们的标准容器规格上,真实楼宇模型跑一次年度模拟 ≤ 60 秒
判定线:≤ 60s 通过;60~120s 存疑(记录,评估异步化方案);> 120s 不通过

判定线必须开工前写死。跑出 90 秒才开始讨论"90 秒行不行",结论一定被沉没成本绑架——都跑到这了,谁舍得说不行?

✗ 探索式 spike "先把 EnergyPlus 跑起来,看看有什么发现。"——没有判据,三天后只有一堆笔记,没有结论。
✓ 实验式 spike 两张实验卡:①年度模拟耗时 ≤ 60s?②一栋真实楼的数据转成 epJSON 输入,人工成本 ≤ 2 人天?每张卡有判定线。

知识点二:最薄垂直切片怎么切

最薄垂直切片:从你的真实输入到你要的真实输出,端到端打穿一条最担心的路径,宽度压到最窄。三条切法规则:

  1. 垂直,不是水平:不是"每个功能都试一点"(那是 demo),而是一条路走到黑。EnergyPlus 例:真实楼宇数据 → 转换成输入格式 → Python API 调用 → 拿到年度能耗结果 → 核对量级。中间任何一环断了都算发现。
  2. 用真实数据:官方示例数据是铺好的路。你的楼宇数据里那些缺失字段、非标准围护结构,才是集成成本的真相。
  3. 砍掉一切旁支:UI 不做、异常处理不写、性能不调、代码不抽象。硬编码可耻但有效——spike 代码的寿命只有几天。
选路原则:最担心的先走 切片走哪条路?挑判定失败会直接否决候选的那条。耗时超标会否决 EnergyPlus → 先测耗时;数据转换贵三倍不会否决但影响排期 → 排第二。风险从高到低,时间盒用完为止。

知识点三:时间盒纪律与 spike 报告

收工产出一页 spike 报告,三段式,直接喂给下一课的 ADR:

① 假设与判定线(开工前写的,原样贴)
② 实际做了什么(环境、数据、路径,一段话)
③ 证据与结论(每张实验卡:测得值 → 过/不过/存疑)

随堂测验

1. spike 实验假设的正确写法是?
2. "最薄垂直切片"指的是?
3. 时间盒到了 spike 还没跑通,应该?

实战练习(15 分钟)

接第 3 课工作流引擎场景(或用你手头真实的调研)。假设第②层留下了这两个存疑项:

为每个存疑项写一张实验卡(存疑项 / 假设 / 判定线三行),并回答:两张卡先做哪张,为什么?时间盒各给多长?

发回对话里,我来点评——重点看:判定线是否可判定、先后排序是否按"否决性风险优先"。

课后延伸

主推资料源:回读 Choose Boring Technology 中"你对老技术的失败模式了如指掌,对新技术的失败模式一无所知"一节——spike 的全部意义,就是在签字采用前,花最小的钱把未知的失败模式变成已知。

💬 实验卡不会写、切片不知道从哪切——回到对话里把你的存疑项贴出来。

← 第 3 课:能力对标与评估矩阵 第 5 课:结论落地 ADR 与技术雷达 →