排期与进度
排期是把范围(需求与范围)翻译成时间线的过程。核心纪律有三条:估算要基于分解而非直觉、排期要显式处理依赖与不确定性、进度要用事实数据跟踪而不是士气。本篇依次拆解估算、建模、缓冲与跟踪。
估算:先分清三个量
| 量 | 含义 | 决定因素 |
|---|---|---|
| 工作量 | 完成需要的人时/人日 | 范围 + 技术难度 + 能力 |
| 工期 | 日历时间跨度 | 工作量 / 并行度 + 依赖等待 |
| 成本 | 货币投入 | 资源单价 × 投入量 |
常见误区:工期 ≠ 工作量。一个人 5 天干完 ≠ 5 个人 1 天干完——沟通成本、不可并行性、上下文切换都会吃掉并行红利(《人月神话》)。
估算方法:自下而上最靠谱
| 方法 | 做法 | 适用 | 精度 |
|---|---|---|---|
| 类比估算 | 与历史相似任务对比 | 项目初期 | 粗(±50%) |
| 参数估算 | 用经验比率外推(如 1 人天≈N 行) | 有历史数据 | 中 |
| 三点估算(PERT) | 最乐观 O / 最可能 M / 最悲观 P → (O+4M+P)/6 | 单任务不确定性大 | 中细 |
| 自下而上 | WBS 逐叶估算后汇总 | 基线前 | 细(±10%) |
团队协作估算建议用 Planning Poker:每人独立出牌再对齐理由,能暴露「我以为」的差异;或按 T 恤尺码(S/M/L/XL)先粗排,避免在早期陷入虚假的精确。
估算四问(每次估完都过一遍)
- 我是否基于分解后的任务估的,而非整块拍脑袋?
- 是否包含测试、文档、评审、联调等隐性投入?(常见漏项:环境搭建、CI 修修补补、回滚方案)
- 历史数据里这个规模的任务实际花了多久,而不是计划了多久?
- 我明确说了这是估算区间,还是给了个会被当承诺的单点值?
排期建模:依赖与关键路径
依赖四类
| 依赖 | 含义 | 示例 |
|---|---|---|
| 完成-开始(FS) | 前项完成后项才能开始 | 先出接口再联调 |
| 开始-开始(SS) | 前项开始后项即可开始 | 前后端可并行起步 |
| 完成-完成(FF) | 两者须同时完成 | 文档与代码同验收 |
| 开始-完成(SF) | 少用,需警惕 | — |
关键路径法(CPM)
- 把所有任务连同依赖画成网络,计算最早/最晚开始时间;
- 关键路径 = 总工期最长的路径,其上任何任务延迟都会直接推迟交付;
- 非关键路径上的任务有松弛量(float),是资源调配与缓冲的来源。
排期口头禅:「只看总工期没用,要问哪些任务在关键路径上、它们的风险谁在扛。」
里程碑:用可验收事件钉住时间线
里程碑是零工期、有明确验收物的时间点(如「接口冻结」「UAT 通过」),用于:
- 向干系人给出可感知的进展刻度;
- 在早期就暴露漂移(若首个里程碑就延期,后面几乎必然延期)。
缓冲:对不确定性的显式管理
| 类型 | 放置 | 用途 |
|---|---|---|
| 项目缓冲 | 关键路径末端 | 吸收整条链的扰动 |
| 汇入缓冲 | 非关键路径汇入关键路径处 | 保护关键路径不被喂慢 |
| 特性缓冲 | 大功能内部 | 防止颗粒度失衡 |
关键纪律:缓冲是团队共有的,不应被预先瓜分进每个任务——一旦任务级都加 20%,估算又变成一场注水游戏,且消除不了链路上的波动(帕金森定律:工作会膨胀填满所有时间)。
进度跟踪:用数据而非士气
| 工具 | 看什么 | 警讯 |
|---|---|---|
| 燃尽图 | 剩余工作是否随迭代下降 | 曲线连续上升或长期走平 |
| 燃起图 | 已做工作与范围的差距 | 已做 > 计划且范围仍在涨 |
| 累积流图(CFD) | 各列在制品堆积 | 某列带宽窄成瓶颈、阻塞区变宽 |
| 挣值(EVM) | SPI/CPI 是否 < 1 | SPI 连续 < 0.9 说明系统性落后 |
| 周期时间 | 单任务从开始到完成的时长 | 周期持续拉长说明流程在劣化 |
跟踪节奏与应对:
- 每周对比计划 vs 实际,偏差 >10% 就主动分析根因(是估错、依赖晚、还是范围变了);
- 延迟一旦发生在关键路径,立即给出三个选项(缩范围 / 加资源 / 延期限)让干系人选,而不是默默顺延;
- 用「剩余工作再估一次」替代「已完成百分比」,后者极易自我安慰(90% 卡半年的经典骗局)。
常见坑速查
| 坑 | 表现 | 应对 |
|---|---|---|
| 帕金森/学生综合征 | 提前做完也不汇报,任务填满周期 | 用 WIP 与真实节奏校准,别鼓励「拖延光荣」 |
| 估算即承诺 | 老板拿单点估算当 Deadline | 报价给区间并写明假设与风险 |
| 里程碑过稀 | 上线前最后一刻才发现全面延期 | 前置 2~3 个有验收物的里程碑 |
| 只追燃尽不看范围 | 曲线漂亮但需求悄悄加了 | 燃起图/范围基线联动核对 |
| 缓冲被瓜分 | 每任务都暗自留余量 | 缓冲集中到链路末端并透明管理 |
| 一人多项目 | 并行项目相互稀释,进度全线慢 | 用看板 WIP 上限强制收敛(见方法论与流程) |
检查清单
- [ ] 工作量/工期/成本三者已区分,没有把「人天」当「日历天」
- [ ] 估算基于 WBS 分解(自下而上或三点估算),含测试/评审/联调隐性投入
- [ ] 依赖关系已列出,识别出关键路径及在途风险
- [ ] 里程碑含可验收事件,首个里程碑在工期前 1/3 处
- [ ] 缓冲集中放置且有明确的所有者与触发规则
- [ ] 跟踪工具选定(燃尽/CFD/挣值至少一种),每周有对比记录
- [ ] 偏差 >10% 时有书面根因分析与干系人选项