关键路径法
如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭
关键路径法
关键路径法(Critical Path Method, CPM)是一种基于数学计算的项目计划管理方法,是网络图计划方法的一种,属于肯定型的网络图。关键路径法将项目分解成为多个独立的活动并确定每个活动的工期,然后用逻辑关系(结束-开始、结束-结束、开始-开始和开始结束)将活动连接,从而能够计算项目的工期、各个活动时间特点(最早最晚时间、时差)等。在关键路径法的活动上加载资源后,还能够对项目的资源需求和分配进行分析。关键路径法是现代项目管理中最重要的一种分析工具。
目录
1.正推法
2.逆推法
1.节点计算法
2.工作计算法
3.正推法计算
3.创建WBS的方法
5.WBS的表示方式
6.WBS的分解方式
7.创建WBS的过程
8.WBS的使用
9.WBS的实践经验
1.正推法
2.逆推法
1.节点计算法
2.工作计算法
3.正推法计算
展开
编辑本段关键路径法的分类
根据绘制方法的不同,关键路径法可以分为两种,即箭线图(ADM)和前导图(PDM)。
关键路径法
箭线图(ADM)法又称为双代号网络图法,它是以横线表示活动而以带编号的节点连接活动,活动间可以有一种逻辑关系,结束-开始型逻辑关系。
在箭线图中,有一些实际的逻辑关系无法表示,所以在箭线图中需要引入虚工作的概念。
编辑本段箭线图
箭线图(ADM)要表示的是一个项目的计划,所以其清晰的逻辑关系和良好的可读性是
关键路径法
非常重要的,除了箭线图(ADM)本身具有正确的逻辑性,良好的绘图习惯也是必要的。因此在绘图时遵守上面的这些规则就是非常重要的,另外,在绘图时,一般尽量使用直线和折线,在不可避免的情况下可以使用斜线,但是要注意逻辑方向的清晰性。
绘制箭线图时主要有以下一些规则:
1. 在箭线图(ADM)中不能出现回路。如上文所述,回路是逻辑上的错误,不符合实际的情况,而且会导致计算的死循环,所以这条规则是必须的要求。
2. 箭线图(ADM)一般要求从左向右绘制。这虽然不是必须的要求,但是符合人们阅读习惯,可以增加箭线图(ADM)的可读性。
3. 每一个节点都要编号,号码不一定要连续,但是不能重复,且按照前后顺序不断增大。这条规则有多方面的考虑,在手工绘图时,它能够增加图形的可读性和清晰性,另外,在使用计算机运行箭线图(ADM)这一条就非常重要,因为在计算机中一般通过计算节点的时间来确定各个活动的时间,所以节点编号不重复是必须的。
4. 一般编号不能连续,并且要预留一定的间隔。主要是为了在完成的箭线图(ADM)中可能需要增加活动,如果编号连续,新增加活动就不能满足编号由小到大的要求。
5. 表示活动的线条不一定要带箭头,但是为了表示的方便,一般推荐使用箭头。这一条主要是绘制箭线图(ADM)时可以增加箭线图(ADM)的可读性。
6. 一般要求双代号网络图要开始于一个节点,并且结束于一个节点。此要求可以在手工绘图增加可读性,而在计算机计算时,可以增加效率和结果的清晰性。
7. 在绘制网络图时,一般要求连线不能相交,在相交无法避免时,可以采用过桥法或者指向法等方法避免混淆。此要求主要是为了增加图形的可读性。
编辑本段前导图
前导图(PDM)法又称为单代号网络图法,它是以节点表示活动而以节点间的连线表示活动间的逻辑关系,活动间可以有四种逻辑关系,结束-开始、结束-结束、开始-开始和开始-结束。
编辑本段关键路径法的起源
关键路径法(CPM)最早出现于1956年,当时美国杜邦(Du Pont)公司拥有一台UNIVAC 1 计算机,他们使用这台计算机进行他们公司几乎所有的数据处理工作,但是仍然还有大量的剩余时间,杜邦(Du Pont)公司的管理层开始研究计算机在其它方面使用的可能性,因为当时电脑的费用是非常高昂的,他们考虑工程计划可能是应用电脑的一个方向。
关键路径法
他们联系了雷明顿兰德(Remington Rand)公司的Macuchy 博士,帮他们解决计算机使用的问题,后者派出了年轻的数学家James E. Kelly去协助杜邦(Du Pont)公司解决问题,杜邦公司方面的负责人是Morgan Walker。
他们要解决的问题是在工程项目中工期和费用之间的关系,他们研究的是如何能够采取正确的措施,在减少工期的情况下能尽可能少的增加费用。1957年5月7日,在特拉华州内瓦克召开的一个会议正式确定开始新计划技术的开发。Kelly借用了线性规划的概念来解决项目计划自动计算的问题,简单的说就是确定了每个活动的工期和活动间的逻辑关系,输入电脑后就能自动计算项目的工期,为了电脑的计算,Kelly在活动间使用了i,j这样的节点来表示活动间的前后逻辑关系。
当时遇到的一个问题是,杜邦公司的管理层并不理解Kelly所使用的方法,为了让其他人能够理解所使用方法的原理,Kelly就绘制了图形来解释电脑所作的工作,图形以箭线表示活动,以节点表示活动间的逻辑关系,这就是最早的箭线图(ADM)。
前面提到过,Kelly和Walker最初研究的目的是为了解决项目中工期和费用之间关系的问题,所以在Kelly和Walker最初提出的方法中,也包括费用的计划方法,其做法是,在每个活动上加载其相应的费用,从而得到整个项目的费用,就能分析与进度相关的费用问题,这种做法与现在所用的方法没有太大差别。不过,在当时的情况下,项目收集费用并分解到各个活动上存在较大困难。所以,在之后的很长时期
关键路径法
内,关键路径法主要还是用于进度的计划和控制方面。Kelly和Walker还提出了资源加载和分配的方法,当然也存在和费用分析一样的问题。
尽管存在这些问题,在1957年7月24日,他们已经做了一个简化的例子,称为”George Fischer Works”,这个计划包括了61条活动,其中有8个时间限制和16条虚工作。在刚开发出这种方法时,他们将这种方法称为Kelly-Walker法,而计划中的关键线路,他们称之为主链路(Main chain)。
根据Kelly和Walker的论文和其它相关书籍的记载,当时他们一共进行了三个试验对Kelly-Walker法进行检验。第一个试验是在1957年12月份,杜邦公司成立了一个测试小组对这种新的计划方法测试,有一个传统的计划组与他们同时独立对一个价值1000万美元的化学设备项目进行计划。这个测试小组的成员没有参与Kelly-Walker法的开发,但是在开始测试之前,他们接受40个小时的培训。此项目的计划从初步设计的完成开始,在编制计划时,他们首先将整个项目分解成一些较小的工作包,然后再将这些工作包最终分解成为活动,项目共有800条活动,其中包括400条施工活动,150条采购和设计活动。根据记载,在此项目中显示出的Kelly-Walker法的最大优势在于,此项目在实施中出现了较大的变更,相对于传统计划方法,使用Kelly-Walker法更容易更新计划,其工作量仅有最初建立计划的10%,另外,在设计信息只有30%的情况下,能够比较准确的预测劳动力,还有就是能够比较准确的识别关键的采购工作。
关键路径法
1958年,他们进行了第二次试验,此试验所针对的是一个价值2000万美元的化学设备项目,根据Kelly和Walker在1959年发表的论文,此次试验显示的最主要的优点是能够比较容易的包含设计部分的计划。
不过现在人们最常提及的一个试验是他们随后进行的维护设备的试验,在此项目中,他们使用Kelly-Walker法进行分析和计划,使得设备维护时间减少了25%。
1959年,Kelly和Walker共同发表了”Critical Path Planning and Scheduling” 论文,在这篇长达25页的论文中,Kelly和Walker不仅阐述了关键路径法的基本原理,还提出了资源分配与平衡,费用计划的方法。我们今天所使用的方法的原理,与Kelly和Walker在论文中提出的方法,并没有原则上的不同。
不过随后关键路径法的发展并不是很顺利,杜邦公司开发此项技术的领导层更换之后,不再使用这项技术,而雷明顿兰德公司也认为这项技术没有太大前途。
对于关键路径法的发展起到重要作用的是Mauchly博士和Kelly随后成立的Mauchly合伙公司。在60年代初期,在Kelly的带领下,此公司进行了大量的关键路径法的培训和推广工作。
与此同时,另外一个对关键路径法(CPM)的发展起到重要作用的是美国海军北极星计划开发的计划评审技术(PERT)。在1955年11月17日,美国海军北极星计划成立了一个特别项目管理办公室(SPO),管理其Fleet Ballistic Missile计划,负责人是Admiral Raborn。在1956年和1957年期间,他们研究了各种已经存在的项目管理技术,在大约1957年秋季的时候,他们接触到了杜邦公司开发的计划管理技术,这对他们开发PERT起到了重要的作用。1958年1月份,SPO研究了在计算机上实现计划和控制的可行性,1958年1月27日,SPO正式成立了一个小组开发PERT技术,在大约一年以后,PERT技术成为一种可操作性的技术,计划评审技术(PERT)和关键路径法(CPM)基本上一样,唯一的区别是计划评审技术的每个活动的工期不是确定的,而是包括了悲观值,乐观值和最有可能值三个值。比较有趣的是,1959年,北极星计划的这个特别项目管理办公室(SPO)开了一个招待会,介绍他们的这种新技术,并希望参会者能给出更多的意见,Kelly和Walker在被邀请之列,在会上,他们发现SPO开发的PERT和他们的Kelly-Walker法原理上完全一样,而SPO所说的关键线路(Critical Path),就是他们的Kelly-Walker法中的主链路(Main Chain)。回去之后,他们决定将它们的方法的名称改为关键路径法(Critical Path Method)。
在60年代初期,PERT的发展比较迅速,据统计,到1964年,关于PERT的参考书目和论文达到了1000多种。到1961年,各种基于PERT的类似的方法出现,如PERT/Cost, PERT-RAMPS(Resource Allocation & Multi-Project Schedule),MAPS,SCANS,TOPS,PEP,TRACE,LESS和PAR等。其中PEP法是将甘特图的活动赋以逻辑关系,这是现在的计划软件一般采用的一种图形输出方法。在1962年的时候,时任美国国防部长MacNamara在起草一项法令时,指出计划评审法和关键路径法同时并存的局面容易引起混淆,以后国防部的所有部门一律使用计划评审法(PERT),这在当时对于关键路径法的提倡者是一个重大打击,不过在随后的发展中,关键路径法(CPM)逐渐占了优势,现在真正使用计划评审法的其实已经很少。而且即使是在当时,很多所谓的计划评审法(PERT),其实质其实是关键路径法(CPM)。如美国航空局(NASA)当时使用的NASA-PERT,实际就是关键路径法(CPM)。
无论是关键路径法(CPM)还是计划评审法(PERT),最初使用的表示方法都是箭线法(ADM),在之后很长的一段时间箭线法(ADM)都是人们主要使用的方法,直到70年代以后,前导图(PDM)才开始逐渐流行起来,但是箭线法(ADM)仍然使用极为广泛。在90年代以后,美国Primavera公司开发出其Windows版本的计划管理软件时,只采用前导图(PDM)作为其计算平台,从根本上改变了这一局面,从此以后,前导图(PDM)成了人们主要使用的方法,而箭线图(ADM)则很少使用。
在早期对于前导图(PDM)的发展起到重要作用的是美国斯坦福大学的John W. Fondahl,他是60年代初期的非计算机关键路径法的权威,1961年他发表了一篇题为”A Non-computer Approach to Critical Path Methods for the Construction Industry”,在这篇论文中,他阐述了前导图系统,并把它作为一种效率比较高的手工绘制关键路径法的方法,因为当时使用计算机运行CPM是非常昂贵的。Fondahl从1958年开始作为斯坦福大学的成员,受美国海军委托为其研究提高生产效率的方法。其中最主要的成果就是这份论文,这份论文当时一共出售了20000份。
在这份论文中,根据习惯使用的流程图方法,Fondahl提出了以节点表示活动以连接线表示活动间的逻辑关系。论文论述了流程图的简易性和使用手算在较少的人力投入下采用关键路径法的可能性,同时论文也论述了费用工期互为反比的问题。斯坦福大学之后继续研究了前导图(PDM)的手工进度更新的问题,并在1964年发表了相关的技术报告。
虽然Fondahl博士极力强调他提出的方法是为了手工计算关键路径法,但是H.B Zachry公司在1962年开始研究将前导图法用于计算机上,1963年3月他们与IBM公司联合进行该项研究,之后形成了IBM的计划软件,名为”Project Control System(PCS)”。该系统还是第一个在计划中引入时间间隔(LAG)的软件。虽然前导图法最初被应用于大型机,但是随后被广泛应用于小型机和个人电脑上的软件,这一趋势使得前导图(PDM)逐渐成为主要使用的方法,到现在,在国外前导图(PDM)基本已经成为唯一在使用的方法,而箭线图(ADM)只有在教学和培训中还有时用到。而发展势头曾一度压过关键路径法(CPM)的计划评审技术(PERT),现在使用的已经很少了。
在美国发展出关键路径法(CPM)和计划评审技术(PERT)的同时,其它一些国家如欧洲和英国等,也曾经开发出一些类似的项目管理技术,但是现在关于这些技术的记载已经很少。
关键路径法(CPM)最初被开发是用于项目管理,不过,在发展过程中,它逐渐在工程项目的合同索赔和纠纷解决上起到重要作用。最早在诉讼中涉及到要求使用关键路径法(CPM)是1972(Appeal of Minmar Builders, Inc, GSBCA No. 3430, 72-2 BOA)年,在此案例中,法庭由于承包商没有使用关键路径法(CPM)而拒绝了承包商的索赔,因为其使用的横道图不能显示具体的活动是否在关键线路上,从而无法判断活动耽误对于整体的影响。之后,关键路径法(CPM)逐渐成为工期延误索赔中必须的做法,并逐渐形成了很多专门的分析方法,现在甚至有很多人专业从事工期延误分析的工作。
编辑本段关键路径法的一些主要时间参数
在关键路径法中,一般有以下一些时间参数:
最早开始时间(Early Start)活动最早开始时间由所有前置活动中最后一个最早结束时间确定。
最早结束时间(Early Finish)活动的最早结束时间由活动的最早开始时间加上其工期确定。
最迟结束时间(Late Finish)一个活动在不耽误整个项目的结束时间的情况下能够最迟结束的时间。它等于所有紧后工作中最早的一个最晚开始时间。
最迟开始时间(Late Start)一个活动在不耽误整个项目的结束时间的情况下能够最迟开始的时间。它等于活动的最迟结束时间减去活动的工期。
总时差(Total Float) 指一项活动在不影响整体计划工期的情况下最大的浮动时间。
*时差(Free Float)指活动在不影响其紧后工作的最早开始时间的情况下可以浮动的时间。
如果是对于箭线图法,用到的时间参数还常有:
最早节点时间(Early Event Occurrence Time)最早节点时间由其前置活动中最晚的最早结束时间确定。
最迟节点时间(Late Event Occurrence Time)最迟节点时间由其后置活动中最早的最迟开始时间确定。
编辑本段关键路径法的时间计算
在进行计算时,箭线图和前导图的计算过程有所不同。
箭线图(ADM)的计算一般有正推法(Forward Pass)和逆推法(Backward Pass)两种,正推法用于计算活动和节点的最早时间,其算法如下:
1. 设置箭线图(ADM)中的第一个节点的时间,如设置为1。
关键路径法
2. 选择一个开始于第一个节点的活动开始进行计算。
3. 令活动最早开始时间等于其开始节点的最早时间。
4. 在选择的活动的最早开始时间上加上其工期,就是其最早结束时间。
5. 比较此活动的最早结束时间和此活动结束节点的最早时间。如果结束节点还没有设置时间,则此活动的最早结束时间就是该结束节点的最早时间;如果活动的结束时间比结束节点的最早时间大,则取此活动的最早结束时间作为节点的最早时间;如果此活动的最早结束时间小于其结束节点的最早时间,则保留此节点时间作为其最早时间。
6. 检查是否还有其它活动开始于此节点,如果有,则回到步骤3进行计算;如果没有,则进入下一个节点的计算,并回到步骤3开始,直到最后一个节点。
活动和节点的最迟时间采用逆推法(Backward Pass)计算,逆推法(Backward Pass)一般从项目的最后一个活动开始计算,直到计算到第一个节点的时间为止,在逆推法的计算中,首先令最后一个节点的最迟时间等于其最早时间,然后开始计算,具体的计算步骤如下所示:
1. 设置最后一个节点的最迟时间,令其等于正推法计算出的最早时间。
2. 选择一个以此节点为结束节点的活动进行计算。
3. 令此活动的最迟结束时间等于此节点的最迟时间。
4. 从此活动的最迟结束时间中减去其工期,得到其最迟开始时间。
5. 比较此活动的最迟开始时间和其开始节点的最迟时间,如果开始节点还没有设置最迟时间,则将活动的最迟开始时间设置为此节点的最迟时间,如果活动的最迟开始时间早于节点的最迟时间,则将此活动的最迟开始时间设置为节点的最迟时间,如果活动的最迟开始时间迟于节点的最迟时间,则保留原节点的时间作为最迟时间
6. 检查是否还有其它活动以此节点为结束节点,如果有则进入第二步计算,如果没有则进入下一个节点,然后进入第二步计算,直至最后一个节点。
7. 第一个节点的最迟时间是本项目必须要开始的时间,假设取最后一个节点的最迟时间和最早时间相等,则其值应该等于1。
编辑本段公式计算
上面介绍了活动的最早和最迟时间的计算方法,以上的过程可以用比较简单的公式来表达。
上面所讲述的方法,我们一般称为节点计算法,节点和活动的最早时间按照正推法进行计算,起点节点未规定时间时,我们取其时间为1,即
ETi=1(i=1)
对于任意一个节点,如果其之前只有一条活动时,则其最早时间按照下式计算,
ETj= ETi+Di-j
如果该节点之前有多条活动时,则其最早时间按照下式计算,
关键路径法
ETj= max{ETi+Di-j}
其中Di-j为活动i-j的工期
对于活动的最早时间,最早开始时间为:
ESi-j=ETi
最早结束时间为
EFi-j= ESi-j+ Di-j
计划的总工期
T=ETn-1
节点和活动的最迟时间以逆推法计算,计算时,首先令最后一个节点的最迟时间等于其最早时间,即
LTn=ETn
对于其之后只有一条活动的节点,最迟时间如下式所示
LTi=LTj-Di-j
对于其之后有多条活动的节点,最迟时间如下式所示
LTj=min{ LTj-Di-j}
工作i-j的最迟完成时间以下式计算,
LFi-j=LTj
最迟开始时间为
LSi-j=LFj- Di-j
以上的算法是节点计算法,另外,也可以采用一种叫做工作计算法的方法进行活动时间的计算,具体如下。
对于最早时间,采用正推法计算。在没有指定节点的开始时间时,则起点开始活动的最早开始时间定为1,即
ESi-j=1
当工作i-j只有一条紧前工作h-i时,其最早开始时间按如下公式计算
关键路径法
ESi-j=ESh-i + Dh-i
当工作i-j有多条紧前工作时,其最早开始时间按照以下公式计算
ESi-j=max {ESh-j + Dh-i}
工作i-j的最早完成时间按照下式计算
EFi-j=ESi-j+ Di-j
网络计划的计算工期按照下式确定
T=max {EFi-n}-1
活动的最迟结束时间和最迟开始时间需要采用逆推法计算。
以终点节点为箭头节点的活动的最迟完成时间按照网络计划的工期确定,即
LFi-j=T+1
其它活动的最迟开始时间按照下式计算
LFi-j=min {LFj-k - Dj-k}
活动的最迟开始时间以下式确定
LSi-j=LFi-j - Di-j
对于总时差和*时差可以采用如下的公式计算。
总时差可以按照下式计算:
TFi-j= LSi-j - ESi-j
或者
TFi-j= LFi-j - EFi-j
当工作i-j有紧后工作j-k时,*时差可以按照下式计算:
FFi-j=ESi-k - ESi-j - Di-j
或者
FFi-j=ESj-k-EFi-j
由于引入了多种逻辑关系,前导图(PDM)的时间计算和箭线图(ADM)有一些差别。除了前导图(PDM)中不存在节点最早时间和最迟时间,在箭线图(ADM)中提及的其它时间参数也都适合前导图(PDM)。
对于活动的最早开始和最早结束时间,采用正推法计算,其算法如下所示:
1. 将第一个活动的最早开始时间设置为1.
2. 在活动的最早开始时间上加上其工期,得到活动的最早结束时间。
3. 根据该活动与后置活动的逻辑关系,计算后置活动应该的最早开始时间,并与其已有的最早开始时间对比,如果其后置活动还没有设置最早开始时间,则将此时间设为其最早开始时间,如果此时间早于其后置活动已有的最早开始时间,则保留后置活动的原有最早开始时间,如果此时间迟于其后置活动已有的最早开始时间,则将此时间设置为后置活动的最迟开始时间。
4. 重复步骤2和3,直到所有活动的时间被计算完为止。
对于以上所示的最早时间的计算过程,可以以公式的形式表示如下:
当活动间的逻辑关系为SS,则计算如下
ESj=max{ ESi + STS}
当活动间的逻辑关系为FS,则计算如下
ESj= max{ESi+ Di+ FTS}
当活动间的逻辑关系为FF,计算如下
ESj= max{ESi+ Di - Dj +FTF}
当活动间的逻辑关系为SF,计算如下
ESj=max{ ESi - Dj +STF}
在计算出各个活动的最早开始和结束时间之后,就可以计算活动的*时差,在计算前导图(PDM)的*时差时应注意,由于引入了多种逻辑关系,并且活动间可以存在延时,所以其计算方法与箭线图(ADM)的计算方法不一样。
对于前导图(PDM)的活动间,除了延时还可以存在时间间隔(LAG),一般可以按照下面的方式计算。
当活动间的逻辑关系为SS,则计算如下
LAGi-j= ESj- ESi- STS
当活动间的逻辑关系为FS,则计算如下
LAGi-j= ESj- EFi- FTS
当活动间的逻辑关系为FF,计算如下
LAGi-j= EFj- EFi- FTF
当活动间的逻辑关系为SF,计算如下
LAGi-j= EFj- ESi- STF
则对于任意一个活动,其*时差为
FFi=min{ LAGi-j}
最后一个活动的*时差为0.
对于总时差,终点节点的总时差为0,对于其它任意一个节点,总时差按照下式进行计算
TFi=min{TFj+ LAGi-j}
对于任意一个活动的最晚开始时间可以由其最早开始时间加上总时差得到,同样,其最晚开始时间可以由最早结束时间加上其总[1]时差得到,公式表示如下
LSi=ESi+TFi
LFi=EFi+TFi
关键路径法简称WBS
编辑本段关键路径法的使用步骤
1)画出网络图,以节点标明事件,由箭头代表作业。这样可以对整个项目有一个整体概观。习惯上项目开始于左方终止于右方。
2)在箭头上标出每项作业的持续时间(T)
3)从左面开始,计算每项作业的最早结束时间(EF)。该时间等于最早可能的开始时间(ES)加上该作业的持续时间。
4)当所有的计算都完成时,最后算出的时间就是完成整个项目所需要的时间。
5)从右边开始,根据整个项目的持续时间决定每项作业的最迟结束时间(LF)。
6)最迟结束时间减去作业的持续时间得到最迟开始时间(LS)。
7)每项作业的最迟结束时间与最早结束时间,或者最迟开始时间与最早开始时间的差额就是该作业的时差。
8)如果某作业的时差为零,那么该作业就在关键路线上。
9)项目的关联路线就是所有作业的时差为零的路线。
编辑本段WBS
1.WBS是一个描述思路的规划和设计工具。它帮助项目经理和项目团队确定和有效地管理项目的工作。
2.WBS是一个清晰地表示各项目工作之间的相互联系的结构设计工具。
3.WBS是一个展现项目全貌,详细说明为完成项目所必须完成的各项工作的计划工具。
4.WBS定义了里程碑事件,可以向高级管理层和客户报告项目完成情况,作为项目状况的报告工具。
项目产品或服务结构,项目组织结构,项目的阶段划分。
关键路径法
WBS 是面向项目可交付成果的成组的项目元素,这些元素定义和组织该项目的总的工作范围,未在WBS中包括的工作就不属于该项目的范围。WBS每下降一层就代表对项目工作更加详细的定义和描述。项目可交付成果之所以应在项目范围定义过程中进一步被分解为WBS,是因为较好的工作分解可以:
a.防止遗漏项目的可交付成果。
b.帮助项目经理关注项目目标和澄清职责。
c.建立可视化的项目可交付成果,以便估算工作量和分配工作。
d.帮助改进时间、成本和资源估计的准确度。
e.帮助项目团队的建立和获得项目人员的承诺。
f.为绩效测量和项目控制定义一个基准。
g.辅助沟通清晰的工作责任。
h.为其他项目计划的制定建立框架。
i.帮助分析项目的最初风险。
WBS的最低层次的项目可交付成果称为工作包(WorkPackage),具有以下特点:
a.工作包可以分配给另一位项目经理进行计划和执行。
b.工作包可以通过子项目的方式进一步分解为子项目的WBS。
c.工作包可以在制定项目进度计划时,进一步分解为活动。
d.工作包可以由惟一的一个部门或承包商负责。用于在组织之外分包时,称为委托包(CommitmentPackage)。
e.工作包的定义应考虑80小时法则(80-HourRule)或两周法则(Two Week Rule),即任何工作包的完成时间应当不超过80小时。在每个80小时或少于80小时结束时,只报告该工作包是否完成。通过这种定期检查的方法,可以控制项目的变化。
创建WBS是指将复杂的项目分解为一系列明确定义的项目工作并作为随后计划活动的指导文档。创建WBS的方法主要有以下几种:
a.使用指导方针。一些像美国国防部(DOD)的组织,提供MIL-STD之类的指导方针用于创建项目的WBS。
b.类比方法。参考类似项目的WBS创建新项目的WBS。
c.自上而下的方法。从项目的目标开始,逐级分解项目工作,直到参与者满意地认为项目工作已经充分地得到定义。该方法由于可以将项目工作定义在适当的细节水平,对于项目工期、成本和资源需求的估计可以比较准确。
d.自下而上的方法。从详细的任务开始,将识别和认可的项目任务逐级归类到上一层次,直到达到项目的目标。这种方法存在的主要风险是可能不能完全地识别出所有任务或者识别出的任务过于粗略或过于琐碎。
创建WBS时需要满足以下几点基本要求:
a.某项任务应该在WBS中的一个地方且只应该在WBS中的一个地方出现。
b.WBS中某项任务的内容是其下所有WBS项的总和。
c.一个WBS项只能由一个人责任,即使许多人都可能在其上工作,也只能由一个人负责,其他人只能是参与者。
d.WBS必须与实际工作中的执行方式一致。
e.应让项目团队成员积极参与创建WBS,以确保WBS的一致性。
f.每个WBS项都必须文档化,以确保准确理解已包括和未包括的工作范围。
g.WBS必须在根据范围说明书正常地维护项目工作内容的同时,也能适应无法避免的变更。
WBS可以由树形的层次结构图或者行首缩进的表格表示。
其中美国国防机构使用WBS在MIL-STD中对WBS进行的描述为:“WBS是由硬件、软件、服务、数据和设备组成的面向产品的家族树。”
在实际应用中,表格形式的WBS应用比较普遍,特别是在项目管理软件中。
WBS的分解可以采用多种方式进行,包括:
a.按产品的物理结构分解。
b.按产品或项目的功能分解。
c.按照实施过程分解。
d.按照项目的地域分布分解。
e.按照项目的各个目标分解。
f.按部门分解。
g.按职能分解。
创建WBS的过程非常重要,因为在项目分解过程中,项目经理、项目成员和所有参与项目的职能经理都必须考虑该项目的所有方面。制定WBS的过程是:
a.得到范围说明书(ScopeStatement)或工作说明书(StatementofWok,承包子项目时)。
b.召集有关人员,集体讨论所有主要项目工作,确定项目工作分解的方式。
c.分解项目工作。如果有现成的模板,应该尽量利用。
d.画出WBS的层次结构图。WBS较高层次上的一些工作可以定义为子项目或子生命周期阶段。
e.将主要项目可交付成果细分为更小的、易于管理的组分或工作包。工作包必须详细到可以对该工作包进行估算(成本和历时)、安排进度、做出预算、分配负责人员或组织单位。
f.验证上述分解的正确性。如果发现较低层次的项没有必要,则修改组成成分。
g.如果有必要,建立一个编号系统。
h.随着其他计划活动的进行,不断地对WBS更新或修正,直到覆盖所有工作。
检验WBS是否定义完全、项目的所有任务是否都被完全分解可以参考以下标准:
i.每个任务的状态和完成情况是可以量化的。
j.明确定义了每个任务的开始和结束。
k.每个任务都有一个可交付成果。
l.工期易于估算且在可接受期限内。
m.容易估算成本。
n.各项任务是独立的。
对WBS需要建立WBS词典(WBSDictionary)来描述各个工作部分。WBS词典通常包括工作包描.述、进度日期、成本预算和人员分配等信息。对于每个工作包,应尽可能地包括有关工作包的必要的、尽量多的信息。
当WBS与OBS综合使用时,要建立账目编码(Code ofAccount)。账目编码是用于惟一确定项目工作分解结构每一个单元的编码系统。成本和资源被分配到这一编码结构中。
最多使用20个层次,多于20层是过度的。对于一些较小的项目4-6层一般就足够了。
WBS中的支路没有必要全都分解到同一层次,即不必把结构强制做成对称的。在任意支路,当达到一个层次时,可以作出所要求准确性的估算,就可以停止了。
如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭