进度压缩:快速跟进与赶工
迟早会有发起人提出每位计划者都害怕的问题:我们能提前两周完成吗?在不削减范围的前提下缩短进度,恰好只有两种诚实的方法,而每一种都要付出代价来换取时间。快速跟进用风险来支付,赶工用金钱来支付。知道该拉动哪根杠杆、在哪里拉动,正是自信地说是与做出无法兑现的承诺之间的区别。
什么是进度压缩
进度压缩指的是在不缩减项目范围的前提下缩短项目工期。最后这一点很重要:删减功能不是压缩,那是另一个计划。压缩保留全部工作,并想办法把它塞进更短的时间里。实现压缩只有两种机制,其余一切都是它们的变体:快速跟进和赶工。
两者都针对关键路径,因为只有关键路径决定完成日期。压缩一个带有浮动时间的任务,什么也缩短不了。
快速跟进:让工作重叠
快速跟进把原本按顺序安排的任务改为并行进行,或者用提前量让它们重叠。你不必等设计完成再开始开发,而是在设计继续进行的同时,就已完成的部分先开始开发。没有额外的钱易手,所以快速跟进是首先要伸手去拉的那根杠杆。
代价是风险。重叠的任务现在可能会冲突:如果开发开始后设计又改了,你就得返工。快速跟进以确定性换取速度,在重叠确实安全的地方效果最好。
赶工:增加资源
赶工是往一项任务上投入资源以缩短它:两名开发人员而不是一名、第二支施工队、支付加班费。工期下降,但成本上升,而且很少成比例,五个人几乎不可能把一项五天的任务在一天内完成。赶工受到硬性限制:九个女人无法在一个月内生出一个孩子。
在每一元钱能换来最多天数的地方赶工,通常是关键路径上那些确实能分摊给更多人的最长任务。对一项无法并行的任务赶工,只是在烧钱。
并列对比
| 快速跟进 | 赶工 | |
|---|---|---|
| 方法 | 让任务重叠 | 增加资源 |
| 付出的代价 | 风险与返工 | 金钱 |
| 直接现金成本 | 通常没有 | 有 |
| 尝试顺序 | 先试 | 重叠不够时再用 |
如何抉择
按顺序拉动杠杆:
- 找出关键路径,它是压缩唯一有帮助的地方。
- 先快速跟进:寻找可以安全重叠的、按顺序排列的关键任务。
- 如果这还不够,就在增加人手确实能缩短工作的关键任务上赶工。
- 每次改动后重新检查关键路径,压缩一条链条往往会让另一条变成关键。
一个实例演算
- 快速跟进:在设计收尾的同时,就已完成的模块开始建造,重叠 4 天。总工期降到 16 天且无现金成本,但设计若晚期变更就意味着返工。
- 改为赶工:给建造增加第二名开发人员,把它从 12 天削减到 8 天。总工期稳妥地为 16 天,但人工费用上升。
留意新的关键路径
令人意外的陷阱是:压缩了一条链条,另一条不同的链条可能就变成了关键。如果你把建造赶工得足够多,某条你原本忽视的、带着自己任务的路径,现在可能成了通往终点的最长路线,此时再压缩建造就什么也省不了。每次改动之后,重新计算关键路径。一款能替你把它高亮出来的工具,能把这件事从猜测变成一眼可见。
简短版
要在不削减范围的前提下缩短进度,就压缩关键路径,而且只压缩关键路径。先通过重叠顺序任务来快速跟进,它花费风险而不花钱;其次通过增加资源来赶工,它花钱而不带来风险。每走一步后都要重新检查关键路径,因为压缩会让它移动。在gantts.app 编辑器中免费建模各种方案,观察完成日期如何响应。
常见问题
快速跟进和赶工有什么区别?
快速跟进让原本按顺序安排的任务重叠,以缩短进度,代价是增加风险和可能的返工,没有直接的现金成本。赶工则往一项任务上增加资源以缩短它,这要花钱但不带来风险。两者都针对关键路径。
我应该先尝试快速跟进还是赶工?
先快速跟进,因为它通常不花钱,只花费风险。寻找关键路径上可以安全重叠的任务。如果重叠不够或不安全,再通过给增加人手确实能缩短工作的任务增加资源来赶工。
为什么进度压缩只在关键路径上起作用?
因为只有关键路径决定完成日期。不在关键路径上的任务带有浮动时间,所以缩短它们并不会移动最终日期,只会增加它们的余量。在关键路径以外的任何地方压缩投入都省不了时间。
赶工总是能按比例缩短一项任务吗?
不能。增加资源很少能按比例削减工期:五个人几乎不可能把一项五天的任务在一天内完成,而有些任务根本无法拆分。赶工存在收益递减,所以要在每单位成本能省下最多天数的地方赶工。
压缩之后关键路径会怎样?
它可能会变。把一条链条压缩得足够多,可能会让另一条路径成为通往终点的最长路线,于是继续压缩第一条链条就不再有帮助。每完成一个压缩步骤后,都要重新计算关键路径。
延伸阅读
本文也提供英文版本。