全文约 1800 字,阅读约 5 分钟。
重点内容:甘特图是画出来的,关键路径是算出来的,只画不算等于白排。三步找关键路径:列任务和依赖、前推算最早后推算最晚、时差为零的就是关键。关键路径上的任务拖一天,整个项目就拖一天。
甘特图这东西,画过的人比用明白的人多得多。绝大多数人拿它当进度看板,每天在上面涂进度条,涂到最后延期了,也说不清到底是哪根线不能碰。
关键路径法(CPM)是 1957 年杜邦公司搞出来的,当时用来排化工工厂的检修。60 多年过去,它还是项目排期里最值钱的一个概念。值钱在哪:它明确告诉你,哪些任务一天都不能拖,哪些任务晚几天开工也没事。前者叫关键路径,后者叫浮动时间。只画甘特图、不算关键路径,等于排了个寂寞。
我先把结论放这:甘特图不难,难的是多花半小时把关键路径算出来。算不清楚,进度条涂得再漂亮,延期该来还是来。
先把任务和依赖列全,这是地基
算关键路径只需要两张表:一张是任务清单(谁、干什么、估多少天),一张是依赖关系(哪个任务必须等哪个先做完)。缺任何一张,后面都白算。
拆任务用工作分解结构(WBS),拆到一个人能在几天内独立交付的程度。拆太粗,关键路径算出来没意义;拆太细,光维护清单就耗掉一半时间。经验是,一个任务别超过一个人一周的工作量。
依赖关系默认是「完成到开始」,A 做完 B 才能开始,大部分任务都是这种。少数是「开始到开始」或「完成到完成」,比如测试可以在开发做到一半时就启动,用不着一口气等开发全完。
前推后推,算每个任务的最早最晚
拿一个软件项目举例,7 个任务,拆开写清楚:需求分析 5 天;UI 设计 10 天,等需求;数据库设计 7 天,等需求;后端开发 15 天,等数据库;前端开发 20 天,等 UI;测试 5 天,等后端和前端都完;部署 3 天,等测试。
先「前推」,从起点往终点算最早开始、最早结束。需求第 0 天开始,5 天做完。UI 和数据库都等需求,第 5 天开始,UI 到 15 天做完,数据库到 12 天做完。后端等数据库,第 12 天开始,27 天做完。前端等 UI,第 15 天开始,35 天做完。测试要等后端和前端都完,取大的那个,第 35 天开始,40 天做完。部署第 40 天开始,43 天做完。项目最短工期就是 43 天。
再「后推」,从终点往回算最晚开始、最晚结束。部署最晚 43 天做完、40 天开始;测试最晚 40 天做完、35 天开始;前端最晚 35 天做完、15 天开始;后端最晚 35 天做完、20 天开始;数据库最晚 20 天做完、13 天开始;UI 最晚 15 天做完、5 天开始;需求最晚 5 天做完、0 天开始。
时差为零的,就是关键路径
时差等于最晚开始减最早开始。需求是 0,UI 是 0,前端是 0,测试是 0,部署是 0,这条链「需求 → UI → 前端 → 测试 → 部署」就是关键路径,43 天,一天都压不得。
数据库呢?最晚 13 天开始,最早 5 天开始,时差 8 天。后端最晚 20 天,最早 12 天,也是 8 天。这两件事晚 8 天开工,项目照样 43 天完工。这 8 天就是它们的浮动时间,是白送的调度空间。
很多人卡就卡在这:他以为数据库设计和前端开发一样重要,其实前端在关键路径上、数据库有 8 天余量。把最狠的人压在前端上,比盯着数据库强多了。
算出来之后,重点就三件事
最要紧的是把最强的人和最密的盯防压到关键路径上。前端开发晚 1 天,整个项目就晚 1 天;数据库晚 8 天都没事。资源有限的时候,优先级一眼就清楚了。
资源不够的时候,从非关键路径上抽人去补关键路径。数据库和后端有 8 天浮动,抽一个人去帮前端,风险最低,这叫资源平衡,是浮动时间真正的用处。
再记住一点,关键路径会变。数据库要是拖过 8 天,它自己就变成关键了,路径发生迁移。所以关键路径不是算一次就锁死,进度每变一次都要重算一遍。
工期实在压不下来,就两个手段
如果关键路径算出来的 43 天还是比老板要求的紧,只有两个办法:赶工和快速跟进。
赶工是加人加钱,用成本换时间,比如前端再加一个人把 20 天压到 15 天,但加人不是线性提速,沟通成本会吃掉一部分。快速跟进是把本来串行的事改成并行,比如 UI 做到八成就让前端先动工,省时间,但改设计的返工风险变大。
这俩都不是免费的:一个花成本,一个担风险。谁跟你说「并行一下就快了」,你就跟他要返工预算。
工具能自动算,前提是依赖别填错
说实话,30 个以内的任务,拿张纸或者 Excel 手算完全够,前推后推就是加减法,算一遍还顺手把项目理顺了。任务一多,手算就崩,这时得靠工具。
现在主流的项目管理软件,只要把前置依赖填对,关键路径都是自动算的,甘特图里关键任务自动高亮,浮动时间也标出来。但前提就一条:依赖关系得填对。依赖填错了,再贵的工具算出来的也是错的,而且错得理直气壮。
画甘特图还有几个小细节:用颜色区分关键路径和非关键任务,红色是碰不得的,绿色是有余量的;里程碑(验收、上线这种零工期节点)单独标出来,盯着里程碑比盯着每天 1% 的进度条有用;更新频率按周来,别天天涂,涂太勤进度条会失真。
如果你想要一个免费不限人数、把前置依赖填上就自动标关键路径和浮动时间的项目管理软件,可以看看「智序 ORDR 项目管理系统」,甘特图和依赖关系都在一个地方,不用再拿 Excel 手算。
如有侵权请与我们联系
