关键路径法
我们将探讨项目越来越复杂的原因、关键路径法(CPM)的基础知识以及使用关键路径法来节省资源的方法。
项目难题时有出现
工作难题出现的频率要超乎我们的预期。假设你正在管理一个2人或3人的 团队。你和另一个团队成员之间只有一种联系。 如果一个项目共有3个人,那么你共有3种联系:一个是你与人员A之间的联系,一个是你与人员B之间的联系,还有一个是人员A与人员B之间的联系(见图15) 。如果事情都这么简单就好了!一个项目共有4个人,那么就会有6种联系;有5个人,就会有10种联系;如图16所示。
一个项目共有6个人,就会有15种联系;有7个人,就会有21种联系。因此,当项目的人数超过5时,相互联系的种类数量就会迅速增长,甚至可能变得难以把控。
假设某种重要的物品出现短缺,需要在项目人员之间共用;这是一种项目限制,即经常会短缺的关键项目要素,如资金、时间和人力资源等。 再加上一些其他的资源限制,如项目团队成员只能在特定时间使用某种特定的设备,以及需要在特定的时间对该设备进行维护。 如果由于设备正处于维修时期而无法使用,那么这也可能是一种主要限制!
现在再加上第二种所需的资源,例如对数据库的访问,以及对正在进行的调查或另一种设备的依赖。 由于项目团队人员众多,同时还有时间、金钱或资源的限制,有效的管理就变得非常复杂。
有些任务的启动需要依赖于先前任务的完成,这样就会形成各种瓶颈或障碍,造成项目工作效率低下。 随着所需项目资源的不断增长,项目复杂度不一定要归咎于任何人;相反,它往往是各种限制、关联性和依赖性的结果。
甘特图是一种很有价值的工具,特别是对于那些团队成员较少、接近尾声和限制较少的项目。 对于涉及很多人员、资源和限制的长期大型项目来说 ,项目经理需要使用更复杂的工具来维持管理。
关键路径法(CPM)和评审技术(PERT)
关键路径法(CPM)是杜邦公司(Dupont Incorporated)于1957年发明的一种方法。即使你个人不需要参与CPM分析,了解其基本原理也是很有意义的。 项目中的CPM是耗时最长的路径。根据定义,关键路径是没有浮动性的。如果你在关键路径上落后于进度,那么整个项目就会落后于进度。
第二种项目管理方法是项目评审技术(PERT),与CPM有些类似,但更为复杂。 PERT是1958年由博思艾伦咨询公司(Booz-Allan Hamilton)和洛克希德公司(Lockheed Corporation)联合美国海军在北极星潜射核导弹项目中研制的一种管理方法。 该方法对项目工作的完成进度进行一定程度的控制,这种控制对很多项目来说极其重要,尤其是大型项目。
项目经理将使用PERT指明一项或一组任务,即确定工序,这对项目的成功至关重要。 PERT图实际上描述了一种估算任务工期的三点法,通常分为最乐观工期、最可能工期和最悲观工期。通过这种估算方法,项目经理能够更好地掌握项目的实际进度。
我们会在本章适当探讨CPM,CPM是一种有效的项目管理方法,使项目经理能够监控各种项目进度的影响。例如:
如果一项关键任务推迟了几天,并最终与下一项关键任务同时开始,怎样确定孰先孰后?由于有两项关键任务,那么推迟的任务必须在另一项任务开始前完成。
让项目人员在一项任务上多耗费3天时间会造成什 么影响?如果该项任务在关键路径上,那么将会导致其他关键任务延迟3天。
如果一项非关键任务推迟了两周,会有什么影响?这取决于该项非关键任务有多少浮动时间。如果它有16天的浮动时间,那么最终还会剩余2天的浮动时间。
需要强调的是:关键任务是指关键路径上的单个任务。非关键任务是指CPM网络中有浮动时间的一项任务。浮动时间是指完成某项特定任务的时间间隔。
大有可为
项目经理使用CPM来压缩项目时间表,方法是确定哪些任务可以同时进行;这种方式很有价值,因为根据最初的计划,这些任务可能需要按顺序来执行。
由于关键路径代表需要花费最多时间完成的路径,因此它不包含浮动时间。关键路径上的延迟会影响整个项目,而非关键路径上的任务的完工时间可以有一些浮动。 因此,与承担关键路径任务的团队成员相比,承担非关键路径任务的团队成员可能不必像前者那 样马不停蹄地赶工。 然而,如果承担非关键路径任务的团队成员不够谨慎,他们的任务总工期可能会超过关键路径上的任务工期。 同样,他们也可能造成项目落后于计划。
为项目创建一个工作分解结构(WBS)。图17是我们的示例,工期以分钟为单位。
在本例中,需要最多时间的路径是任务10,即到郊游地点的40分钟车程。
根据WBS中的信息,创建一个如图18所示的流程图。请注意,在此流程图中,有些任务可以同时进行。比尔的任务和艾丽卡的任务如下图所示。
黑色线条表示方框之间的关系。
例如,“准备三明治“ 和 “准备水果“ 是通过一条细线连接起来的。比尔的任务 “制作饮料“ 与艾丽卡的任务 “准备篮子“ 由一条粗线连接在一起,稍后我们将讨论这个问题。
比尔和艾丽卡的任务都指向 “收集运动装备“。
由于 “制作饮料“ 需要30分钟,而艾丽卡的任务分别需要20分钟和4分钟,“制作饮料“ 代表了这个项目的关键路径,由比尔的第一个活动和第二个活动之间的黑线表示。
艾丽卡的路径有6分钟的浮动时间。如果她晚开始了几分钟,或者在两个任务之间逗留了一两分钟,只要她的总浮动时间不超过6分钟,她仍然能够赶在比尔前完成任务。 可以想象的是,在每项任务上多花一两分钟时间,她仍然可以赶在比尔前完成任务。但如果她松懈的时间等于6分钟,她就会和比尔同时完成任务。
上面描述的整个项目的关键路径可以通过以 下方式进行跟踪:
- 确定哪些任务是同时发生的。
- 注意哪项任务花费的时间较长。
- 规划穿过这些任务的关键路径。
- 计算整个关键路径的总长度。
按以上关键路径法,整个项目的持续时间是100分钟。目前为止,这个项目听起来很简单,对吧?
那么,让我们将所学的知识付诸实践吧:对于此项目或任何其他类型的项目,请检查关键路径任务的最早开始时间。 然后确定非关键路径任务的最早开始时间。图19的第2列显示了比尔和艾丽卡各自的任务以及合并任务的最早开始时间。
第3列显示任务2、3和5的延迟开始时间,前两个任务由艾丽卡处理,后一个任务由比尔处理。
如第4列所示,任务2、3和5的总空闲时间(即各种任务在不延迟项目完成的情况下可以延迟的累计时间总和) 分别为6分钟、6分钟和2分钟。
在计算可接受的最晚开始时间时,从右向左进行计算。关注关键路径,如果整个项目需要100分钟,那么最后一个任务(开车去郊游) 的最晚开始时间是第60分钟。 这是由项目的总时间100分钟减去40分钟的驾车时间得出的。
同样,“装车“ 和 “加油“ 任务也需要分别在第40分钟和第48分钟开始。驾车从第60分钟开始,需要在加油站停车12分钟。 因此,60-12=48。也可以用类似的方式计算出其他值。
非关键路径可接受的最晚开始时间的计算也是从右向左进行,类似于上文所述的计算方式。 浮动时间的计算方式是可能的最晚开始时间减去确定的最早开始时间。即第3列的值减去第2列的值,得出第4列的值,即浮动时间。
当两个项目团队成员同 时进行各自项目时,则会出现浮动时间。当两个团队成员同时开展一个项目活动时,则没有浮动时间,共同的活动处于关键路径上。
如果事情有变呢
如果比尔在30分钟内完成了任务1 “制作饮料“,而艾丽卡也按计划完成了自己的任务,那么在整个项目关键路径上最多可以减少6分钟。 如果艾丽卡在指定的最早时间开始努力工作,并按原计划在第24分钟完成任务,她也许可以帮助比尔完成一些子任务,从而成功完成任务1。 她的帮助可能会节省几分钟的项目总时间。
相反的情况也可能发生。在试图帮助比尔时,艾丽卡可能会把东西洒出来,把配料搞错,或者造成其他的时间延误。 如果是这样,你可以在关键路径的确定时间上加上几分钟,相当于她造成的延迟时间。
由于任务持续时间仅仅只是估算时间,很少有任务可以完全按照计划进行,所以整个项目的时间可能与比尔和艾丽卡最初估算的时间相差很大。 他们可以在任务5、8和9上节省一两分钟时间;与此同时,在这个晴朗的周六早上,交通堵塞可能会将40分钟的车程变成50分钟。
节省下来的时间往往少于丢失的时间。在许多项目中,有些任务总是会妨碍项目经理的进度,并且需要比计划多耗费20%到50%的时间。 项目经理可以找其他人协商,并同时进行自上而下和自下而上的规划,也许可以避免出现如此大的偏差,但也不是都能避免。