首页 › 项目与执行 › 关键路径法
项目与执行 · 关键路径法

关键路径法

一环等一环的最长那条工作链,决定什么时候完工,盯住它。

Critical Path Method◷ 约 4 分钟▤ 1 个真实故事换成 AI 也一样在知识地图里看它和谁相连 →

1958 年初,杜邦的六位工程师把一座新工厂的网络图铺满了办公室的一面墙。图上有 846 支箭头,每一支是一项工作、一次交货或一处先后关系,他们足足画了两个月。然后,一台计算机算出了贯穿整张图的最长工作链。

公司的常规排期组有自己的一份关键交货清单。小组没有用它,把全部 156 项交货都放了进去,计算机算出,真正可能拖住工期的只有 7 项,其中 3 项不在排期组的清单上。整个项目里,只有大约十分之一的工作是关键的。方法的发明人詹姆斯·凯利和摩根·沃克写道:「人的直觉,是把这些结果当成笑话。」

按他们的说法,一年后,同一个方法把杜邦另一座工厂的检修停车时间从 125 小时压到了 93 小时。其余经过见案例。

最长的那条线

一环等一环的最长那条工作链,决定什么时候完工,盯住它。

凯利和沃克起初管它叫「主链」。后来叫开的名字「关键路径」,是给美国海军开发类似方法的那批人起的。他们 1959 年的论文说,关键路径上的工作一旦延误,项目完工也会「相应延误」,所以叫关键。其他工作都有一点挪动的余地,叫浮动时间,也叫富余时间。

假设一个小团队要上线一个产品页面。文案要 3 天。文案写完后,设计要 4 天,开发要 5 天;视频也要等文案,拍剪要 6 天。两边都做完,才能上线。文案、设计、开发首尾相连,一共 12 天;文案加视频,9 天。前一条是关键路径。视频有 3 天浮动时间:晚开工或多做 3 天以内,上线日都不会动。把视频缩短一天,什么也不会变;把开发缩短一天,上线就能早一天。

凯利后来写道,只要把网络图画得合理,再算出每项工作最早、最晚的开始和结束时间以及浮动时间,网络计划方法能带来的价值,就拿到了「90%」。他说,在这之上的种种精细功能,往往「不过是花哨的点缀」。

多出来的力气往哪里使

这个方法最先带来的好处,是知道哪里不用使劲。沃克回忆,他以前学到的是,项目一拖,就全线加人,把项目「往死里砸」。「这种全线砸钱的做法司空见惯,也很愚蠢,」他写道。

在第一个试验项目上,计算机算出,可以不多花钱提前两个月完工;可变直接成本只多花约 1%,还能再提前两个月。凯利和沃克的解释很简单:只有大约十分之一的工作是关键的,只有这些需要加快。

会在哪里误导人

图只和画图人的判断一样可靠。沃克讲过他们早期培训班上的一道练习:更换一段管道,给出 16 项工作和各自的工期。一个 20 到 30 人的班,通常会画出九到十种不同的网络图,总工期从 270 小时到 380 小时不等。他的结论是,没有谁能每次都排出一个项目「最好」的计划。

关键路径也会移动。他们 1959 年的论文提到,关键工作缩短以后,别的工作也会变成关键的。在一条链上用力够猛,最长的就可能换成另一条。

基本的关键路径法也没有把人算进去。两项工作要用同一台吊车或同一位专家,在图上可能看着互不相干,实际上还是得一项等另一项。关键链就是后来把这种等待补回去的一种尝试。

设想一位项目经理,开工时画好关键路径,钉在墙上,之后再也没有重画过。半年后,一家供应商的一个零件晚到三周,而图上说这个零件有充足的浮动时间。团队可能还在把加班时间投进旧的那条链,真正的关键路径却已经改道,穿过了这个迟到的零件。

智能体团队

Claude Code 的智能体团队,把依赖关系写得明明白白。一个负责统筹的会话建一份共享任务清单,队友从里面认领任务。文档说,一个任务可以依赖别的任务;依赖还没完成的待办任务,「不能被认领」,要等前面的做完。

文档得出的结论,和关键路径法的思路一样。它说,队友之间能各干各的时候,团队「效果最好」;「对于顺序进行的任务、要改同一个文件的工作,或依赖关系很多的工作」,单个会话或子智能体更合适。多加几个队友,可以让更多不在链上的工作同时进行,却缩短不了一环等一环的链,还会多出协调成本和 token 开销。往一条环环相扣的链上加智能体,可能很像沃克说的全线加人。

在杜邦那面墙上,156 项交货里只有 7 项能拖住整座工厂。找出是哪 7 项,是这个方法最早的贡献。

先看几件事

玩一玩

出处

  1. James E. Kelley Jr. and Morgan R. Walker, Critical-Path Planning and Scheduling, Proceedings of the Eastern Joint Computer Conference, December 1959, pp. 160–173
  2. James E. Kelley Jr., Morgan R. Walker and John S. Sayer, The Origins of CPM: A Personal History, PM Network 3(2), 1989: 7–22
  3. Claude Code documentation, Orchestrate teams of Claude Code sessions (agent teams)