SH

Soloharness

概念 · 辨析 · Agent

← 返回概念辨析

Concept Contrast Fable

回滚和回滚计划

回滚是一个动作——把系统从当前版本回到上一个版本。回滚计划是一整套预案——什么条件触发回滚、谁来执行、执行步骤是什么、多久完成、回滚后怎么验证、失败怎么办。有回滚能力不代表有回滚计划。半夜三点系统崩了,值班工程师按下回滚按钮系统起不来——因为他按的是去年写的脚本,中间改了数据库结构,脚本已经不兼容了。

寓言

跳伞和跳伞预案

跳伞俱乐部的教练老项带学员上飞机之前,每次都会问一个问题:主伞打不开怎么办。新学员都答得干脆——拉备用伞。老项接着问:备用伞也打不开呢。学员愣住了。老项说:我不需要你答得出,我需要你知道有这个问题,然后照着预案练。

俱乐部办了一届培训班,学员学完三天就发证。考试项目只有一个:主伞打不开就拉备用伞,备用伞拉开落地就行。结业率很高,俱乐部赚了不少钱。老项心里不踏实,但说不出哪里不对。

半年后出了事故。学员在八百米高度主伞打不开,拉备用伞,备用伞开是开了,但缠绕在主伞绳上。学员慌了,没有处理缠绕的经验,摔断了腿。事故调查报告指出:考试只考了「拉备用伞」这个动作,没考「备用伞出问题时怎么办」这整条逻辑链。

老项把培训体系推倒重来。新的培训加了三层。第一层,上机前做情景演练:跳伞高度、风向、身体姿态、主伞和备用伞的故障组合,每一种都要练到肌肉记忆。第二层,每次跳伞前强制做简报:今天飞多高、飞多久、哪片空域、风向预报、备用伞检查谁签字。第三层,每次跳伞后强制做复盘:今天有没有人触发过备伞、触发的原因、备伞表现、有什么要更新到下一次简报里。

新体系推行后,老项发现最大的变化不是事故率——事故本来就少,样本太小看不出。是学员的心态变了。以前学员只记住了「拉备用伞」,心是悬的。现在学员知道每一步之前该确认什么、遇到意外该朝哪个方向转、转不动该做哪个替代动作。心里有整条路径,手就不抖。

有同行来取经,问老项:你不就是让学员多练了几遍拉备用伞?老项拿出新旧两份培训大纲摊在桌上:旧的只有一行——「主伞故障时拉备用伞」。新的有十七页——包含触发条件、执行步骤、失败场景、替代方案、复盘流程。老项说:多练几遍只解决动作熟练度,不解决预案覆盖度。

跳伞协会后来把老项的培训大纲改成了行业标准。序言里写了一段话:拉备用伞是本能反应,设计备用伞拉不开之后的连续决策链才是专业能力。本能反应救不了意外,预案才能救。

老项的学员后来在各行各业都当了教练。有人做系统运维的培训,把老项那套做法搬了过去:不要只看团队会不会执行回滚命令,要看有没有一份回滚计划——从触发条件写到恢复确认,从主路径写到所有分支失败场景。

回滚

将系统或配置从当前版本恢复到之前某个稳定版本的操作动作。它是一个执行步骤,关注的是「能不能退回去」。

回滚计划

覆盖触发条件、决策权限、执行步骤、时间窗口、验证方法、失败场景和沟通预案的系统性回滚方案。它关注的是「从决定回滚到确认恢复正常这整条链路的安全可控」。

故事对应

  • 拉备用伞这个动作:回滚——一个可执行的操作步骤。
  • 老项的新培训三层架构:回滚计划——覆盖触发条件、执行流程、失败场景和复盘。
  • 备用伞缠绕后学员不知怎么办:有回滚能力但没有回滚计划,意外场景不在预案内。
  • 旧大纲一行,新大纲十七页:回滚计划的覆盖深度远超回滚动作本身。
  • 整条路径心里有数手就不抖:回滚计划的核心价值是降低执行时的决策不确定。

落到项目里

每次上线前确认两个东西。第一,回滚命令在当前版本上还能不能跑——数据库迁移、配置格式变更、依赖升级之后,旧的回滚脚本可能已经失效。第二,回滚计划里有没有写「回滚失败怎么办」——回滚本身也可能出错。如果计划只覆盖了主路径,等于把最危险的场景留给了现场临时决策。另外,回滚计划需要像代码一样走评审,每季度至少演练一次。