确定项目活动逻辑关系的第一步就是要有项目所有活动的一张清单,这样在进行项目活动逻辑关系界定时才有实实在在的对象。确定了活动之间存在某种逻辑关系后,就需要运用一定的工具和方法来描述项目活动的顺序。很多项目经理和项目管理人员喜欢将每一个活动名称写在一张一次贴或其他一些活动纸上,用手工来确定逻辑关系或排序。还有一些项目经理和项目管理人员直接用项目管理软件来建立关系。先手工进行活动排序,然后再录入项目管理软件,这样的做法通常更加容易一些。
不过,在介绍项目活动排序的方法前,先介绍图和网络的基本概念和表示方法。
图论的发展起源于1736年,著名的数学家欧拉为了解决哥尼斯堡七桥问题而作的理论证明,从而开创了图论发展的里程,以至于后来树理论、网络理论都蓬勃地发展起来。如今图与网络的一些基本概念和基本算法都广泛应用于诸多学科领域,如控制论、信息论、电学、计算机科学、生物、化学等方面。在工程设计和管理决策中的最优化问题以及社会、经济领域中的定量分析方法中,图与网络的概念和方法亦得到了广泛的应用。
网络是图的进一步发展。进度计划技术是近年来发展起来的一种项目管理和控制的有效方法。这里的网络不同于计算机中的网络,它的理论基础是运筹学中的图与网络分析。图与网络理论是近十几年来在系统工程中发展比较活跃的分支,在系统工程这门学科中的很多方面都有实际应用的价值。而网络分析方法在项目管理中卓有成效的应用对系统工程的发展起到了重要的促进作用。
4.3.1 图的基本概念
这里所讨论的图是一种数学抽象概念。它通过一些称之为节点的集合和边的集合来反映离散型事物或系统中对象的构成及其联系关系。一般情况下,可用节点集来代表所研究系统中的对象,边集代表对象之间的联系。
图的图形可以用各种形式来表示,节点的形状、大小、位置均无关紧要,边的曲直也不受限制,只要能够满足或正确表达图的定义中的二元组合关系、集合关系就可以了,因此说同一个图可以用无限多种的图形来具体表示。
在图的一般定义中,并没有限制一条边必须表示不同节点对之间的联系,也没有限定一条边必须联系不同节点。也就是说,同一对节点可以由不同边相连接,一条边也可以联系同一节点。
4.3.1.1 有关图的若干概念
(1)相邻——图中两节点之间有边相连,则称该两节点相邻。
(2)邻接——图中两条边在同一节点相遇,则称该两条边相互邻接。
(3)关联——图中各条边与其端点之间的关系为关联关系。
(4)孤立点——图中没有任何边与之关联的节点为孤立点。
(5)悬挂点——图中仅有一条边与之关联的节点称为悬挂点。根据图的节点集V和边集E的不同组成特点,可以分别定义为:
①多重图。多重图是指具有多重边,但无自环的图。
②自环图。自环图是指具有自环边,但无多重边的图。
③一般图。一般图是指允许存在自环和多重边的图。
④简单图。简单图是指既无自环又无多重边的图。
4.3.1.2 几种特殊类型的图
(1)平凡图——平凡图是指仅有一个节点而无边的图,即节点数等于1,边数等于0;
(2)零图——零图是指只有节点而无边的图,即节点数大于1,边数等于0;
(3)完备图——完备图是简单图的一种,若简单图中每一对节点之间都存在一条边,即各个节点之间都具有相邻关系,则称这类图为完备图;
(4)二分图——图的节点分成两个不交的集合1和2,图中所有的边一端在1中,另一端在2中,并且1内和2内的节点均不相邻,则称这类图为二分图;
(5)完备二分图——符合完备特征的二分图,即二分图的两个节点集之间均有边相连,但节点集内各点仍然保持不相邻。
4.3.2 有向图与网络
上面讨论的图的所有边都是没有方向的,而网络毫无疑问应是有方向的,所以这里要介绍一下有向图的基本概念,因为它构成了网络的基础知识。
在一般图中,若节点集中的某些元素是有序的,则对应的边是有方向性的,称这类有方向的边为弧,具体形式为带箭头的线。节点集和有序的弧集所构成的图称为有向图。这就是构成网络的最基础的知识。
在大量的实际问题中,图的各条边(弧)除了表示节点之间的联系外,还常常需要通过一些数量指标来反映这些联系的特征。例如,距离、时间、费用、概率、容量等都是。这些依附于边(弧)上的数量指标,统称为“权”(Weight)或“权重”。相应地,某些边(弧)或者全部边(弧)带有权值的图就称为网络。对应于图的无向性和有向性,网络也就可以相应地分为无向网络和有向网络。
目前,有向网络图在项目管理领域的应用十分广泛,其内容还在不断发展。
4.3.3 建立项目网络
为了使项目组织成员清楚地了解项目的每个部分是如何联系在一起的,针对项目中所有的活动,建立一个可视化的进度图,协助项目组织成员进行最有效的资源分配,项目经理应在工作分解结构工作完成之后,即开始组织制作项目活动网络图。简单地说,项目活动网络图就是一个按时间排列的活动关系图。
在现代项目管理中,项目活动网络图是用来计划、安排和控制项目进度的重要工具。项目活动网络图是在工作分解结构的基础上结合活动的其他信息建立起来的,是项目进度计划的一种流程图,它显示出了项目必须完成的活动、逻辑顺序、要完成活动之间的相互逻辑关系,绝大多数情况下还有活动的开始和结束时间,以及项目活动网络图上最长的路径——关键路径,因此项目活动网络图能够提供大量的信息和洞察力。项目活动网络图本质上是项目经理和项目管理人员用来做出关于项目时间、成本和质量决策时使用的项目信息系统的基本框架。
要建立项目活动网络图需要项目组织、项目经理和项目管理人员花费时间和精力来完成,因此,它们是需要消耗资源的。但这是非常必要的项目管理前期工作,除非项目被认为微不足道或时间非常短。项目活动网络图通常很容易让其他人理解,原因是网络图形表现了项目过程中的工作流程和进度安排。一旦建立了项目活动网络图,当项目实施过程中出现意外事件时,项目组织、项目经理和项目管理人员就很容易加以修改或调整。例如,如果某一项活动的设备采购延迟了,对项目产生的影响可以很快加以评估,整个项目进度计划还可以利用计算机在几分钟内加以调整。这些调整很快可以传达给所有项目干系人。
通过以上分析,项目经理和项目管理人员了解项目活动网络图的作用是非常重要的。项目网络图是活动排序的输出结果之一,其作用有:
(1)能显示项目活动并表明活动之间的先后逻辑关系,帮助项目经理或项目管理人员了解活动将以何种顺序推进,从总体上把握项目的进度计划;
(2)能识别出哪些活动是“关键性的”,能够清楚而直观地显示完成项目的关键路径和持续时间估算;
(3)每个项目参加者都能清楚自己在整个项目进度计划成功实现中的关键作用,并能形成一致以达到项目的时间、成本和质量目标;
(4)在实施项目之前就能够发现项目进度计划本身存在的缺陷,便于根据实际情况对项目的进度计划进行系统的调整和优化;
(5)项目活动网络图是资源安排的基础,能够帮助项目经理或项目管理人员发现可能妨碍整个项目进度计划按时完成的各种“瓶颈”,并有针对性地制定出消除这些“瓶颈”的方法和措施;
(6)能显示项目应考虑哪些活动需要压缩以满足项目完成的最终期限,确保将有限的资源和管理的注意力充分集中在项目的关键活动上,从而确保项目进度计划的实现。
要强调的是,项目活动网络图反映了完成项目所必须进行的所有活动,而并非从第一个节点到最后一个节点的路线中选择一种最短路径的方法。通常,为了完成整个项目,项目组织必须完成项目活动网络图中的所有活动。
对于大型项目,没有必要把所有活动都单独在一个活动网络图中反映出来,在有些情况下,其项目活动网络图中只需加入一个总结性的任务或将项目分解为几个更小的活动网络图可能更好。有一些活动项目经理和项目管理人员知道必须完成,并且无论其他活动如何,这些活动也都将完成。对于这些活动,就不需要一定包含在活动网络图中。
还有其他原因使得项目组织、项目经理和项目管理人员花费时间和精力来建立项目活动网络图。本质上,项目活动网络图通过提早建立项目进度计划并允许修正反馈而使项目意外和风险减到最少。项目实践证明,通常绘制完成一个合理的项目活动网络图代表着项目进度计划过程完成了3/4的工作。也许这有些夸张,但它表明了在实践中,项目经理和项目管理人员对项目活动网络图认识的重要性。
4.3.4 网络图的绘制
在项目进度计划管理过程中,项目活动网络图是受项目经理和项目管理人员喜爱的一种显示活动顺序的技术,它是对项目进行管理和控制的一种关键工具。利用项目活动网络图这种可视化工具显示活动之间的逻辑关系或排序的图形是非常直观有效的,项目活动网络图不仅能显示出项目工作过程中的关键和非关键路径,而且对项目进度影响最大的那些活动,项目活动网络图还可以协助进行资源分配。但在编制项目进度计划之前,首先必须了解项目活动网络图对项目的重要意义;其次,要熟悉制作网络图的规则和步骤,熟知网络图的不同类型;最后,对如何应用网络图也要有足够的认识。
4.3.4.1 活动网络图的意义
活动网络图技术既是一种科学的计划方法,又是一种有效的科学管理方法。这种活动网络图方法不仅能完整地揭示一个项目所包含的全部活动以及它们之间的逻辑关系,而且还能根据数学原理,应用最优化技术,揭示整个项目的关键活动并合理地安排进度计划中的各项活动。对于项目实施过程中可能出现的时间延迟等问题能够防患于未然,并进行合理的调整,从而使项目经理和项目管理人员能依照进度计划执行的情况,对未来进行科学的预测,使得进度计划始终处于项目经理和项目管理人员的监督和控制之中,达到以最佳的持续时间、最少的资源、最好的流程、最低的成本完成所控制的项目。
活动网络图的定义是一个项目所有活动及其相互关系的总体体现,是一种很重要的现代项目管理方法。
4.3.4.2 网络图绘制的一般过程
编制项目进度计划的初始输入依据是项目活动(或工作包)及相关信息,前面章节已作介绍,活动(或工作包)是独立于其他活动而定义的,具有确定的开始和结束时间,需要特定资源,包括技术规格,具有活动(或工作包)的成本估算。但是,工作分解结构(WBS)的设计不包括这些要素,因此这些活动(或工作包)的逻辑关系、排队顺序和持续时间等要素也就不包括在活动(或工作包)定义中。活动网络图绘制的一般过程,就是通过识别项目活动的逻辑关系、排队顺序和持续时间来编制项目的进度计划。
在现实的项目时间管理过程中,活动网络图绘制可能需要进行几个循环:第一个循环是应该先不管每个活动实际的或预期的持续时间,把所有的活动及其相互逻辑关系列出来。第二个循环是修改第一个循环,即为每个活动加上所预期的持续时间(或日历日期)。第三个循环则是对第二个循环进行调整,以反映出现实的资源可用性。第四个也是最后一个循环,就是调整所有的活动,最后得出一个令人满意的、可交付的折中方案。如果不是使用计算机来绘制活动网络图,那么可以用一块挂在墙上的白板,然后把每项活动写在即时贴卡片纸上,从左至右按照时间顺序依次排开并贴在白板上,然后将它们之间的相互逻辑关系用干性可擦写笔画在白板上,进行反复调整后可得活动网络图,就是用即时贴卡片绘制活动网络图的一般过程实例。用即时贴卡片手工方式对于绘制活动网络图这种小组活动,使用起来是十分方便的,尤其是对较小的项目。
要绘制活动网络图,项目经理和项目管理人员首先应有一份项目活动清单,则网络图绘制的一般过程为:
(1)项目经理召集项目组织成员及相关专家,他们对各自专业领域的工作应有丰富的经验和直接的知识。
(2)如果已经有了项目工作分解结构(WBS)的内容,就直接把它们写在即时贴卡片上;如果没有工作分解结构,由项目组织成员及相关专家讨论出或用资料数据证明完成项目可交付物必须进行的一切活动(此话题已在项目活动定义内容中详细讨论),并将它们记在即时贴卡片上。
(3)估算出完成每项活动需要的持续时间,也就是该活动的历时,同样记录在每项活动的即时贴卡片上,包括时间的单位,如小时、天、日或周、年等(此话题在项目时间估算内容中还会详细讨论)。为某办公室搬迁项目活动记录即时贴卡片排序过程。
(4)找出第一项必须首先进行的活动,然后将这张即时贴卡片放在一个大工作面的最左边,“开始”活动。
(5)考察有没有可以与第一项活动同时进行的其他活动?如果有,将那张活动即时贴卡片放在第一项活动的上方或下方,“编制搬迁项目计划”活动,如果没有再进行下一步。
(6)考察什么是下一项必须做的活动,有其他活动可以同时进行吗?重复这样的考察过程,直到所有记录的活动都相继或平行地排列好。值得注意的是,在进行每一步时都要问:“我们是否忘记了其他需要做而且可以同时进行的活动吗?”
(7)给每项活动编号,用箭线连接,得到项目活动的网络图,例如,所示为某办公室搬迁项目活动记录即时贴卡片排序编号过程。
(8)确定关键路径和项目活动的持续时间。在活动网络图中从左到右,估算出持续时间最长的那条路线,即为项目的关键路径,其长度就是项目完成的时间。位于关键路径上的全部活动称之为关键活动,除非另一项活动加速或取消,在关键路径上的任何活动如果耽搁将拖延计划完成的时间。同样,在关键路径上的任何活动加速则可以缩短计划完成的时间。
4.3.4.3 活动网络图的层次性
项目活动网络图的层次可以分成顶层网络、子网络、基层网络等多种形式。项目活动网络图绘制过程类似于工作分解结构(WBS)的过程。也就是说,最底层的活动(或工作包)用来为基层项目管理人员建立详细的项目活动网络图;中间层子项目的更为集成的项目网络图主要针对部门经理(第2层计划);顶层(第1层计划)项目网络图主要针对项目经理、高层管理人员和客户。其中,顶层项目网络图通常展示为甘特图,又被称为里程碑计划。每个层次信息的正确性取决于活动(或工作包)的精确详细程度。
但是,项目活动排序结果和网络图绘制在项目管理实践过程中常常会表现得很不一样,也就是说不同的项目组织、项目经理和项目管理人员对项目活动进行排序的结果和绘制的网络图往往可能会不一样,这种不一样的主要原因是:
(1)相同的活动(或工作包)由不同的项目组织、项目经理和项目管理人员按其不同的理解和经验来定义。
(2)工作分解结构(WBS)构造不同,定义的可交付物或产出期望的不同。
工作分解结构(WBS)和项目网络图的整合对于有效进行项目时间管理非常关键。因此,项目经理和项目管理人员必须小心保证其连续性和统一性,一般而言,尽量让同一组人来定义同一个项目的工作分解结构(WBS)和绘制项目网络图是明智的做法。
4.3.4.4 网络图绘制的规则
建立项目活动网络图要服从一些基本规则,以下规则在建立项目活动网络图时是普遍适用的:
(1)典型的网络图是从左到右排列项目活动。
(2)只有在所有前置的相关活动已经完成时,后续的活动才能开始。
(3)网络图中的箭线表示领先关系和流向,箭线可以彼此交叉。
(4)每个活动应有唯一的识别编码。
(5)后续活动的识别编码必须大于它前面所有活动的识别码。
(6)环路不允许发生(换言之,不能发生一系列活动中的循环)。
(7)不允许条件陈述或判断(即这样的陈述不应发生:如果成功,做什么事;如果不成功,则不做)。
(8)经验表明,存在多个开始活动时,应用一个公共的开始节点来明确表示网络中的项目开始点。类似地,单个项目终止节点用来表示明确的结束活动点。
4.3.4.5 网络图绘制步骤
在学习了网络图绘制的一般过程后,理解网络图绘制的步骤就很容易了,基本绘制步骤如下:
(1)确定所有工作分解结构中级别最低的活动,将这些活动的名称写在一个列表中;
(2)按照活动的内在逻辑顺序关系进行安排,绘制逻辑顺序关系表,尽可能使所有的活动并行进行(先假设资源是无限的);
(3)绘制网络图,在活动网络图中每一个活动节点上面标注估算的活动持续时间,并对每一条活动路径进行时间长度估算;
(4)时间长度最长的活动路径为关键路径,根据这个时间画出横坐标的标尺;
(5)建立时标网络,先画出关键活动路径,再画出非关键活动路径。
4.3.4.6 网络活动标识号
在项目活动网络图中,应为每个活动编制唯一的识别标识号——通常用一个数字表示。当然,在项目实践中存在多种有序的标识号方案,绝大多数方案将活动以升序编制标识号,也就是每个后续活动具有更大的数字,这样,项目活动的流向就朝向项目的结束方向。习惯上标识号的数字之间要留下空位(1,5,10,15……),这些空位很有用,可以让项目经理和项目管理人员日后增加遗漏或者新的活动。由于要一次绘制出完美的项目活动网络图几乎不可能,所以对网络编制标识号最好等到活动网络图完成以后再进行,这样标识号的修改和调整最少。
作为一个一般性规则,网络图活动标识号应是升序的,尽可能简单,意图是使项目经理和项目管理人员及项目干系人尽可能容易地根据标识号编制方案来跟踪网络上的活动和定位特定活动。
实际上计算机项目管理软件可接受数字、字母或组合名称的活动标识号。一般组合名称的标识号常常用来识别成本、工作技能、部门和地点等。
这里,应注意活动网络图标识号与前面介绍的工作分解结构(WBS)编码的区别。
4.3.4.7 网络逻辑错误
绘制项目活动网络图需要服从一些特定逻辑规则。一条规则是一般不允许有类似“如果检验成功则建立原型,如果失败则重新设计”的条件陈述。网络图不是一种决策树,它是一种假设会预期实现的项目计划。如果允许条件陈述,则顺推和逆推过程就没有多大意义了。尽管在现实中,项目进度计划很少在每个活动细节上都能如预期的那样实现,但它仍是一种合理有效的初始项目假设。项目组织一旦根据项目活动网络图建立了项目进度计划,项目经理和项目管理人员对其进行更改和调整就比较容易了。
另一条规则是一般项目网络图和计算过程不能出现闭环,而闭环是项目网络图计划者企图返回更早的一个活动。注意在项目网络图中前一活动的标识号应比后一活动的更高,这一规则有助于避免活动之间的错误逻辑关系。一个活动只能出现一次,如果它再一次出现,那么活动应该具有新的名称和标识号,应该位于网络更右边的部分。
4.3.4.8 网络图的不同类型
一般来说,用来绘制项目活动网络图的方法有两种:一种是节点活动法(Activity-on-node,AON),另一种是箭线活动法(Activity-on-arrow,AOA)。两种方法均使用图和网络的基本内容——节点和箭线。它们的名称来自于前者使用节点来表示活动,而后者使用箭线来表示活动。从这两种方法在20世纪50年代后期第一次得到使用以来,实践者提出了许多的改进。不过,基本模型经受住了时间的考验,在仅经过了形式上的小小修改后仍然流行。
实践中,与箭线活动法(AOA)相比,节点活动法(AON)有很多优点,也更常用,主导着绝大多数的项目网络图的编制。首先,大多数项目管理软件使用节点活动法。其次,节点活动法避免了使用虚活动(没有持续时间、不占用资源的活动,只有箭线活动法偶尔用它来表示活动之间的逻辑关系)。最后,节点活动法可反映活动之间的各种逻辑关系,而箭线活动法只能反映活动之间的完成—开始逻辑关系。不同的项目组织、项目经理和项目管理人员都有自己“最喜欢”的方法,常常取决于已经购买和使用的项目管理软件,新成员或外来者很少能控制方法的选择。如果还有分包商参与项目,要求他们改变整个项目管理系统来配合你使用的方法是不合理的。不过关键在于,项目管理者应该精通这两种方法,项目经理和项目管理人员应在使用节点活动法和箭线活动法的项目中都感到游刃有余。
下面重点介绍绘制项目活动网络图的这两种方法。
4.3.5 节点活动法
节点活动法(Activity-on-node,AON)又称为前导图法(Precedence Diagramming Method,PDM)或单代号网络图法,它是用节点(用方框表示)表示活动,一个节点表示一项活动,通过箭线连接表明活动之间的相互逻辑关系的绘制项目活动网络图的网络图绘制技术。也即用箭线连接表示活动是如何相关的,以及活动完成上的次序,箭线的长度和倾斜程度是任意的,只要方便画出网络就行,方框中的文字用来识别活动。实践中,每项活动具有唯一的活动标识号和活动持续时间描述。
对于项目活动网络图中包含的活动,当几项活动相互衔接时,必然会建立三种基本活动关系。这些活动关系可以通过对每个活动所示的节点活动法基本原理中找到。
(1)前置活动,或者称为紧前活动——在本活动之前必须正好完成的那些活动。在活动网络图中,对其中某项活动(称为本活动)而言,逆箭头方向、与该活动紧密相连的活动就称为前置活动,即表示本活动只有在与其相连的活动完成之后才能开始进行,如所示,活动A是活动B的前置活动,活动B是活动C的前置活动。
(2)后续活动,或者称为紧后活动——那些活动必须正好跟随在本活动之后。在活动网络图中,对其中某项活动(称为本活动)而言,顺箭头方向、与其紧密相连的活动就称为本活动的后续活动,即表示与其相连的活动只有在本活动完成之后才能开始进行,如所示,活动B是活动A的后续活动,活动C是活动B的后续活动。
A之前无活动,B之前是A,C之前是B。也就是说在列出一系列事情后,首先做第一个,而后移动到下一个活动,如此继续。网络图告诉项目经理,活动A必须在活动B可以开始之前完成,而活动B必须在活动C可以开始之前完成。
(3)平行活动,或者称为同时活动——那些可以在这一活动正在进行时进行的活动。
B和C之前是A,B和C可同时开始,也可不同时开始。也就是说活动B和C只有在活动A完成之后才能开始。还表明如果项目经理愿意,则B和C可以同时或并行发生,即活动B和C被认为是平行活动,不过它不是一个必要条件。平行路径允许同时进行努力,这可能会缩短完成一系列活动的时间。活动A有时被称为分支活动,原因是多于一条箭线从这一节点迸发出来。箭线的数目表明有多少个活动直接跟随着活动A。
A、B和C可同时开始,也可不同时开始,但是,A、B和C在D开始之前都必须结束。也就是说活动A、B和C如果愿意可以同时发生,而活动D只有在A、B和C都完成后才能开始。活动A、B和C是平行活动。活动D被称为汇合活动,原因是多于一个活动必须在D可以开始之前完成。活动D有时也可被称为里程碑活动。
C之前是A和B,D之前是A和B。也就是说活动A和B是可以同时发生的平行活动;活动C和D也是平行活动。然而活动C和D只有在A和B都完成以后才能开始。
上面这些活动网络图基本关系显示了项目活动之间可能存在的几种逻辑关系。这些活动网络图基本关系允许项目经理和项目管理人员构造项目活动序列和相互逻辑关系的简单流程图,对加强理解活动的某种类型时间关系具有可视性帮助。注意,箭线可以彼此交叉,可以弯曲,或者可以是任意长度或角度。整洁性不是有效绘制活动网络图的标准——活动网络图仅需要的是精确包含所有项目活动、它们的相互逻辑关系以及持续时间估算。
4.3.5.1 用节点活动法(AON)绘制网络图的方法
绘制项目活动网络图的目的,是将活动安排在正确的顺序中以便估算活动的开始和结束时间。活动持续时间估算来自活动中的作业时间,并被加入到项目活动网络图中。网络图的绘制应在以下基础上进行:
(1)工作分解结构(WBS)及相关活动信息。
(2)活动先后逻辑关系及其表达形式的确定。活动先后逻辑关系主要有三种:第一种是活动之间固有的硬依存关系;第二种是可认定的、可调整的软依存关系;第三种是外部依存关系,当然还有约束条件与假设。通常,活动逻辑关系的确定应首先分析确定活动之间固有的硬依存关系,在此基础上,再分析确定各活动之间的软依存关系、外部依存关系及约束条件与假设。
(3)活动持续时间的估算。这是编制项目进度计划的一项重要基础工作,它直接关系到各活动路径的时间估算和完成整个项目活动所需要的总时间估算。在下一章中将详细讨论有关内容。
通常网络图的绘制顺序一般有以下三种方法。
(1)顺推法(或称前进法)——可估算出活动的最早开始时间。从第一项起始活动开始,首先确定由起始活动开始的工作,然后,根据已经得到的活动之间的先后逻辑关系,确定每项活动直接的后续活动,这样把各项活动依次由前向后排,一直排到终止活动为止。最长的路径代表着项目进度计划的完成时间,被称为关键路径(CP)。这里有几个基本概念要介绍:
①最早开始(Early Start,ES)时间——表示某项活动最快可以何时开始,即指各前置活动全部完成以后,本活动有可能开始的最早时间。
②最早结束(Early Finish,EF)时间——表示某项活动最快可以何时结束,即指各前置活动全部完成以后,本活动有可能完成的最早时间。
③预期时间(Expected Time,ET)时间——表示项目最快可以何时结束。
顺推法在网络图中计算最早开始时间和最早结束时间的具体原则如下:
①对于一开始就进行的活动,其预计最早开始时间一般设为0.活动A最早开始时间一般设为0.
②计算每项活动的最早开始时间(ES)时,应以项目预计开始时间为参照点进行正向推算。对于中间的某项活动,其活动的最早开始时间(ES)必须等于或晚于直接指向这项活动的所有前置活动的最早结束时间(EF)中的最晚时间。活动A最早开始时间为第0天,活动B最早开始时间为第3天,活动D最早开始时间为第6天。
③根据网络图每条活动路径上的活动最早开始时间来确定其最早结束时间。最早结束时间可在这项活动最早开始时间的基础上加上这项活动的持续时间Dur(Duration)进行计算,即最早结束时间(EF)最早开始时间+活动持续时间ES+Dur。
一般可从顺推法中计算出三个活动持续时间值:最早开始时间(ES),最早结束时间(EF),项目预期时间(ET)。
(2)逆推法(或称后退法)——可估算出活动的最迟结束时间。从最后的终止活动开始,首先确定直接进入最后活动的活动,然后根据已经得到的活动之间的先后逻辑关系,确定每项活动直接的前置活动,这样把各项活动依次由后向前排,一直排到第一项起始活动为止。在网络图每个活动路径上逆向前推,减去活动持续时间就得到每个活动的最迟开始时间(LS)与最迟结束时间(LF)。但在可以进行逆推计算之前,必须选择最后的项目活动的最迟结束时间。这里同样有几个基本概念要介绍:
①最迟开始(Late Start,LS)时间——表示活动最晚必须何时开始,即指在不影响整个项目按期完成的条件下,本活动最迟必须开始的时间。
②最迟结束(Late Finish,LF)时间——表示活动最晚必须何时结束,即指在不影响整个项目按期完成的条件下,本活动最迟必须完成的时间。
③关键路径(Critical Path,CP)——它是网络中最长活动的路径,如果延迟就会延误整个项目的时间。
④时差或浮动(Slack or Float,SL)时间——本活动可以延迟的时间,即指在不影响后续活动最早开始时间的前提下,本活动所具有的机动时间。
⑤总时差或浮动(Total Slack or Float,TS)时间——活动可以总共延迟的时间,既指在不影响整个项目的完成时间的前提下,某些活动所具有的总机动时间。
逆推法在网络图中计算最迟开始时间和最迟结束时间的具体原则如下:
①对于最后完成的活动,其最迟结束时间就是项目规定的完成时间长度。项目的完成时间为6天。
②计算每项活动的最迟结束时间(LF)时,应以项目预计完成时间作为参照点进行逆向计算。对于中间的某项活动,其活动的最迟结束时间(LF)必须等于或早于该活动直接指向的所有后续活动的最迟开始时间(LS)的最早时间。活动D的最迟结束时间为第6天,活动B的最迟结束时间为第3天,活动A的最迟结束时间为第2天。
③根据网络图每条活动路径上的活动最迟结束时间(LF)来确定其最迟开始时间。最迟开始时间(LS)可在该活动最迟结束时间(LF)的基础上减去该活动的持续时间得出,即最迟开始时间(LS)最迟结束时间——活动持续时间LF-Dur。活动B的最迟开始时间为第3天。
(3)重点作业法。从最重要的活动排起,考虑哪些活动要放在其前面,哪些活动要放在其后面,按各活动的相互关系来安排。
运用重点作业法计算活动路径的时间时,最重要活动的前置活动持续时间计算用逆推法计算。同理,最重要活动的后续活动持续时间计算用顺推法计算。
4.3.5.2 节点活动法绘制网络图的规则
在用节点活动法(AON)绘制网络图时,需要遵守下列规则(该规则对后面介绍的箭线活动法同样适用):
(1)网络图是有向图,因此图中不能出现无头箭线和双头箭线,只允许出现单头箭线;
(2)网络图中活动与方框一一对应,两个相邻方框间只需要一条箭线相连;
(3)箭线必须从一个方框开始,到另一个方框结束,不能从一条箭线中间引出其他箭线;
(4)网络图中不能有循环回路;
(5)网络图中不能出现无节点的箭线;
(6)网络图中只能有一个起始节点和一个终止节点;
(7)网络图中的箭线要尽量避免交叉。
对于包含多个活动路径的复杂网络来说,最早开始时间必须通过整个网络从开始到结束的顺推计算才能确定,而最迟开始时间必须通过整个网络从结束到开始的逆推计算才能确定。
在运用了顺推法和逆推法计算网络图的活动持续时间参数后,项目经理和项目管理人员就可以通过计算“时差”或“浮动时间”来确定哪些活动可以延迟了。
4.3.5.3 时差的确定
上面已提到时差或浮动时间(Slack or Float Time)的概念,它指一项活动在不耽误后续活动或项目完成时间的条件下可以拖延或延迟的时间长度,它表明项目活动或整个项目的机动时间。
时差分为两种类型:活动总时差和单时差。活动总时差是指在不影响项目在规定时间内完成的情况下,项目活动最迟结束(开始)时间和最早结束(开始)时间的时间间隔;活动的单时差则是在不影响下一个活动最早开始的前提下,完成该活动所拥有的机动时间。由此可见,总时差是单时差的综合,但不是单时差的简单累加。在实际的项目中,对这两个时差概念没有特意区分,统称为时差或浮动时间。时差越大,则表示项目的机动时间的潜力也越大。时差可以通过下式计算:
时差(SL)LF-ES-DU
或者时差(SL)=LF-EF
总时差告诉项目经理和项目管理人员活动可以延迟,同时不延误整个项目的时间长度。如果一个活动路径上的活动的时差被使用,则这一个活动路径上后续的所有活动的最早开始时间(ES)会推迟,从而减少它们的时差。总时差的使用为项目经理和项目管理人员提供了项目时间管理更大的灵活性,同时也必须和这一个活动路径上后续活动的项目参与人员进行协调。
如果项目某条活动路径的总时差为正值,这一正的总时差可以由该路径上所有的活动来共用。当该路径上的某项活动不能按期完成时,则可以利用该路径的总时差,而不必担心影响项目的进度。如果项目某条路径的总时差为负值,则表明该路径上的各项活动要加快进度,压缩在该路径上花费的时间总量,否则项目就不能在计划的时间范围内顺利完成。如果项目某条路径的总时差为零,则表明该路径上的各项活动不用加速完成但是也不能拖延时间。
由此可见,项目网络图的管理精髓就在于为项目经理和项目管理人员提供了使用时差来调整整个项目的进度。但不能夸大使用时差的重要性,不适当地使用时差会增大项目按期完成的风险;适当使用时差,将会获得更好的项目管理效果。
4.3.5.4 活动的逻辑关系
通常,根据BS6046标准,用节点活动法(AON)表示节点的活动方框标识示例。括号内的术语代表绝大多数教科书、计算机项目管理软件以及项目经理和项目管理人员使用的缩略语,这些时间缩略语通常作为每个节点的组成部分。示例中“Dur”表示活动持续时间。
(1)结束—开始(FS):前一活动必须在后一活动开始前结束。例如,只有在新计算机系统和软件安装之后,才能进行用户计算机培训工作。注意,结束—开始(FS)是最常用的一种逻辑关系。
(2)结束—结束(FF):前一活动必须在后一活动结束前结束。一项活动不能在另一项活动之前完成,例如,质量控制工作不能在生产完成之前完成,尽管这两项活动有可能在同一时间进行。
(3)开始—开始(SS):前一活动必须在后一活动开始前开始,即一组活动同时开始。例如,当一个新服务器系统起用时,许多配置计算机终端的活动可同时发生。
(4)开始—结束(SF):前一活动必须在后一活动结束前开始。这种关系一般很少被采用。
在节点网络图中,结束—开始型关系最为常用,开始—开始型和结束—结束型关系允许两项活动有一定程度的并行,开始—结束型关系是在理论上才有意义的,现实中很少见到。
4.3.5.5 搭接网络技术
项目在实施过程中,项目经理和项目管理人员并不需要一定等到前一个项目活动完全完成后,才开始进行下一个项目活动。实际上,项目经理和项目管理人员常常是在前一个项目进行到一定程度时,就开始实施后一个项目活动。例如,在新设备开发项目实施过程中,当设计进行到一定程度还未全部完成时,就可开始进行原材料和一些零部件的采购工作;在新设备装配到一定程度后就可以开始进行人员操作培训和测试等准备工作。
在上一节内容中显示的活动之间标准的结束—开始关系,是假定所有直接前置的关联活动必须在下一个活动可以开始之前完成。但是,对于所有直接前置活动必须100%完成的假定,在实践中当一个活动与另一个活动重叠并要持续很长时间时,这一假定被发现具有很大的局限性。因此,项目经理和项目管理人员在编制项目进度计划时,如采用一般网络图绘制技术,当一个活动具有很长时间长度,会延迟直接跟随它的后续活动时,就必须把一项相关活动分解成好几个部分,并把各部分看成不同的活动,然后再绘制网络图,进行时间参数计算,这就显得不太方便。
为了更接近于项目的实际情况,可使用一种有用的扩展网络技术——搭接网络技术。搭接网络技术就是用标注相邻活动的时间间隔分段来表示其搭接关系的网络计划。搭接网络技术使用的是看起来就像梯子的阶梯化分段方法,使得后续的活动可以更快开始而不延迟工作。是铺设电缆项目的搭接网络图。要铺设电缆就首先需要挖壕沟,再铺设电缆,而后将壕沟重新填满。如果要铺设5公里长的电缆,那么不需要等到挖完5公里的壕沟后才能开始铺设电缆;或者不需要铺设完5公里电缆后才能重新填埋壕沟。此时利用的搭接网络技术来表示此过程就十分简单了。显示了在节点活动法(AON)网络中如何使用标准的结束—开始关系来表现这些重叠活动的例子,图中标注出了活动的搭接关系及时距。在挖壕沟工作进行到1/3阶段时就可以开始进行铺设电缆工作;同理,在铺设电缆工作进行到1/3阶段时就可以开始进行填埋电缆工作。
在搭接网络图中,“在挖壕沟工作进行到1/3阶段时就可以开始进行铺设电缆工作”的那个“1/3阶段”时间段称为两个活动之间的搭接时距,它表示后续活动开始实施时间距前置活动开始实施时间的时间间距,即时间差。注意,此时第一个活动可能还没有实施完成。
在一般网络图中,相邻活动之间的连接关系十分简单,仅为衔接关系。在搭接网络图中相邻活动的连接关系可有多种选择形式,可更有效、更精确地满足绘制网络计划中的各种限制条件的需要,这就给项目经理和项目管理人员的进度计划编制带来极大的方便。搭接网络技术的使用是项目管理者发现的一种非常有用的、更精确的、更接近现实的扩展网络技术。但它只适用于节点活动法表示的网络计划。
4.3.6 箭线活动法
箭线活动法(Activity-On-Arrow,AOA)又称为箭线图法(Arrow Diagramming Method,ADM)或双代号网络图法,它用节点(用圈表示)代表一个事件,用连接两个节点的箭线表示活动,一个箭线表示需要的持续时间和资源的一个项目活动,通过节点将活动连接起来表示活动相互关系的绘制项目网络图的方法。这里,表示一个活动的箭线长度并不与活动的持续时间成正比,箭线的倾斜程度也不代表任何意义。事件(Event)是满足一定条件的特定节点,例如,一个或多个活动的开始或完成,其特点是不需要花费任何时间和消耗任何资源,瞬时发生。每个活动始于一个节点,终于另一个节点。箭线活动法。这种方法虽然没有节点活动法应用得广泛,但在某些领域也是一种可供选择的方法。
在箭线活动法中,给每个事件而不是每项活动指定一个唯一的号码。活动是由两个节点中间的箭线来表示的,所以项目的活动可以由两个节点的数字来表示,如活动B可以表示为活动(2,3),事件节点的编号一般为升序,即数字是开始节点比结束节点小。事件节点可以用作一个或更多活动的开始和结束节点,而结束事件节点可以作为马上跟随的一个或更多活动的开始节点。
在箭线活动法中,活动的开始(箭尾)事件叫做该活动的前置(紧前)事件(Precede Event),活动的结束(箭头)事件叫该活动的后续(紧随)事件(Successor Event)。对“修电表”这一活动而言,前置事件是1,后续事件是2;对于“换开关”这一活动而言,前置事件是2,后续事件是3.
里程碑也是一种事件,一般是项目中的重大事件,通常指主要可交付物的完成,因此里程碑不需要消耗资源。项目活动(Activity)一般是要占用一定的时间和资源的,它们可用动词来描述,如“制定报告格式”、“确定新产品的原料”。
根据上述箭线活动法的符号可知,箭线活动法的显著特点是活动在箭线上,所以该方法也称为活动在箭线上的方法。另外,由于箭线式网络图中每个活动需要用两个节点的代号来标记,活动“修电表”需要记为活动(1,2),因此这种网络图也称为双代号网络图。
在箭线活动法中,要遵循下面两个基本原则:
(1)箭线网络图中每一事件必须有唯一的一个事件号,即箭线网络图中不能有相同的事件号。
(2)任意两项活动的前置事件和后续事件号至少有一个不相同。又由于活动是通过节点联系起来的,因此箭线网络图所表示的活动之间的逻辑关系只能是结束—开始型关系。为了正确地描述活动之间的各种逻辑关系,箭线网络图必要时需要引入一种特殊的活动,叫做虚活动(Dummy Activity)或哑活动。虚活动表示不存在的活动,不消耗时间,不需要资源,在网络图中由一个虚箭线表示,事件3和事件4之间就由虚活动(虚箭线)表示的逻辑关系。通过引入虚活动,可以更好地识别活动,间接地将其他活动间的逻辑关系表示出来。
注意,网络图中不允许出现回路,因为这样的网络图无法显示项目的整个时间长度。回路的存在,就意味着此项目将无休止地循环进行下去。
另外,在上面的例子中,箭线只提供了一种信息,即对活动的描述,为了能够描述更多的相关活动信息,箭线网络图的箭线可画成如所示的形式。需要说明的是,同方框表示法一样,这种箭线的表现形式并不是唯一的表现形式,根据描述信息的需要,箭线的表现形式还可以变化。
有了上面箭线活动法的基本概念后,下面介绍用箭线活动法绘制网络图的方法。
4.3.6.1 用箭线活动法绘制网络图的方法
运用箭线活动法(AOA)绘制网络图的基本过程与节点活动法(AON)的基本相同。主要的差别在于使用事件来设定和识别活动的最早与最迟的开始和结束时间。因此,类似于节点活动法的概念,箭线活动法也使用顺推法和逆推法。
(1)顺推法——估算活动最早时间。用箭线活动法绘制网络图过程同样开始于第一个项目事件节点,根据项目活动清单、活动逻辑关系和相关信息,找出所有从第一个项目事件节点开始的活动,在每个项目事件节点之间画一条箭线,将活动字母代号或名称写在相应箭线的上方,同时为了标明活动之间关系的方向,一定要将箭线的箭头指向相应的事件节点。如果还需要表明进行时间长度估算,那么在活动字母代号或名称旁边或下面再标注上时间长度估算及时间单位。
继续从左至右绘制网络图,寻找分枝节点与汇合节点。同节点活动法一样,当一个事件节点后跟着两个或更多活动的时候,把这种情形称为分枝事件节点或分枝节点。当两个或更多事件节点在一个事件节点之前,称这种情形为汇合事件节点或汇合节点。
继续绘制网络上的每条路径,直到图中包括了所有的活动、事件节点及最后一个项目事件节点。类似于节点活动法(AON),顺着活动路径累加计算活动持续时间。当到达一个汇合节点时,选择汇合到这个事件节点的所有活动中最大的最早结束(EF)时间为该汇合节点的最早开始(ES)时间。
一般来说,箭线活动法网络图中所有箭头应该指向右方,不要有箭线交叉,这样网络图看起来更美观一些。
(2)逆推法——估算活动最迟时间。逆推过程类似于节点活动法逆推过程。开始于最后的项目事件节点,顺着每条活动路径减去活动持续时间(LF-Dur=LS),直至到达分枝事件节点。如果到达分枝事件节点,选择从那个事件分枝节点分出的所有活动中最小的最迟开始(LS)时间。这一数值就表示事件发生不会延误项目的最迟开始时间。在逆推过程完成后,就可以识别活动时差和关键路径。
比较箭线活动法(AOA)和节点活动法(AON)的网络图绘制,就可以发现两种方法之间的相似性。和节点活动法(AON)中一样,如果结束项目事件的最早和最迟事件相同(LF=EF),则其关键路径上的时差为0;如果时间不同,则其关键路径上的时差就等于两者之差(LF-EF)。
4.3.6.2 箭线活动法绘制网络图的规则
在用箭线活动法(AOA)绘制网络图时,需要遵守以下规则:
(1)同节点网络图一样,箭线网络图也是有向图,图中不能出现回路,其原因是具有回路的项目网络图不能显示项目的整个时间长度。
当然,从理论上说,只要活动每次重复的成功概率已知或者重复的次数有所规定,则网络图中的回路还是可以处理的。
(2)活动与箭线一一对应,每个活动在网络图中必须用也只能用连接两个节点的一条有向箭线表示。
(3)两个相邻节点间只允许有一条箭线直接相连,其原因是为了能够明确地标识各项活动。
当项目的正常进展需要几个活动同时发生时,就产生了平行活动。要用平行活动连接同样的一对节点,这样就不能明确地标识各项平行活动,为此箭线活动法可引入虚活动(Dummy Activity),从而引入额外的节点,使得相邻节点间只有一条箭线直接相连。
(4)箭线必须从一个节点开始,到另一个节点结束,不能从一条箭线中间引出其他箭线。
(5)每个网络图必须也只能有一个开始事件节点和一个结束事件节点。因此,应避免出现多个开始事件节点和结束事件节点。
尽管箭线活动法网络图易于理解和绘制,但在现实中节点活动法网络图的应用更普遍。
4.3.7 两种方法比较
在20世纪50年代,项目网络图绘制大都是采用箭线活动法来完成的,直到20世纪60年代才出现了节点活动法,因此箭线网络图的运用更广泛些。但由于节点活动法网络图具有其独特的特点,现在,有经验的项目经理和项目管理人员都倾向于选用节点活动法网络图。总的来说,节点活动法网络图和箭线活动法网络图的绘制原理是差不多的,两种形式的网络图可以互换。
了解下面几点有助于加深对两种网络图绘制方法和两种形式网络图的特点的理解:
(1)节点活动法网络图将活动用方框表示,这样更自然些。
(2)节点活动法网络图的灵活性更大些,可以先在一页纸上画出所有的方框,然后插入逻辑关系。
(3)节点活动法可以在没有定义任何事件的情况下把网络图草拟出来。
(4)节点活动法网络图的软件编写更容易些,因此目前大多数现代项目管理软件都是只基于节点活动法网络图,或者是基于节点活动法和箭线活动法网络图两种网络图。
(5)节点活动法网络图不使用虚活动,而箭线活动法网络图使用虚活动。
(6)节点活动法网络图可以直接描述四种活动之间的逻辑关系,而箭线活动法网络图只能直接描述结束—开始型一种逻辑关系。
(7)节点活动法网络图用节点表示活动,用箭线连接活动;而箭线活动法网络图用箭线表示活动,用节点来连接活动。
(8)箭线活动法网络图用符号表示事件,这对初学项目网络图绘制者非常有帮助,可以避免混淆活动与事件的关系。
4.3.8 网络模板法
网络模板法(Network Templates)是指项目经理和项目管理人员可以用一些标准的网络图或者过去完成的项目网络图作为新项目网络图的模板,根据新项目的实际情况来调整这些模板,即可以准确、高效地绘制出新项目的网络图的方法。网络图模板可能包括整个项目的网络图,也可能只包括其中的子项目的网络图。子项目的网络图对于整个项目网络图的编制是十分有用的,一个项目可能包括若干个相同的或者是相似的部分,它们就可以用类似的子项目的网络图加以描述。
目前大多数现代项目管理软件和互联网上都有大量的项目网络模板,项目经理和项目管理人员在绘制项目网络图时应首先参考此类项目网络模板,这样绘制项目网络图的效率会事半功倍。为项目管理软件Microsoft Project 2003自带的本机项目网络图模板示例。
4.3.9 关键线径
一般情况下,项目经理和项目管理人员在绘制好网络图时,就希望确定其关键路径,以便决定对此网络图的取舍、修改和优化。在前面已提及关键活动与关键路径的概念,本节将重点介绍其详细内容。
4.3.9.1 关键路径的相关概念
路径——网络图中,从起点节点开始,沿箭线方向顺序通过一系列节点和箭线,最终到达终点节点的网络路线叫路径。
关键路径——在项目进度计划中,只有网络图中最长或耗时最多的活动路径完成之后,项目才能结束,这条总活动持续时间最长的活动路线就叫做关键路径(Critical Path)。关键路径上总时差最小的活动称为关键活动。因为这些活动一旦延期,就会影响项目进度计划的总时间目标的完成,所以,它们对项目进度计划的实施起着关键作用,故称为关键活动。
对于一个项目而言,关键路径具有以下特点:
(1)关键路径上所有活动的持续时间决定整个项目的完成时间,关键路径上所有活动的持续时间加起来就是项目的完成总时间(工期)。
(2)关键路径上的任何一个活动都是关键活动,关键路径上的活动是总时差为零的活动,即关键路径上的活动没有时差,其中任何一个活动的延迟都会导致整个项目完成时间的延迟。
(3)全部由关键活动组成的关键路径是耗时最长的路线,因此要想缩短项目的完成总时间(工期),必须在关键路径上想办法,缩短关键路径上的关键活动的持续时间;反之,若关键路径的持续时间延长,则整个项目的完成总时间(工期)就会延长。
(4)关键路径的持续时间是可以完成项目的最短时间量。
一个项目进度计划中,至少有一条关键线路,也可能有多条关键线路。为使其易于识别,以利于管理,通常采用双箭线或粗箭线将关键线路标出。当然也可使用红、蓝等彩色箭线将其标出来,大多数的项目管理软件采用的就是这种方式。
4.3.9.2 关键路径的确定
在计算出项目进度计划的每一个活动的时差后,该进度计划的关键路径就十分容易确定了,总时差为零的活动即为关键活动,而由关键活动组成的线路即为关键路径。即项目关键路径可以识别为那些具有LF=EF或时差为0(LF-EF=0)或者LS-ES=0的活动,关键路径是具有共同的最小时差的项目网络路径。在实践中,负的时差在关键路径延误时会出现。
在网络图不那么复杂时,采用手工来确定关键线路的常用的简便方法有破圈法和标号法。但现在项目网络图一般都很复杂,项目经理和项目管理人员一般都喜欢依靠项目管理软件来自动确定关键线路。
在关键路径上的活动中有任何一个延误都会造成整个项目同等时间的延迟。因此,项目经理和项目管理人员对关键路径上的活动需密切注意,以保证它们不会被延迟。由于网络中仅存在最长的关键路径(可能多于一条),网络中的其他路径时间都一定短于关键路径,因此,一定存在一些活动能在它们实际所需的时间之前完成,即其他路径上的活动完成时间与关键路径上活动完成时间的时间差,即所谓的时差。关键路径对于资源计划和分配很重要,项目经理和项目管理人员可以在不延长关键路径时间的情况下,利用时差更新那些非关键路径活动的进度计划,将非关键路径所需的人力、费用、设备及设施等资源调整到关键路径上的活动,实现资源的最充分利用。通过利用时差来更新非关键路径活动的项目进度计划的方法,可在全项目范围内提供一种较好的资源平衡,并可能通过减少空闲或等待时间来降低项目成本。此议题在后面的内容还会详细地讨论。
4.3.10 项目管理软件
项目管理软件的一项重要功能就是活动排序。为Microsoft Project 2003项目管理软件的活动排序示例。所示为Microsoft Project 2003项目管理软件的网络图示例。