编程进阶网 编程进阶网
首页
  • 在线工具
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 加解密
  • 时间日期
  • 网络工具
  • 颜色设计
  • 二维码
  • 开发实用
  • 计算机组成原理
  • 操作系统原理
  • 网络协议原理
  • 数据库系统原理
  • 序卷导读
  • 数据本质
  • 运行模型
  • 并发设计
  • 内存真相
  • 交互系统
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 体系建设
  • 代码品质
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 性能优化
  • 数据结构导论
  • 线性结构详解
  • 树哈希结构论
  • 容器设计实战
  • 经典算法思想
  • 工程案例剖析
  • 算法题库精练
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++编程技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript案例
  • JavaScript高级
  • Android库解读
  • Android专栏
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • 毛选解读
  • 自我精进
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接

杨充

专注编程 · 终身学习者
首页
  • 在线工具
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 加解密
  • 时间日期
  • 网络工具
  • 颜色设计
  • 二维码
  • 开发实用
  • 计算机组成原理
  • 操作系统原理
  • 网络协议原理
  • 数据库系统原理
  • 序卷导读
  • 数据本质
  • 运行模型
  • 并发设计
  • 内存真相
  • 交互系统
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 体系建设
  • 代码品质
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 性能优化
  • 数据结构导论
  • 线性结构详解
  • 树哈希结构论
  • 容器设计实战
  • 经典算法思想
  • 工程案例剖析
  • 算法题库精练
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++编程技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript案例
  • JavaScript高级
  • Android库解读
  • Android专栏
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • 毛选解读
  • 自我精进
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接
  • 毛选选集解读

    • README
    • 毛选的框架地图
    • 毛选经典方法论
    • 毛选第一卷概括
    • 毛选第二卷概括
    • 毛选第三卷概括
    • 毛选第四卷概括
    • 辩证思维矛盾论法
    • 科学方法实践论法
    • 毛选中的调查观念
    • 毛选中实事求是论
    • 毛选中群众路线法
    • 透过现象去看本质
    • 毛选知行的统一论
    • 毛选中一分为二法
    • 毛选中主观能动性
    • 毛选农村包围城市
    • 毛选三个世界划分
    • 毛选中的战略观念
    • 毛选中藐视重视法
    • 毛选中的规划观念
    • 毛选中资源分配法
    • 毛选波浪式前进论
    • 毛选中独立自主论
    • 毛选枪杆出政权论
    • 毛选中统一战线策
    • 毛选抓主要矛盾论
    • 伤十指不如断其一
    • .毛选先打分散孤立
    • 毛选中解剖麻雀法
    • 毛选中动员指导法
    • 毛选中弹钢琴法则
    • 毛选中的谈判观念
    • 毛选中愚公移山论
    • 毛选中初战必胜策
    • 毛选中风险管理策
    • 不打无准备之仗论
      • 01.一个通宵上线
      • 02.市面误读之辨
      • 03.三层独家主张
      • 04.一九四七转折
      • 05.原文四维精读
      • 06.最小必要准备
      • 07.风险三问清单
      • 08.二八准备法则
      • 09.团队准备对齐
      • 10.一个反面教材
      • 11.三个认知陷阱
      • 12.三年认知复利
      • 13.收束三句金言
    • 毛选你打你我打我
    • 毛选中精兵简政论
    • 毛选中知人善任法
    • 毛选中劳武结合论
    • 毛选中官兵一致论
    • 毛选中基层建设法
    • 批评与自我批评论
    • 毛选关心群众生活
    • 政治工作生命线论
    • 论艰苦奋斗精神论
    • 如何管理心态之道
    • 毛选中好好学习论
    • 学会自我批评方法
    • 如何看待失败观念
    • 毛选终身学习观论
    • 放下包袱开动机器
    • 谦虚谨慎戒骄戒躁
    • 毛选甘当小学生论
  • 小人物的进修

  • 书籍
  • 毛选选集解读
杨充
2019-07-19
目录

不打无准备之仗论

# 不打无准备之仗论

所有你以为的"运气不好",拆开来看都是准备漏了一环。

# 目录介绍

  • 01.一个通宵上线
  • 02.市面误读之辨
  • 03.三层独家主张
  • 04.一九四七转折
  • 05.原文四维精读
  • 06.最小必要准备
  • 07.风险三问清单
  • 08.二八准备法则
  • 09.团队准备对齐
  • 10.一个反面教材
  • 11.三个认知陷阱
  • 12.三年认知复利
  • 13.收束三句金言

# 01.一个通宵上线

三年前我做了一件至今想起来都后怕的事。一个周五下午,产品经理把一份新功能的 PRD 拍在我桌上,说下周一要给大客户 demo。我估算了一下工作量——两天时间开发、半天测试、半天部署,勉强够。我说"没问题",就开始干了。

周六凌晨上线。周一 demo 场景是:用户在 App 里上传一张身份证照片,系统自动识别填充个人信息。我自认为核心流程已经跑通了——拍照、上传、识别、填充,每一步都在我的开发机上没问题。

周一上午 10 点,大客户的会议室。产品经理打开 App,拍照——成功。上传——成功。识别——卡住了。整整 2 分钟转圈。客户老总笑了一下说:"你们是不是还没准备好?"我后背全是汗。

回公司排查才发现问题:开发环境用的是裁剪后的测试图片(200KB),真实身份证照片是 3MB 以上的高清图。图片越大 OCR 接口耗时越长,而我只设置了 10 秒的超时——开发机上够用,真实环境直接炸了。我只准备了正常情况,没准备真实情况。

那天晚上我翻开毛选,毛泽东在《目前形势和我们的任务》里写的十个字像一记耳光打在我脸上:"不打无准备之仗,不打无把握之仗。" 我以为自己准备了,其实我连对手——真实用户的使用环境——都没搞清楚。这就叫"无准备之仗"。

# 02.市面误读之辨

市面上把"不打无准备之仗"讲成两种东西。第一种是"做事之前要列计划"。这句话没错,但它把准备工作讲成了写文档。真正的准备不只是列计划,是把所有可能导致失败的因素逐一排查并制定应对方案。列计划和做准备之间的差距,就像写了一份旅行攻略和实地踩过一遍路线之间的差距。

第二种更隐蔽——"不要冲动行事"。这听起来很有道理,但它暗示"冲动"的反面是"冷静思考"。毛泽东讲的不打无准备之仗,不是让你多想少动,而是让你在动手前把关键变量的边界值摸清楚。他本人就是一个动作极快的人,但他快的前提是前期的侦察和准备已经到了牙齿缝里。

这两种误读的共同病根是:它们把"准备"讲成了态度(要细心、要谨慎),而不是动作清单(要排查哪些变量、检查哪些边界、准备哪些预案)。态度让人安心,动作让人领先。

# 03.三层独家主张

第一层,准备的真正对象不是"正常情况",是"异常情况"。所有人都能为正常情况做准备——正常流量、正常数据、正常用户行为。但真正出问题的地方永远是异常——流量暴涨 10 倍、数据里有脏字段、用户在非标准环境下使用。你的准备质量不由"正常情况覆盖率"决定,由异常情况的覆盖率决定。

第二层,准备不是一次性的,是分层的。打一场仗需要三层准备:战略准备(为什么要打、打赢了能得到什么)、战术准备(怎么打、分几步、每步需要什么资源)、应急预案(如果哪一步失败,最小的回退成本是什么)。大多数人的准备只做第一层,就以为自己做完了。

第三层,准备的最终目的是让你"敢打"。很多人把"准备"当成了"拖延"的保护色——"我还没准备好"成了常用的借口。毛泽东讲的不打无准备之仗,不是为了让你永远不打,而是为了让你在准备好的那一刻立刻动手。准备和不打之间有一条极细的边界——跨过去是果断,跨不过去是拖延。

# 04.一九四七转折

1947 年 12 月,毛泽东在《目前形势和我们的任务》中正式提出十大军事原则,其中第五条就是"不打无准备之仗,不打无把握之仗"。这篇文章写于解放战争从战略防御转入战略进攻的关键时刻。

在这之前的两年,解放军经历了从被动防御到主动进攻的转折。1946 年 6 月国民党发动全面内战,430 万对 127 万——兵力比是 3.4:1。蒋介石的战略意图很清楚:用绝对优势的兵力在 3 到 6 个月内消灭共产党主力。

毛泽东没有硬顶。他让出城市,转入农村,每一场仗都在打之前做足了侦察、准备了退路、计算好兵力对比。他不打兵力对比低于 3:1 的仗——如果战场上做不到 3:1 的局部优势,他就不打。这就是"无把握之仗不打"的极端版本。

十大军事原则发表后,解放军的伤亡率大幅下降。以前平均每歼灭 1 个敌人自己要牺牲 1.5 个战士,到 1948 年下半年这个数字变成了 0.3。不是解放军变能打了,是每场仗在开打之前就已经算赢了。

# 05.原文四维精读

原文:"不打无准备之仗,不打无把握之仗,每战都应力求有准备,力求在敌我条件对比下有胜利的把握。"

请注意毛泽东用了两次"力求"。不是"必须",不是"一定",是"力求"。这两个字里藏着极强的实战意识——他承认完全的准备是不可能的,但你必须在开打之前做到你能做到的最好准备。这是实事求是的态度:不追求完美,但追求在现有条件下做到极致。

再看一个被忽略的词——"敌我条件对比"。毛泽东说的准备,不是在真空中准备,而是在对手的对比中准备。你的准备够不够,不由你说了算,由你和对手的差距说了算。如果你准备了 100 分,但对手准备的是 200 分,你还是没准备好。准备的唯一参照系是对手。

这段话写于 1947 年 12 月。此时解放战争已经打了一年半,解放军从 127 万发展到 195 万,国民党军队从 430 万人减少到 373 万人。毛泽东不是在给新手写兵法——他是在给一群已经打了 20 年仗的老兵写检查清单。这群人不会犯"忘了准备"的低级错误,但他们需要被提醒:准备的有效期很短,上一次的胜利不能用在这一个战场上。

这段话内部有一个张力:准备和行动是一对矛盾体。准备需要时间,行动需要速度。你永远不可能"准备好一切"再动手——外部条件在变、对手在变、窗口期在关。真正的准备高手不是"准备得最充分的人",而是能在最短时间内完成最关键准备的人。准备的速度,比准备的完整度更重要。

市面上把这句话翻译成"三思而后行"。这是彻底错的。"三思"没有标准——思三次?思三天?思三种方案?毛泽东给的标准是极其具体的:在敌我条件对比下有胜利的把握。这个标准逼着你每次都去研究对手,而不是坐在房间里自己冥想。"三思而后行"让你变成一个迟缓者,而"在对比中有把握"让你变成一个快而不乱的人。

# 06.最小必要准备

很多人在"准备"和"行动"之间卡住的原因是:他们以为准备必须做完整。这不可能——任何领域的完整准备都是无限的。真正的准备要回答的问题不是"我准备好了吗",而是"最小必要准备做完了吗"。

最小必要准备包括三项:第一,核心流程的所有边界值都测试过(正常值、最大值、最小值、异常值、空值);第二,有一条可以在 5 分钟内启动的回退方案;第三,所有相关方知道你的动作和风险。这三项做完,你就可以开打。其余的细节可以在行动中补充。

准备的质量不由准备的量决定,由"被遗漏的关键变量数"决定。一个检查了 3 件事但全部关键的人,比一个检查了 30 件事但漏了最关键那件的人,准备得更充分。

# 07.风险三问清单

每次重大行动前,问自己三个问题。第一个:如果这件事失败,最坏的结果是什么?我能承受吗? 这个问题是在做底线管理——如果最坏结果你都承受不了,不管准备多充分都不该开打。

第二个:最可能失败的一环在哪?我有预案吗? 大多数人在准备时平均分配注意力——每件事都准备一点。但真正有价值的准备是把 80% 的精力投入到最容易炸的那一环。找到那一环,把它准备到极致。

第三个:我做这个准备的假设前提是什么?这些前提还成立吗? 很多人做了一次准备之后就再也不验证前提。三个月前你准备的假设——"数据库能撑住 5000 QPS"——今天可能已经不成立了。准备的有效期比你以为的短得多。

# 08.二八准备法则

准备也需要成本。如果你为一次行动的准备工作花了超过行动本身 50% 的时间,你大概率在过度准备。毛泽东的不打无准备之仗,不是让你在战前准备到天荒地老,而是让你用最小的准备成本获得最大的胜率提升。

二八法则在准备上的体现:20% 的准备动作能覆盖 80% 的失败风险。识别那 20% 的动作是准备的核心能力。其余 80% 的细节可以留给现场的应变能力。

# 09.团队准备对齐

个人层面的准备相对简单,团队层面的准备才真正考验管理能力。最常见的场景是:Leader 觉得准备好了,但一线执行的人发现还有三个关键变量没测试。Leader 的"准备好"是概念级的,一线的"没准备好"是操作级的。两者之间的信息不对齐,是所有失败准备的根源。

解决方法是:不用开会对齐,用检查清单对齐。每次重大行动前,发一张检查清单给所有参与者。清单内容只有三列:关键变量、边界值、谁负责检查。每个人在各自负责的条目上打勾,不填完不发车。清单比开会准确一百倍——会议可以被敷衍,但勾不能。

# 10.一个反面教材

2018 年一家 SaaS 公司准备在双十一当天做一个限时优惠活动,预计流量是日常的 10 倍。CTO 提前两周做了扩容——把服务器从 10 台加到 50 台,做了压力测试,一切正常。

双十一当天零点活动准时上线,5 分钟内涌入的流量不是日常的 10 倍,而是 80 倍。下单接口瞬间被击穿,支付系统崩溃。事后整整两天才把数据修复完,2000 多个用户付了钱却没生成订单。

问题出在哪?CTO 的准备只针对了他以为的峰值——"10 倍"。他没研究过同行业去年的数据,不知道双十一第一条微信推送的 5 分钟内流量不可能线性增长。他准备了,但他准备的对手是自己脑子里想象的那个,不是现实中实际存在的那个。"我准备好了"不等于"我对了"。

这个切片揭示的规律:准备的参照系必须是对手和现实,不能是自己的估算。

# 11.三个认知陷阱

陷阱一:把"准备"当成"拖延"的遮羞布。"我还没准备好"是职场里最体面的推脱词。区分真准备和假准备的标准是——你最后一次为这件事做了具体的准备工作是什么时候? 如果答案是"一周前",你就是在拖延。

陷阱二:只在"正常情况"里准备。真正的准备不是在理想条件下跑一遍流程,是把所有可能让流程崩溃的变量都用最小成本试一遍。

陷阱三:准备一次管一年。外部条件在变、用户行为在变、技术栈在变——上一次的准备结论是有有效期的。每次行动前重新验证关键假设。

# 12.三年认知复利

那个 OCR 翻车之后,我给所有项目上线前加了一张"最小必要检查清单":核心流程边界值全部跑过、回退方案在 5 分钟内可执行、所有相关方已同步风险。三年来这张清单挡住了不下 10 次潜在的线上故障。

半年后我发现一个有意思的现象:准备做得越充分的项目,执行时越轻松。不是因为"准备好了就不出问题",而是因为你知道哪里可能出问题、出了问题找谁、退一步怎么做。这种确定性会让你在行动时无比冷静——而冷静就是最稀缺的执行力。

三年后我判断一个工程师是否靠谱,有了一条硬标准:他上线前会不会主动来找我确认"你觉得哪个环节最可能炸"。问这个问题的人,已经具备了准备的思维框架;不问这个问题的人,还停留在"写了代码就等于准备好了"的阶段。

准备的质量从来不取决于你花了多少时间,取决于你找到了多少个"可能炸的点"并提前堵上了。不炸比炸了再修便宜一万倍。

# 13.收束三句金言

一句话核心:准备的参照系是"对手+现实",不是"自己的估算"。

你应该带走的三件事:

准备的关键变量不是"正常值",是"边界值":最大值、最小值、空值、异常值全部跑过才算准备好。 最小必要准备三件套:核心边界全通过 + 5 分钟回退方案 + 相关方同步风险。做完这三件就开打。 准备的有效期比你想象的短:每季度重新验证关键假设,上一次不出事不代表这一次也安全。

一句留给你的反问:你手头那个下周就要交付的项目,最可能炸的一环在哪?你的预案是什么? 如果你答不上来,不是时间不够,是你还没开始准备。

上次更新: 2026/06/28, 17:55:19
毛选中风险管理策
毛选你打你我打我

← 毛选中风险管理策 毛选你打你我打我→

最近更新
01
科学方法实践论法
06-28
02
辩证思维矛盾论法
06-28
03
毛选中的调查观念
06-28
更多文章>
Theme by Vdoing | Copyright © 2019-2026 杨充 | MIT License | 鄂ICP备2024073355号-1 | 鄂ICP备2024073355号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式