项目计划与进度管理:从 WBS 到燃尽图,把"进度"讲清楚

这篇补什么

在《项目开发全流程手册:8 个节点》里,我把项目拆成 8 个主节点,外加一条贯穿全程的管理线(节点 0)。那条管理线有四股:计划与进度、变更、风险、沟通。当时”计划与进度”只用一行表格带过:

| 计划与进度 | 项目计划书、里程碑、甘特图、周报 | 拆解 WBS、定里程碑、每周同步进度与风险 |

但这一行,恰恰是项目经理每天都在打的仗。开发计划怎么排、进度怎么量、延期了怎么早发现——这些展开来分量不小,塞进那篇手册会让节点 0 头重脚轻,所以单独成篇。

它和另外两篇的分工是:

  • 全流程手册》——每个节点该做什么、产出什么、卡什么门禁。
  • 文档体系梳理》——每份文档该放哪、给谁看。
  • 本文——那条贯穿全程的计划与进度线,怎么落地。

一句话定位:“开发计划”和”项目进度”不是某个独立节点,而是从立项到运维一直存在的管理动作;其中宏观计划归节点 0,迭代级的任务拆解落在节点 4 开发。

计划与进度的全景

flowchart LR
    A[范围<br/>做什么] --> B[WBS<br/>拆成任务]
    B --> C[估算<br/>工期与依赖]
    C --> D[排期<br/>甘特图/里程碑]
    D --> E[基线<br/>冻结计划]
    E --> F[跟踪<br/>周报/燃尽图]
    F -.偏差.-> G[纠偏<br/>赶工/砍范围/走变更]
    G -.更新.-> D

    style A fill:#e6f7ff,stroke:#1890ff
    style E fill:#f9f0ff,stroke:#9254de
    style F fill:#fff7e6,stroke:#fa8c16

记住这条主线:范围 → 拆解 → 估算 → 排期 → 基线 → 跟踪 → 纠偏 → 回到排期。 计划不是排完就锁死的甘特图,而是这个不断闭环的过程。下面逐段展开。


一、WBS:把项目拆到”能估”的粒度

计划做不准,九成是因为拆得不够细。WBS(Work Breakdown Structure,工作分解结构)就是把”做一个订单系统”这种大到无法估算的目标,层层拆到每个叶子任务都能回答”谁做、几天、依赖谁”。

拆解遵循两条原则:

  • 100% 原则:某一层的所有子项加起来,必须正好等于父项——不多做、不漏做。父项之外冒出来的活,说明范围没界定清楚,该回立项/需求补边界。
  • 拆到能估为止:叶子任务的工期控制在 1~5 个人天。太粗估不准,太细管理成本高。一个人天以内的活不必单列,5 天以上的继续拆。

以”手机验证码登录”为例:

1
2
3
4
5
6
7
8
9
10
11
验证码登录
├── 后端
│ ├── 发码接口(含频控:60s/次、24h/10次) 2d
│ ├── 校验接口(含错误锁定:错5次锁15min) 2d
│ └── 短信网关对接 1d
├── 前端
│ ├── 登录页 + 倒计时组件 2d
│ └── 联调与异常提示 1d
└── 测试
├── 用例编写(覆盖边界/异常) 1d
└── 执行 + 回归 2d

注意几点:

  • 叶子任务是”可交付物”,不是”活动”。写”发码接口”(能提测的东西),不写”写代码”(没有明确完成标志的动作)。
  • 业务规则要带进任务描述。”发码接口(含频控 60s/次)”比光写”发码接口”能估得准,也不容易漏。这些规则的权威源在 SRS,WBS 里引用即可(见《文档体系梳理》里 PRD 与 SRS 的边界)。
  • 测试、联调、评审、文档都要占工期。最常见的低估就是”只排了写代码的时间”,把测试和联调当成不花时间的附赠。

最容易踩的坑

  • 按”人”拆而不是按”交付物”拆。 一上来就分”张三负责登录、李四负责下单”,会漏掉跨人的联调和集成。先按交付物拆出完整的 WBS,再往上派人。
  • 拆解层级和目录/模块混为一谈。 WBS 是”活儿”的分解,不是代码目录结构。别让它退化成 package 树。

二、估算:为什么你的估算总是偏乐观

人对工期的估计有系统性偏差(规划谬误),几乎永远偏乐观。几个能立刻改善准确度的做法:

  • 三点估算:对不确定的任务,给出乐观(O)、最可能(M)、悲观(P)三个值,取 (O + 4M + P) / 6 作为期望工期。它会自动把”万一出岔子”的尾部风险纳入进来。
  • 估”理想工时”后要打折落地。一个人一天并没有 8 小时纯开发时间——开会、答疑、上下文切换会吃掉 30%40%。按 **每人天有效产能 56 小时** 折算排期,别拿理想工时直接填日历。
  • 留缓冲,但把缓冲放在明处。不要把缓冲偷偷塞进每个任务(那样会被帕金森定律吃掉——“工作会自动膨胀到填满所有可用时间”)。把缓冲集中成一个显式的”项目缓冲”放在里程碑前,谁动用、动用了多少,一目了然。

最容易踩的坑

  • 让”最懂的人”一个人估。 专家会不自觉地按自己的速度估,落到普通成员身上就爆。让实际干活的人参与估算。
  • 把估算当承诺。 估算是概率,承诺是签字。对外给日期时,用的应该是”估算 + 缓冲”后的值,而不是最乐观的那个数。

三、排期:里程碑、依赖与关键路径

任务估完,要排进时间轴。这一步产出里程碑甘特图

里程碑是几个”标志性的、可对外承诺的时间点”,通常对应节点门禁:需求冻结、设计评审通过、开发提测、测试通过、验收签收、上线。里程碑要满足:

  • 可验证——用产出物或门禁定义”到没到”,而不是”差不多了”。”需求冻结”= PRD/SRS 通过评审且开发测试确认,不是”需求写得差不多”。
  • 数量克制——一个中型项目 5~8 个里程碑足够,多了就失去”标志性”的意义。

关键路径(Critical Path) 是决定项目最短工期的那条任务链——链上任何一个任务延期,整个项目就延期。识别它的意义在于:你的盯防精力应该优先压在关键路径上,而不是平均用力。不在关键路径上的任务有”浮动时间”,晚一两天不影响大局;关键路径上的任务晚一天,交付日期就晚一天。

flowchart LR
    S([开始]) --> A["需求冻结 5d"]
    A --> B["接口设计 3d"]
    A --> C["UI 设计 4d"]
    B --> D["后端开发 8d"]
    C --> E["前端开发 6d"]
    D --> F["联调 3d"]
    E --> F
    F --> G["测试 5d"]
    G --> H([上线])

    style A fill:#fff1f0,stroke:#f5222d
    style B fill:#fff1f0,stroke:#f5222d
    style D fill:#fff1f0,stroke:#f5222d
    style F fill:#fff1f0,stroke:#f5222d
    style G fill:#fff1f0,stroke:#f5222d

上图红色链 需求冻结→接口设计→后端开发→联调→测试 是关键路径(5+3+8+3+5 = 24 天)。前端那条 需求冻结→UI→前端开发→联调(5+4+6 = 15 天到联调)有富余,前端晚一两天不影响大局——但后端晚一天,上线就晚一天。所以后端是要重点盯的对象。

最容易踩的坑

  • 只画甘特图,不标依赖。 没有依赖关系的甘特图只是一堆并排的条,看不出”谁卡谁”。一旦某个任务延期,你无法判断它会不会顺着依赖链把上线日推掉。
  • 把接口契约冻结的时间点漏排。 前后端并行开发的前提是接口先定死(见全流程手册”设计→开发”门禁)。接口没冻结就并行,联调阶段会互相返工,关键路径直接失控。
  • 忽视资源冲突。 甘特图上两个任务并行,但都要同一个 DBA,实际就串行了。排期要看人力是否真的能并行。

四、基线:计划要有一个”冻结版”

排期确认后,要把它**冻结成计划基线(Baseline)**存档。此后实际进度都和这个基线比,才谈得上”提前”还是”延期”。

没有基线的后果是:计划一路悄悄改,每次汇报都”符合最新计划”,于是永远不延期——直到上线前一天突然发现来不及。基线就是那把尺子:变可以,但要看得见变了多少、为什么变。

任何影响里程碑的计划调整都走变更,和需求变更单一样留痕(这就是节点 0 里”计划与进度”和”变更管理”两股线的交汇点)。


五、跟踪:进度到底怎么衡量

计划落地后进入日常跟踪。这里有一条最重要的原则:

别用”完成百分比”衡量进度。

“开发完成 80%” 是信息量最低的汇报——剩下的 20% 往往吃掉 80% 的时间(联调、异常处理、边界情况都在最后冒出来)。用二值化的、可验证的交付物来衡量:

  • ❌ “登录功能做了 80%”
  • ✅ “登录:发码接口已提测、校验接口开发中、前端未开始”

一个任务只有两个状态对外有意义:已提测 / 未提测(或已完成 / 未完成)。”做了一半”约等于”没做”,因为没法验证、也没法交付。

燃尽图:一眼看出会不会延期

燃尽图(Burndown Chart) 把”剩余工作量”随时间画出来。理想线是从总量匀速降到 0 的斜线,实际线是每天更新的剩余量。两条线的关系一眼说明问题:

flowchart LR
    A["实际线在理想线<br/>下方"] --> A1["领先,可能<br/>估重了或超预期"]
    B["实际线贴着<br/>理想线"] --> B1["健康,按计划走"]
    C["实际线在理想线<br/>上方且不收敛"] --> C1["要延期,早纠偏"]

    style C fill:#fff1f0,stroke:#f5222d
    style B fill:#eafaf0,stroke:#2bab6a

燃尽图的价值是趋势预警:不用等到 deadline,看实际线的斜率就能外推出”照这个速度会在哪天燃到 0”。如果那个预测日期晚于承诺日期,现在就得纠偏,而不是到时候再说。

甘特图和燃尽图分工不同:甘特图看”谁在什么时候做什么、谁卡谁”(安排视角),燃尽图看”整体还剩多少、会不会按时完”(趋势视角)。 两个都要,回答的是不同问题。

挣值管理 EVM:同时回答”进度”和”成本”

进度看着正常,钱可能已经花超了;或者进度慢了,但花的也少。要同时回答这两问,用挣值管理(EVM,Earned Value Management)。三个基础量:

指标 含义 通俗说
PV(计划值) 到今天,按计划应该完成的工作量(预算口径) 计划走到哪
EV(挣值) 到今天,实际完成的工作量(按预算折算) 实际走到哪
AC(实际成本) 到今天,实际花掉的成本 实际花了多少

两个关键比值:

  • SPI = EV / PV(进度绩效):< 1 说明进度落后
  • CPI = EV / AC(成本绩效):< 1 说明成本超支

举例:计划到今天应完成 100 人天的活(PV=100),实际只完成了 80(EV=80),却已经花掉 90 人天的成本(AC=90)。那么 SPI=0.8(进度只有计划的 80%)、CPI≈0.89(每花 1 分钱只挣回 0.89)——又慢又超,双红灯。这比”感觉有点赶”精确得多,也能早暴露问题。

中小项目不必上完整 EVM,但 SPI/CPI 这两个比值的思路值得借:进度和成本要分开看,别用”钱还没花完”来掩盖”进度已经落后”。

最容易踩的坑

  • 只报进度,不报剩余风险。 “本周完成了 X” 是过去式,管理者更关心”照这个速度能不能按时到里程碑”。汇报要给趋势和预测,不只是流水账。
  • 进度靠嘴问。 “你那个好了吗?””快了。”——这种进度没有任何锚点。用可验证的交付物状态(已提测/未提测)和看板,让进度自己说话。
  • 延期了才第一次说。 进度管理的全部价值在于早发现。燃尽图/SPI 一旦露出苗头就同步,越早纠偏,可选的手段越多(赶工、加人、砍范围、走变更改期);拖到最后,就只剩”硬着头皮延期”一条路。

六、纠偏:发现要延期,有哪些牌可打

进度落后不是等来的,是提前算出来的。一旦燃尽图/SPI 预警,手上大致有这几张牌,各有代价:

手段 做法 代价 / 风险
赶工(Crashing) 加人、加班、加资源压缩关键路径 成本上升;加人有磨合期,短期可能更慢
快速跟进(Fast Tracking) 把本该串行的任务改成并行 返工风险上升(比如接口没定死就并行开发)
砍范围 和产品/业务方协商,本期少做非核心功能 需要走变更、要业务方点头
改期 正式调整里程碑/上线日 走变更、更新基线、对齐干系人
什么都不做 接受偏差继续观察 只适用于偏差在缓冲范围内

关键是:这几张牌都要尽早打。加人只有在早期才来得及磨合,砍范围只有在开发前谈才不浪费已投入的工作量。拖到最后,能打的牌越来越少。


附:一份能直接套用的周报模板

周报不是流水账,是给干系人做决策的信息。一份好周报回答三件事:到哪了、有没有风险、需不需要你帮忙。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
【项目周报】XXX 项目 · 第 N 周(MM.DD - MM.DD)

一、整体状态:🟢 正常 / 🟡 有风险 / 🔴 告警
下一里程碑:设计评审 计划 07/15 预测 07/16+1d)

二、本周进展(按交付物,二值化)
✅ 发码接口 已提测
✅ 接口契约 已冻结
🔄 校验接口 开发中(预计 07/12 提测)
⬜ 前端登录页 未开始

三、进度度量
关键路径:需求→接口→后端→联调→测试
SPI ≈ 0.9(略落后,主因:短信网关对接晚 1 天)

四、风险与阻塞(带责任人和应对)
⚠️ 短信网关联调依赖供应商配合,可能再延 1
→ 应对:已升级到对方 PM,07/12 前给答复;负责人:张三

五、需要支持 / 待决策
· 需产品确认:错误锁定时长 15min 是否可放宽到 10min

六、下周计划
· 完成校验接口并提测
· 启动前端开发

要点:状态用红黄绿灯(让人一眼抓重点)、进展按交付物二值化(不写百分比)、风险带责任人和应对(不只是列出来)、明确列出”需要你决策/支持什么”(周报最该有、却最常被漏掉的一栏)。


小结

计划与进度这条线,串起来就是一句话:

把范围拆成能估的任务(WBS),估出带缓冲的工期,排进标好依赖的甘特图,冻结成基线;然后用可验证的交付物、燃尽图和 SPI 持续跟踪,一露苗头就纠偏。

几条无论项目大小都别省的底线:

  • 拆到能估的粒度——拆不动就估不准,估不准就管不了。
  • 计划要有基线——没有尺子,就永远”不延期”。
  • 进度用交付物衡量,不用百分比——“完成 80%”是最没用的汇报。
  • 进度和成本分开看——别用”钱没花完”掩盖”进度落后”。
  • 偏差要早说——进度管理的全部价值在于早发现,越早纠偏越主动。

本文是”项目全流程”系列第三篇,聚焦贯穿全程的计划与进度管理。配合《全流程手册:8 个节点》(每步做什么)和《文档体系梳理》(产出放哪)一起看更完整。欢迎交流指正。


项目计划与进度管理:从 WBS 到燃尽图,把"进度"讲清楚
http://eevann.cn/2026/07/11/project-plan-progress-management/
作者
月下独白
发布于
2026年7月11日
许可协议