2926 字
约 9 分钟
14
S25-A05 · 技术写作:把方案、复盘与文档写出作用

写了不少文档,评审时没人点开,出事时没人回看,半年后自己都不敢照着执行。原因通常不是文笔,而是文档没有明确"要读者做什么"——它记录了过程,却没有改变任何人的行为。判断一份文档有没有用,只看一件事:读者读完之后的动作,是否与不读时不同。


1. 目标:改变读者行为

文档 读者 读完后应该发生的动作
方案 决策者、相关团队 批准、否决,或提出具体异议
复盘 当事团队、管理者 改流程、改监控、改优先级
操作手册 执行者(可能是三个月后的自己) 按步骤做完,并在验证点确认
背景说明 后来者 不再重复问同样的问题

写之前先写一句"读完请做 X"。写不出这句,说明文档还停在自我表达阶段。


2. 三类文档的骨架

方案:问题 → 目标与非目标 → 选项 → 取舍 → 建议 → 验证方式 → 风险
复盘:时间线 → 影响 → 根因 → 处置过程 → 改进项(含负责人与期限)
手册:前置条件 → 步骤 → 验证点 → 回滚 → 常见失败
类型 必答项 最常见的缺失
方案 为什么不是别的方案 只写"我们打算这么做"
复盘 根因与改进项的对应关系 改进项与根因无关
手册 怎么确认做对了 只有步骤,没有验证

3. 方案文档:没有选项就没有方案

段落 必须回答 不合格的写法
问题 现状造成了什么可观测损失 "为了提升系统能力"
目标/非目标 这次不解决什么 目标列了八条,没有非目标
选项 至少两个可行方案 只有一个方案,其余是 straw man
取舍 每个选项的代价与失效边界 只列优点
建议 选哪个,为什么现在选 "请领导决定"
验证 上线后用什么指标判断成功 "观察一段时间"
**选项 B:异步补偿(推荐)**
- 收益:峰值削平,失败可重试
- 代价:状态可见延迟到秒级;需要新增补偿任务与对账
- 失效边界:补偿任务积压时,用户看到长时间"处理中"
- 不选它的条件:若业务要求强一致,退回选项 A

"没有选项就没有方案"的实质是:决策者需要的是取舍结构,不是单一结论。只有一个选项时,评审退化成背书,风险也就没人看。


4. 复盘:避免写成检讨

段落 内容要求 常见偏差
时间线 事实时间戳,不含评价 把推测写成时间点
影响 用户/收入/数据的量化口径 只写"影响部分用户"
根因 机制链条,能推出"下次怎么防" 停在"人为失误"
处置 何时发现、何时止血、谁决策 只写最终方案
改进项 每条对应一个根因,带负责人与期限 改进项与根因无关
**根因**
配置项 `pool.max` 未随实例规格调整(机制)
→ 高峰期连接耗尽(触发)
→ 重试无退避放大流量(放大)
改进项 1 对应第一环:配置纳入启动自检
改进项 2 对应第三环:重试加指数退避与上限

判据:根因写到"能直接推出改进项"的粒度为止。"某人操作失误"不是根因,是现象;往下一层问"为什么这个操作没有拦截",才是根因。


5. 操作手册:验证点比步骤重要

部分 作用 缺了会怎样
前置条件 版本、权限、依赖、备份 执行到一半才发现缺权限
步骤 可直接复制的命令 读者要自行翻译
验证点 每步之后如何确认成功 错了也继续往下走
回滚 回到上一步的具体命令 出事时现场 improvisation
常见失败 报错与对策 同一问题被重复排查
# 步骤 3:切流量到新版本
# 验证:两个版本都在返回 200,且新版本占比符合预期
curl -s -o /dev/null -w '%{http_code}\n' https://example.com/health
# 回滚:把权重改回 100/0,再确认旧版本健康检查通过

手册的读者是未来的自己:写的时候假设自己已经忘了上下文,只剩这份文档。


6. 读者定位决定详略

读者 关心 可以省略
决策者 结论、代价、风险 实现细节、命令
执行者 步骤、前置条件、验证 背景论证
后来者 为什么这样设计 当时的临时手段

同一份材料服务三类读者时,正确做法是分层:结论与取舍在前,实现附录在后,而不是折中成一份谁都不满意的中等详略。


7. 写作顺序

1. 先写结论与建议(三到五句)
2. 再写支撑结论的三条理由
3. 再写取舍与被否决的选项
4. 最后补数据、附录、命令
5. 回读第一段:它是否已经能让人做决定

先写论证再写结论,几乎必然写成"过程记录":读者要读到最后才知道你想干什么。倒金字塔结构不是文风偏好,而是降低读者的决策成本。


8. 图表的边界

场景 用图 用文字
调用链、时序、状态迁移 ✅ 一张图省三段 文字要读者自己拼
两三个数值对比 表格足够 图反而增加阅读成本
取舍权衡 表格(选项×维度) 折线图会误导
精确流程步骤 编号列表 流程图看不出"必做"

判据:这张图能否替代三段以上的文字。不能,就别画——维护一张过期的图,比没有图更危险。


9. 术语一致性

反例 问题 改法
同一概念交替用"任务/作业/Job" 读者以为是三个东西 首次出现给定义,之后固定一个词
"服务"既指进程又指团队 责任主体混淆 进程叫 service,团队叫 team
中英混用同一名词 检索失效 术语表规定主用词,括号给别名

术语表不需要长,五到十个词就够,但它必须在项目内被引用,否则只是装饰。


10. 存放与检索

决策 选项 判据
放哪 代码库 / wiki / 文档平台 是否与代码同生命周期
谁维护 作者 / 属主团队 有没有明确的最后责任人
过期怎么标 顶部状态行 / 目录归档 读者能否三秒判断可信度
怎么找 命名规范 / 索引页 / 全文搜索 新人能否独立找到
> 状态:有效(最后核对 2026-11,适用 v2.x)
> 属主:平台组 过期条件:v3 发布后失效

与代码强耦合的文档(接口、部署步骤)放代码库,随 PR 一起改;决策类文档放可检索的地方,但要留状态行。


11. 时间投入与收益

写一份方案:2 小时
没有它:评审会 1 小时 + 后续 5 次单独解释 × 15 分钟 ≈ 2.2 小时
第二次复用(新人、交接、半年后自查):再省一次同等时间
结论:文档的收益在第 2 次被读时才为正,只读一次的场景不必写

这不是鼓励多写,而是给出写与不写的分界线:会被反复读、会被多人读、会在没有作者在场时被读——三条中占一条,才值得结构化。


12. 评审与修改循环

轮次 目标 常见错误
自评 结论能否独立成立 直接发给 reviewer
结构评审 段落顺序、必答项是否齐 一上来抠字
事实评审 数字、版本、引用可核对 用"大概""差不多"
定稿 状态行、属主、过期条件 忘了标状态
评审提问模板:
1. 这份文档要我做什么决定?
2. 有没有被我忽略的选项?
3. 哪一条结论缺少证据?

评审意见要么改,要么明确拒绝并写理由;悬空的意见会让下一轮评审失效。


13. 排错

现象 原因 处理
评审没人提意见 没有明确要决策的问题 开头写"请确认 A 或 B"
文档被读但没被执行 缺验证点与回滚 补可复制的命令
半年后无法照做 缺版本与前置条件 顶部加状态行
复盘像检讨 根因停在人为失误 往机制层追问一层
同一问题反复解释 结论埋在文中 结论前置,单独可引用
图与实现不符 图无属主 图与代码同库,随 PR 更新

14. 边界

场景 建议 理由
口头两分钟能说清 不写 结构化成本高于沟通成本
纯个人笔记 不要求结构 结构服务他人,不服务自己
一次性排查记录 记要点即可 复用概率低
代码能自解释的逻辑 不写重复说明 文档会与代码分叉
需要精确到行的说明 写进代码注释 注释与代码同处才不易过期

一句话收尾:技术文档的价值不在"记录了什么",而在"读者因此做了什么不同的事"。写不出这个"不同",就先别写。


15. 自测

  1. 如何用一句话判断一份文档是否值得写?
  2. 为什么"只有一个选项的方案"不算方案?
  3. 复盘的根因写到什么粒度才算够?
  4. 操作手册里哪一部分最常被省略,后果最严重?
  5. 什么情况下该用图,什么情况下表格更合适?
  6. 文档顶部的状态行解决了什么问题?
S25-A05 · 技术写作:把方案、复盘与文档写出作用
https://www.clxhxhhr.top/posts/6123/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。