一文看懂”关键路径方法CPM”

关键路径方法(Critical Path Method,CPM)是项目管理中最重要、应用时间最久的概念之一。本文是优思学院写给初学者的介绍,将帮助您了解关键路径方法,并将其应用于项目中。在我们的六西格玛黑带课程中,项目管理也是一个重要的知识范畴。

对于项目管理技术而言,关键路径法具有相当悠久的历史。

关键路径方法的早期应用可以追溯到20世纪40年代初的曼哈顿计划。鉴于这个改变世界的项目所具有的雄心、规模和重要性,科学家及其背后的管理人员开发了多种技术,以确保项目能够按时交付成果。

这些技术之一,就是找出项目中最重要的任务,并使用它们估算项目的完成日期。

今天,我们将这项技术称为「关键路径法」。

直到今天,CPM仍然是项目计划的基石。一个项目需要多长时间,通常取决于构成项目关键路径的任务。

如果您能够规划这些任务及其持续时间,就可以对项目的时间表和预算作出较为合理的估算。

了解关键路径方法

您是否听说过约束理论(Theory of Constraints,TOC)?

该理论最初由Eliyahu Goldratt在其1984年出版的《目标》一书中提出。该理论指出,完成任何活动的能力,取决于其中少数关键资源或约束条件。

例如,如果您要制作三明治,可能已经准备好黄油、火腿和奶酪,但如果没有面包,还是无法做成三明治。

在这种情况下,面包就是三明治制作项目所依赖的约束。

关键路径法与该理论有相似之处,但关注范围更广。根据这种方法,任何项目的成功,都取决于关键路径上的任务能否按时完成。

让我们进一步了解这种方法。

什么是关键路径法?

每个项目,无论其规模或预算如何,都有一些对完成项目至关重要的核心任务。

以制作煎蛋卷为例。如果要编写一份简单的煎蛋卷食谱,步骤可能如下:

  • 打两个鸡蛋
  • 加热平底锅,锅热后加入黄油或食用油
  • 倒入打好的鸡蛋,煎煮五分钟

要制作一份美味的煎蛋卷,还可以执行其他任务。例如,用盐和胡椒调味,加入蔬菜和奶酪,或者将鸡蛋翻面,使其完全煮熟。

不过,这些活动只是三个核心步骤的补充。即使没有执行这些步骤,最终仍然可以得到一份煎蛋卷。味道或许不够好,但它仍然是煎蛋卷。

相反,如果您忘记打鸡蛋、加热平底锅或煎煮鸡蛋,最终只会剩下一个冷锅和两个鸡蛋。

也就是说,上述三个步骤描述了煎蛋卷制作项目取得成功所需的关键任务。


煎蛋卷制作项目的关键路径示例

这些步骤的排列顺序,描述了新厨师制作煎蛋卷时必须采取的关键路径

简单来说,这就是关键路径方法的基本概念。

关键路径方法的定义

关键路径方法在项目管理知识体系(PMBOK)中被定义为:

「关键路径方法是确定项目持续时间的预定活动顺序。」

如果要使项目取得成功,就必须执行这些计划活动,而且必须按照特定的顺序完成。例如,建造房屋时,不能先砌墙再挖地基,必须按照正确的顺序进行。

需要注意的是,CPM描述的是项目中持续时间最长的任务序列

也就是说,任何项目中都可能存在多个任务序列,而CPM找出的,是其中花费时间最长的序列。

例如,建造房屋时,可能存在以下几个任务序列:


房屋建造项目的多个任务序列

每项任务所需要的时间和资源都不相同。与安装水龙头和固定装置相比,砌墙和铺设屋顶需要更多时间。

如果要找出项目的关键路径,就需要确定花费时间最长的任务序列。

沿着这条关键路径完成所有任务所需的总时间,可以帮助您了解项目的最短持续时间。

项目中可能会同时执行多个任务序列,但如果关键路径上的任何任务发生延迟,整个项目也会受到影响。

关键路径算法解释

关键路径方法本质上是一种决策算法。该算法根据任务的开始时间、持续时间和完成时间,确定哪些活动最值得关注,也就是哪些活动对项目至关重要。

下面通过一个示例进一步理解关键路径算法。

假设您有一份任务列表,其中C列和D列分别列出了每项任务开始前必须完成的前置任务,以及该任务所需的时间。


关键路径法任务列表

由于项目经理的目标是在不影响质量的前提下尽快完成项目,因此需要找出每项活动的最早完成时间。

为此,可以将所有任务组织成流程图,并在任务编号旁标注其持续时间。箭头表示活动的先后顺序。我们在活动左侧标记最早开始时间(ES),在右侧标记最早完成时间(EF)


关键路径法中的最早开始和最早完成时间

在第一个活动的左侧标记开始时间(S),该值通常为0。

接着,标记每项活动的最早开始时间(ES)。一项活动的ES,等于其直接前置活动中最大的最早完成时间(EF)。

如果一项活动有两个前置任务,就采用其中较晚的EF作为该活动的ES。


根据前置任务计算最早开始时间

一项活动的最早完成时间(EF),由其最早开始时间(ES)加上持续时间(t)计算得出:

EF = ES + t

例如,一项活动的ES为20,持续时间为10天,那么它的EF就是30。

按照这种方法,将所有数值标记在流程图中。


完整的关键路径计算流程图

持续时间最长的路径,就是关键路径(Critical Path)。

该序列中最后一项任务右侧的EF数值,代表完成整个项目所需的最短时间。

项目管理中的「浮动时间」

与关键路径法密切相关的另一个重要概念,是浮动时间

在项目管理中,浮动时间表示一项任务能够延迟多长时间,而不会造成:

  1. 后续相关任务延迟,这称为「自由浮动」;
  2. 整个项目延迟,这称为「总浮动」。

关键路径上的活动或任务,其总浮动时间通常为零。也就是说,这些任务一旦延迟,整个项目的完成时间也会受到影响。

不过,项目中还有许多非关键活动可以在一定范围内延迟。这个可允许延迟的时间,就是浮动时间。

例如,在制作煎蛋卷时,「加热平底锅」位于关键路径上,因此其浮动时间为零。

相比之下,给鸡蛋调味通常具有较多浮动时间,因为您可以在煎鸡蛋之前加入盐,也可以在煎制过程中,甚至煮熟后再进行调味。

计算项目中所有活动的浮动时间,有助于项目经理更有效地分配资源。

如果一项活动具有较多浮动时间,就可以将部分资源暂时转移到优先级更高的任务上。因此,浮动时间较多的活动通常排在优先级列表的较后位置,而关键路径上的零浮动活动则需要受到重点关注。

应对突发事件的方法

很少有项目能够完全按照原计划进行。项目中经常会出现延误、范围变更或客户需求变化,迫使项目团队加快某些活动,或推迟其他活动。

关键路径方法提供了几种应对此类突发情况的措施。

1. 快速跟进(Fast Tracking)

快速跟进,是指将关键路径上原本按顺序执行的多项活动改为部分或全部并行执行,从而缩短项目的总体工期。

快速跟进只适用于不存在「硬性依赖关系」的活动,也就是说,后一项活动并不需要等到前一项活动完全结束后才能开始。

例如,在建造房屋墙壁之前,必须先挖掘地基。不过,在挖掘地基的同时,也可以购买砖块和准备水泥。

因此,尽管「砌墙」依赖于「挖掘地基」,但「购买砖块」和「准备水泥」仍然可以与挖掘地基并行进行。

快速跟进通常需要更严密的协调,也可能增加返工风险。由于资源需要同时分配给多项任务,良好的资源管理会变得格外重要。

2. 赶工(Crashing)

如果项目期限过短,需要进一步压缩关键活动的持续时间,可以考虑为活动增加资源,使其更快完成。

这个过程称为「赶工」。

赶工通常适用于以下活动:

  1. 增加资源后能够有效缩短完成时间的活动;
  2. 能够从浮动时间较多的活动中调配资源的情况。由于这些活动具有一定浮动时间,因此适度推迟也不会影响整个项目。

赶工通常会增加项目成本,也可能影响关键路径内外的其他活动。因此,除非情况紧急,否则不宜轻易采用。如果必须赶工,应优先从浮动时间较多的任务中调配资源,避免影响其他关键路径活动。

关键路径法有什么好处?

1963年9月号的《哈佛商业评论》曾这样评价关键路径方法:

「关键路径法(Critical Path Method)是一种功能强大、原理相对简单的技术,可用于分析、计划和调度大型复杂项目。」

此后,关键路径法逐渐在项目管理的理论和实践中确立了重要地位。使用关键路径方法可以带来以下好处:

减少项目延迟

关键路径方法可以帮助项目经理识别项目中最重要的任务序列。管理人员可以利用这些信息,重点优化关键路径上的工作,降低项目延期的风险。

可视化任务依赖关系

CPM要求列出与项目相关的任务及其依赖关系。由此形成的网络图可以帮助项目团队清楚了解任务之间的联系,并据此确定任务优先级。

改善项目组织

在复杂项目中,CPM有助于将可交付成果分解为任务序列,再将任务序列进一步分解为具体活动。通过可视化依赖关系、识别约束和确定关键路径,可以显著改善项目的组织和协调。

优化资源配置

绘制关键路径后,项目经理能够更清楚地了解哪些任务会直接影响项目工期,从而根据任务的重要程度增加、减少或重新分配资源。

计算浮动时间

浮动时间说明一项任务在不影响后续任务或项目进度的情况下,可以延迟多长时间。准确计算浮动时间,有助于项目经理更有效地安排任务和调配资源。

如果您是一名六西格玛黑带或项目经理,关键路径方法可以帮助您更有效地规划项目进度、分配资源,并做好项目时间管理。

发表回复