在项目管理中,关键路径法是一定要学会的,在实际应用中需要通过它来估算项目可能的最短周期,在PMP考试中也是必考的知识点,同时也是最容易的失分点。
主要是关键路径不仅知识点晦涩难读,图例也是复杂难懂:。

头皮麻了
关键路径法(Critical Path Method ,缩写 CPM),用于在进度模型中估算项目最短工期,确定逻辑网络路径的进度灵活性大小。
这种进度网络分析技术在不考虑任何资源限制的情况下,由既定的参数(持续时间、逻辑关系、提前量、滞后量),沿进度网络路径使用顺推与逆推法,计算出所有活动的最早开始时间、最早结束时间、最晚开始时间和最晚完成时间。
目的是在于找到项目中时间最长的任务顺序,因为这决定着可能的项目最短工期。

最长任务顺序,怎么又是最短工期了?
举个著名的例子,华罗庚泡茶方法统筹方法

这里面洗开水壶的1分钟+烧开水的15分钟是最长的活动顺序,但也是泡茶的最快时间。
项目管理是一个复杂过程,想让项目变得有序,就需要在一个庞大的网络中找出关键路径,继而针对各关键任务,优先安排资源,挖掘潜力、采取相应措施,尽量节约耗时,以达到缩短工程工期,合理利用资源等目的。
不过区别与烧水喝茶,一个项目上可以存着多条关键路径,而且关键路径是可以变化的,有可能会变成非关键路径,非关键路径也可能变化成关键路径。
在讲计算前,首先要熟悉那些看了眼花完全记不住的名称:
ES(Earliest Start)最早开始时间,是指某项任务能够开始的最早时间,只决定于项目计划,只要计划的条件满足了就可以开始的时间。
EF(Earliest Finish)最早结束时间,是指某项任务能够完成的最早时间。需要用顺推法才能得出EF。
LS(Latest Start)最迟开始时间,是指某项任务必须开始的最迟时间。需要用逆推法才能知道LS。
LF(Latest Finish)最迟结束时间,是指某项任务必须完成的最迟时间。往往决定于相关方(客户或管理层)的限制。
DU,指任务持续时间。
TF(Total Float)总浮动时间,任务最早开始日期到最早完成日期之间或者是最晚开始日期到最晚完成日期之间的范围,就是总浮动时间或进度灵活性。
为了更好理解做个图

横向的计算方法都是:
开始时间 + 持续时间 = 完成时间
ES + DU = EF
LS + DU = LF
只不过LS(最晚开始时间)往往不好把握,需要通过LF(最晚结束时间)减去DU(持续时间)得到得到
所以常常是 LF - DU = LS(国人数学这么好,当然都懂逆运算)
纵向的计算方法是:
完成时间 - 开始时间 = 总浮动时间
EF - ES = LF - LS = TF
只不过最早和最早对应,最晚和最晚对应
还需要引入一个叫FF(Free Float),自由浮动时间的量,指后面紧跟着任务的最早开始日期到前面任务的最早完成时间,也就是后一个任务可以推迟的时间量。

相减结果为FF
搞清了这些概念,我们接下来细说下上文提过的顺推和逆推。
顺推时,主要看E这一行,要从左往右看,当前任务前面有两个和两个以上的紧前任务时,那么当前任务的ES的取值应该遵循顺推取最大的原则。

就是分别做减法,谁数字大取谁
逆推时,主要看L这一行,要从右往左看,当前任务后面有两个和两个以上的紧后任务时,那么当前活动的ES的取值应该遵循逆推取最小的原则。

还是分别做减法,谁数字小选谁
全部概念理解完成后,我们开始上例子了,毕竟这比干巴巴的讲好理解的多。有很多小伙伴都会纠结开始的点:任务是从第0天开始还是第1天开始?
因为不同的开始时间,计算结果是不一样的。首先我们先明确一下几个概念:
任务的DU(持续时间)是指活动的工作时间段,例如一个任务持续时间是24小时,是指3个工作日(每天8小时)。
任务的开始时间是指开工日的上班开始时间;结束是指开工日的下班时间。就是说假设一个任务的持续时间是3天,是指从17号上午9点到19号下午6点,在计算时就是19-17+1=3天。
所以任务从第0天开始还是第1天开始,就是在说要不要把开始当天也算作工作时间,在计算时,要不要把这个1天加上或者减去的问题。
其实从现实生活来讲,第0天是不存在的(毕竟都恨不得007了,怎么可能不算工作时间),不过如果你参加PMP考试的话,为了简化计算会从第0天开始计算。
例子来了:

第一步 画出七格图

白色数字、绿色箭头为关键路径
第二步 计算关键路径
列出所有可能的路径,比较长度:
路径A-B-E-F长度为5+4+3+8=20
路径A-C-F长度为5+11+8=24
路径A-D-F长度为5+6+8=19
故关键路径为A-C-F,长度为24
第三步 顺推
计算最早时间。
按PMP考试的计算法:任务从第0天开始:
EF = ES + DU
ES后 = EF前

不要忘记从左向右填,取最大值,后面第一个=前面最后一个
按实际情况进行计算:任务从第1天开始:
EF = ( ES + DU ) - 1
ES后 = EF前+ 1

不要忘记从左向右填,取最大值,后面第一个=前面最后一个+1
第四步 逆推
计算最晚时间。
按PMP考试的计算法:任务从第0天开始:
LS = LF – DU
LS后 = LF前

不要忘记从右往左填,取最小值,后面第一个=前面最后一个
按实际情况进行计算:任务从第1天开始:
LS = ( LF – DU ) + 1
LF前 = LS后- 1

不要忘记从右往左填,取最小值,前面最后一个=后面第一个-1
从上两种计算方法来看:
任务从第0天开始显然对人工计算来说更加直观简便,但缺点是与日历日期的对应关系是不一致的。
任务从第1天开始计算的结果与日历日期是一致的,但是计算过程略复杂。
好在考试中是从第0天开始的计算方法(果然老外的数学不太好)
第五步 计算TF
以从第1天开始计算的为例:
TF=EF - ES = LF - LS

纵向相减就好,哪一个都行
以计算任务D的FF为例:
FFD = ESF - EFD = 17 – 11 = 6
不知道通过这样的讲解,各位PM是否弄懂了呢?如果还有疑问,欢迎留言。
项目的关键路径是动态的,如果想要缩短项目总的工期,必须在关键路径上的各任务上想办法,除此之外,项目关键路径上的任务必须投入最优质资源,以确保能按节点实现,否则容易造成项目拖延。

清晖项目管理社区,一个理论与实践结合的项目管理学习天地,欢迎大家关注,同名公众号菜单栏回复CSDN,有礼包相送哦,赶紧去领取吧~