关键路径法是一种基于数学计算的项目计划管理方法,它将项目分解为多个独立的活动,并确定每个活动的工期。然后,通过逻辑关系(如结束 - 开始、结束 - 结束、开始 - 开始和开始 - 结束)将这些活动连接起来,从而能够计算项目的工期以及各个活动的时间特点(最早最晚时间、时差)等。在关键路径法的活动上加载资源后,还能够对项目的资源需求和分配进行分析。关键路径法是现代项目管理中最重要的一种分析工具。
一、什么是关键路径法
关键路径法的分类根据绘制方法的不同,可以分为两种:箭线图(ADM)和前导图(PDM)。
箭线图(ADM)法又称为双代号网络图法,它是以横线表示活动,而以带编号的节点连接活动,活动间可以有一种逻辑关系,即结束 - 开始型逻辑关系。在箭线图中,由于有一些实际的逻辑关系无法表示,所以需要引入虚工作的概念。绘制箭线图时主要有以下一些规则:
-
在箭线图(ADM)中不能出现回路,因为回路是逻辑上的错误,不符合实际情况,还会导致计算的死循环。
-
箭线图(ADM)一般要求从左向右绘制,这符合人们的阅读习惯,可以增加箭线图的可读性。
-
每一个节点都要编号,号码不一定要连续,但是不能重复,且按照前后顺序不断增大。在手工绘图时,这能增加图形的可读性和清晰性;在使用计算机运行箭线图时,由于计算机一般通过计算节点的时间来确定各个活动的时间,所以节点编号不重复是必须的。
-
一般编号不能连续,并且要预留一定的间隔,主要是为了在完成的箭线图中可能需要增加活动,如果编号连续,新增加活动就不能满足编号由小到大的要求。
-
表示活动的线条不一定要带箭头,但是为了表示的方便,一般推荐使用箭头,这可以增加箭线图的可读性。
-
一般要求双代号网络图要开始于一个节点,并且结束于一个节点,此要求在手工绘图时可以增加可读性,而在计算机计算时,可以增加效率和结果的清晰性。
-
在绘制网络图时,一般要求连线不能相交,在相交无法避免时,可以采用过桥法或者指向法等方法避免混淆,这主要是为了增加图形的可读性。
前导图(PDM)法又称为单代号网络图法,它是以节点表示活动,而以节点间的连线表示活动间的逻辑关系,活动间可以有四种逻辑关系,即结束 - 开始、结束 - 结束、开始 - 开始和开始 - 结束。绘制前导图时主要有以下一些规则:单代号网络图必须正确表达已定的逻辑关系;单代号网络图中,严禁出现循环回路;单代号网络图中,严禁出现双向箭头或无箭头的连线;单代号网络图中,严禁出现没有箭尾节点的箭线和没有箭头节点的箭线;绘制网络图时,箭线不宜交叉,当交叉不可避免时,可采用过桥法或指向法绘制。
二、关键路径法的起源与发展
关键路径法(CPM)最早出现于 1956 年。当时美国杜邦公司拥有一台 UNⅣAC 1 计算机,在处理完公司几乎所有数据后仍有大量剩余时间,于是管理层开始研究计算机在其他方面的应用可能性,考虑到工程计划可能是一个方向。他们联系了雷明顿兰德公司的 Macuchy 博士,后者派出年轻数学家 James E. Kelly 协助杜邦公司解决问题,杜邦公司方面的负责人是 Morgan Walker。他们要解决的问题是工程项目中工期和费用之间的关系,研究如何在减少工期的情况下尽可能少地增加费用。
1957 年 5 月 7 日,在特拉华州内瓦克召开的会议正式确定开始新计划技术的开发。Kelly 借用线性规划的概念解决项目计划自动计算问题,确定每个活动的工期和活动间的逻辑关系,输入电脑后就能自动计算项目工期。为了电脑计算,Kelly 在活动间使用了 i,j 这样的节点来表示活动间的前后逻辑关系。当时杜邦公司管理层并不理解 Kelly 所使用的方法,为了让其他人理解,Kelly 绘制了图形来解释电脑所作的工作,图形以箭线表示活动,以节点表示活动间的逻辑关系,这就是最早的箭线图(ADM)。
Kelly 和 Walker 最初研究的目的是解决项目中工期和费用之间的关系,所以在他们最初提出的方法中,也包括费用的计划方法,即在每个活动上加载相应费用,得到整个项目的费用,从而分析与进度相关的费用问题,这种做法与现用方法差别不大。但在当时,项目收集费用并分解到各个活动上存在较大困难。所以,在之后很长时期内,关键路径法主要用于进度的计划和控制方面。Kelly 和 Walker 还提出了资源加载和分配的方法,也存在和费用分析一样的问题。
尽管存在这些问题,在 1957 年 7 月 24 日,他们已经做了一个简化的例子,称为 “George Fischer Works”,这个计划包括了 61 条活动,其中有 8 个时间限制和 16 条虚工作。在刚开发出这种方法时,他们将这种方法称为 Kelly-Walker 法,而计划中的关键线路,他们称之为主链路(Main chain)。根据 Kelly 和 Walker 的论文和其它相关书籍的记载,当时他们一共进行了三个试验对 Kelly-Walker 法进行检验。
三、关键路径法的算法与使用步骤
1.画出网络图,以节点标明事件,由箭头代表作业。
在进行关键路径法分析时,首先要画出网络图。节点用于标明事件,代表某项活动的开始或结束。箭头则代表作业,即具体的活动。通过这种方式,可以清晰地展示项目中各个活动之间的关系。
在箭头上标出每项作业的持续时间。
确定了项目中的活动并绘制出网络图后,需要在箭头上标出每项作业的持续时间。这个持续时间可以根据历史数据、专家判断或其他可靠的信息来源进行估算,通常以工作日、小时或天数为单位。
计算每项作业的较早结束时间。
每项作业的较早结束时间可以通过该作业的开始时间加上其持续时间来计算。对于起始作业,其开始时间通常设为 0。然后,按照活动的先后顺序,依次计算每个作业的较早结束时间。
算出完成整个项目所需时间。
完成整个项目所需时间等于关键路径上所有作业的持续时间之和。关键路径是项目中最长的路径,决定了项目的最短完成时间。
决定每项作业的最迟结束时间。
从项目的结束节点开始,逆向计算每项作业的最迟结束时间。最迟结束时间是指在不影响项目整体进度的前提下,该作业必须完成的时间。
得到最迟开始时间。
最迟开始时间等于最迟结束时间减去该作业的持续时间。它表示在不影响项目整体进度的前提下,该作业必须开始的时间。
算出每项作业的时差。
时差是指作业的最迟开始时间与较早开始时间之差,或者最迟结束时间与较早结束时间之差。时差为零的作业位于关键路径上,对项目的整体进度具有决定性影响。
确定关键路线。
将时差为零的作业连接起来,就得到了关键路线。关键路线上的作业必须按时完成,否则将导致整个项目的延误。同时,关键路线也是项目管理中需要重点关注的部分,可以通过优化关键路线上的作业来缩短项目的完成时间。
四、关键路径法在项目管理中的应用
-
时间优化:采取先进技术、快速跟进、组织措施等缩短关键活动作业时间。例如,可以利用先进的工具和技术来提高关键活动的执行效率,减少作业时间。同时,采用快速跟进的方法,合理并行任务执行,在不影响活动逻辑关系的前提下,尽可能地缩短项目工期。此外,通过有效的组织措施,如加班、延长工时、增加资源等方式,也能加快关键活动的进度。
-
时间 - 资源优化:优先安排关键活动资源,利用非关键活动总时差。在资源分配过程中,要确保关键路径上的活动优先获得所需资源。对关键路径上的任务进行资源需求分析,明确需要哪些资源,以及需要的数量和时间,并将这些资源需求放在优先考虑的位置,确保资源能够及时到位,避免影响项目进度。同时,可以利用非关键活动的总时差,合理调整资源分配,将资源从非关键活动调配到关键活动中,以提高项目的整体效率。
-
时间 - 费用优化:在保证既定工程完工时间下费用最少,或限制费用下工程完工时间最短。一方面,要确定项目的任务和依赖关系,估计任务的持续时间,绘制网络图,计算任务的最早开始时间、最晚开始时间、最早完成时间、最晚完成时间和浮动时间,确定关键路径。然后,根据关键路径上的任务需求,合理分配资源,在保证既定工程完工时间的条件下,尽量减少费用支出。另一方面,在资源和经济受限的情况下,可以适当延长工时,通过调整任务顺序、持续时间等方式,在限制费用的前提下,使工程完工时间最短。很多项目都非综合性项目,所以项目经理要注意费用优化,确保项目在时间和费用方面都能得到最优化的管理。
五、让项目按时交付的四大秘诀
1.制定详细的项目计划:包括任务、时间表、资源需求和风险管理计划等。
在开始项目之前,制定一个详细的项目计划至关重要。首先要明确项目的目标,围绕目标确定具体的任务,确保任务分解清晰,将大目标化整为零,变成一个个容易实现的小目标。同时,确定每个任务的责任人,分工明确才能让项目顺利进行。还要确定时间,明确项目的完成时间、每个任务的耗时以及项目中的里程碑等。例如,可以通过进度猫等项目管理工具制定计划,在甘特图中对目标进行分解,估计每个任务的开始及结束时间,确定任务间的依赖关系和项目里程碑,再将任务分配给项目成员,项目成员完成任务后甘特图会自动计算项目进度。此外,项目计划还应包括资源需求,分析项目需求,确定所需的人力、物力和财力资源,并制定资源的分配计划和优先级。同时,要制定风险管理计划,提前预见项目执行过程中的风险和挑战,并制定相应的应对措施,降低风险对项目的影响。
2.设定合理的目标和里程碑:追踪进度并保持团队动力。
在项目初期,首要任务是确立清晰、具体的目标。明确项目成功的具体形态,并将其分解为可量化的小步骤或里程碑。为每个里程碑设定预期完成时间,以构建一系列切实可行的目标,确保团队成员保持积极态度并遵循既定路径。在项目进行过程中,要不断追踪进度,通过设定的里程碑来评估项目的进展情况。如果发现项目进度偏离计划,要及时采取措施进行调整,确保项目按时交付。同时,合理的目标和里程碑也能保持团队的动力,让团队成员看到自己的努力成果,激发他们的工作热情。
3.分配任务和责任:确保任务及时完成,避免冲突。
分配任务和责任是确保团队协调和有效运作的关键。首先,管理者需要明确团队的任务和目标,了解团队成员的能力和优势,根据团队成员的能力和兴趣,将任务分配给最合适的人。在分配任务时,要明确每个团队成员的责任和任务完成的期限,确保每个人都清楚自己的职责。同时,要建立有效的反馈机制,及时反馈工作进展情况,调整任务分配和计划。此外,管理者还应鼓励团队成员之间的合作和沟通,促进团队的协调和高效运作。
4.监控进度并调整计划:及时采取措施确保项目按时交付。
监控和调整任务进展是管理者的重要职责。在任务开始之前,要制定一个详细的计划和目标,确定关键绩效指标,将任务分为若干个阶段,并为每个阶段设立目标。使用项目管理工具可以帮助管理者监控任务的进展,如 禅道、8Manage PM 等项目管理软件可以跟踪任务的进度、成本和质量,并提供管理者需要的信息。与团队成员保持沟通也非常重要,管理者可以定期与团队成员会面,了解任务进展情况,解决问题。在任务进行中,要进行风险评估,识别可能会影响任务进展的风险,并制定应对措施。如果发现项目进度偏离计划,要及时采取措施进行调整,确保项目按时交付。