PMBOK® 第六版 制定进度计划
目录
读后感—PMBOK第六版 目录
每个项目都有其预定的期限,理想情况下,这些期限越紧凑越好,以提高效率和响应速度。然而,现实情况是,项目很少能够完全按照最初的时间估算来精确规划和执行,因为项目过程中充满了不确定性和变化。
在确定项目周期时,项目经理和团队成员往往会在各自的任务中预留额外的时间缓冲,以应对可能出现的延误。这种预防性措施是必要的,但有时预留的时间可能过于充裕,导致资源的浪费和项目进度的不必要延长。
即便在考虑了所有可能的延误并留出了足够的缓冲时间后,项目执行过程中仍然可能出现预料之外的风险和挑战。这些风险可能包括技术难题、供应链中断、团队协作问题等,它们都可能对项目进度产生影响。
对于任何项目而言,时间框架是固定的,资源也是有限的。因此,关键在于进行全面的评估,识别项目可能面临的所有挑战,并制定出切实可行的策略来克服这些挑战,确保项目能够在既定的时间和资源限制内顺利完成。
一、制定进度计划的内容
制定项目进度计划是分析活动顺序、时长、资源需求及制约因素,构建进度模型,以指导项目执行与监控(见图1)。此过程旨在设定含计划日期的进度模型,确保项目活动有序进行,并贯穿项目全程。
通过反复迭代,依据最新信息,利用进度模型设定活动及里程碑的起始与完成日期,同时调整时间估算、资源分配及进度储备,形成基准计划以追踪进度。关键步骤涵盖里程碑定义、活动识别排序及时长估算。活动日期确定后,需由相关人员审核,确保与资源及项目间无冲突,验证计划有效性。进一步分析计划,解决逻辑冲突,必要时调整资源分配。持续修订项目进度模型,确保其在整个项目周期内的可行性与适用性。
图-1 制定进度计划:数据流程图
二、制定进度计划
制定项目进度计划过程综合项目管理计划、项目文件、事业环境因素和组织过程资产,运用进度网络分析、关键路径法、资源优化等工具和技术,输出经批准的进度基准和详细项目进度计划(见图2),确保项目活动有序进行并作为后续执行与监控的依据。
图-2 制定进度计划:输入、工具与技术和输出
2.1 制定进度计划:输入
- 项目管理计划
项目管理计划组件包括(但不限于):
- 进度管理计划:规定了用于制定进度计划的进度计划编制方法和工具,以及推算进度计划的方法。
- 范围基准:范围说明书、WBS 和 WBS 词典包含了项目可交付成果的详细信息,供创建进度模型时借鉴。
- 项目文件
可作为本过程输入的项目文件包括(但不限于):
- 活动属性:提供了创建进度模型所需的细节信息。
- 活动清单:明确了需要在进度模型中包含的活动。
- 假设日志:记录的假设条件和制约因素可能造成影响项目进度的单个项目风险。
- 估算依据:持续时间估算所需的支持信息的数量和种类,因应用领域而异。不论其详细程度如何,支持性文件都应该清晰、完整地说明持续时间估算是如何得出的。
- 持续时间估算:包括对完成某项活动所需的工作时段数的定量评估,用于进度计划的推算。
- 经验教训:与创建进度模型有关的经验教训登记册可以运用到项目后期阶段,以提高进度模型的有效性。
- 里程碑清单:列出特定里程碑的实现日期。
- 项目进度网络图:包含用于推算进度计划的紧前和紧后活动的逻辑关系。
- 项目团队派工单:明确了分配到每个活动的资源。
- 资源日历:规定了在项目期间的资源可用性。
- 资源需求:明确了每个活动所需的资源类型和数量,用于创建进度模型。
- 风险登记册:所有已识别的会影响进度模型的风险的详细信息及特征。进度储备则通过预期或平均风险影响程度,反映了与进度有关的风险信息。
- 协议
在制定如何执行项目工作以履行合同承诺的详细信息时,供应商为项目进度提供了输入。
- 事业环境因素
能够影响制定进度计划过程的事业环境因素包括(但不限于):
- 政府或行业标准。
- 沟通渠道。
- 组织过程资产
能够影响制定进度计划过程的组织过程资产包括(但不限于):
- 进度计划方法论,其中包括制定和维护进度模型时应遵循的政策。
- 项目日历。
2.2 制定进度计划:工具与技术
2.2.1 进度网络分析
进度网络分析是一种综合技术,用于创建项目进度模型。它结合了多种技术,包括关键路径法、资源优化技术和建模技术。其他分析还包括但不限于以下几点:
- 评估汇总进度储备的必要性:当多个路径在同一时间点汇聚或分叉时,评估是否需要汇总进度储备,以减少出现进度落后的情况。
- 审查关键路径:检查关键路径上是否存在高风险活动或具有较多提前量的活动,并决定是否需要使用进度储备或执行风险应对计划来降低关键路径的风险。
进度网络分析是一个反复进行的过程,持续进行直到创建出一个可行的进度模型。模型图片可查看《PMBOK® 第六版 项目进度管理知识领域》中第一章节 “核心概念” 的相关图片。
2.2.2 关键路径法
关键路径法(CPM)最早出现在1956年,由美国杜邦公司的摩根·沃克(Morgan Walker)和雷明顿·兰德公司的数学家詹姆斯·凯利(James E. Kelly)共同研发。致力于研究如何在减少工期的同时,尽可能少地增加成本。这一方法的具体介绍可见于《MBA智库•百科:关键路径法》。
例如,下图(见图3)中有A、B、C、D、E、F共6项活动,根据它们之间的依赖关系,我们可以将它们连接成四条路径。
图-3 关键路径法计算步骤 1
如下图(见图4)所示,我们将每个活动的历时标记在活动上,将每条路径上所有活动的历时相加,分别得到4条路径的总历时。
图-4 关键路径法计算步骤 2
如下图(见图5)所示,我们可以看出,第2条路径A-B-E-F的总历时为11天,是4条路径中最长的。我们用红笔标出这条路径,这条红色路径就是项目的关键路径,它决定了项目的工期。
图-5 关键路径法计算步骤 3
关键路径法不仅可以帮助我们判断哪条路径决定总工期,而且,学会关键路径参数计算,还能获得许多有价值的信息。
2.2.2.1 关键路径法参数计算
在单代号网络图中,每个活动用一个节点表示其参数,如下图(见图6)所示。
图-6 关键路径法参数
- 最早可以开始的时间(Earliest Start Time,ES)
如果该活动有前序活动,那么它需要等待前序活动完成后才能开始。ES就是该活动最早可以开始的时间,这取决于前序活动结束的时间。
- 活动历时(Duration,DU)
活动历时是通过类比法、专家判断法、三点估算法等方法估算出来的完成活动所需的持续时间。
- 最早可以结束的时间(Earliest Finish Time,EF)
我们用最早可以开始的时间(ES)加上活动历时(DU),就可以得到活动最早可以结束的时间(EF)。
- 最晚必须结束的时间(Latest Finish Time,LF)
如果该活动有后序活动,并且受总工期制约,必须给后序活动留出足够的时间,那么该活动必须在某个时间点完成,这个时间点就是最晚结束时间。
- 最晚必须开始的时间(Latest Start Time,LS)
我们用最晚必须结束时间(LF)减去活动历时(DU),就可以得到该活动最晚必须开始的时间(LS)。
- 总浮动时间(Total Float,TF)
总浮动时间是LF与EF之差,或者LS与ES之差,这两个差值是相等的。总浮动时间反映了在不影响总工期的前提下,该活动可以拖延的总时间。
2.2.2.2 关键路径法参数计算例题
我们已经将办公室装修项目分解为A到G共7项活动(见表1),并且估算了每项活动的历时,同时也明确了每项活动的前序活动。
编号 | 活动描述 | 历时(天) | 前序活动 |
---|---|---|---|
A | 清空办公室 | 2 | 无 |
B | 更换天花板 | 3 | A |
C | 重新布线 | 4 | A |
D | 安装家居 | 1 | A |
E | 安装灯具 | 1 | B、C |
F | 调试网络 | 2 | C、D |
G | 铺设地毯 | 2 | E、F |
表-1 办公室装修项目
第 1 步:依据前序活动的依赖关系,绘制出一幅单代号网络图(见图7)。
图-7 关键路径法参数计算步骤 1
第 2 步:如上图(见图7)所示,填写活动最早可以开始的时间,我们用时间轴上的刻度值来表示。如下图(见图8)所示,因为活动A是第一项活动,所以其开始时间是时间轴上的原点0;因为活动A的历时为2天,所以最早可以结束的时间为时间轴刻度2(0+2=2)。活动B的前序活动是A,活动A在时间刻度2结束,因此活动B最早也只能在时间轴刻度2开始。以此类推,从左向右依次推算出每项活动的最早可以开始时间(ES)、活动历时(DU)和最早可以结束的时间(EF)。这一步骤也称为正推。
图-8 时间轴刻度
第 3 步:如下图(见图9)所示,从最后一项活动G开始,从右向左推算活动的最晚必须结束时间(LF)、最晚必须开始时间(LS)和总浮动时间(TF)。活动G是最后一项活动,如果总工期是10天,那么活动G的最晚结束时间(LF)就是时间轴上的刻度10。用这个时间减去活动历时2天,得到最晚开始时间(LS)是时间轴上的刻度8。
图-9 关键路径法参数计算步骤 2
因为活动G的最晚结束时间和最早结束时间都是时间轴刻度10,所以两者之差为0,即总浮动时间(TF)为0。
活动G的前序活动E,其最晚结束时间(LF)由活动G的最晚开始时间(LS)决定。因此,活动E的最晚结束时间(LF)是时间轴刻度8,减去1天的活动历时,得到活动E的最晚开始时间(LS)为时间轴刻度7。以此类推,从右向左推算出每项活动的最晚结束时间(LF)、最晚开始时间(LS)和总浮动时间(TF)。
第 4 步:找到总浮动时间(TF)为0的所有活动,并用红笔描出这些活动之间的箭头,这条红色的路径就是项目的关键路径;白色的路径则是非关键路径。我们可以看到,关键路径上的活动总浮动时间均为0,而非关键路径上的活动都有总浮动时间。
2.2.2.3 关键路径法参数测试题
测试题1:在关键路径上的活动具备什么特征()。
A.浮动时间 = 0 的活动
B.浮动时间 ≤ 0 的活动
C.浮动时间 > 0的活动
D.以上均有可能
答案:D
选项A,关键路径上的活动的总浮动时间一定为 0 吗?
在上面办公室装修项目的案例中,我们推导的只是“正常”情况。在关键路径中,我们还可能遇到“异常”情况,在这种情况下,浮动时间可能小于零。
如下图(见图10)所示,路径C-F-G上的活动的最早开始时间由前序工作决定,而最晚结束时间由后序工作决定。当我们排计划时,为了满足前序工作C所需的5天工期,F的最早可以开始的时间是时间轴上的刻度5,加上F需要的3天工期,所以F的最早结束时间(EF)是时间轴上的刻度8。而我们要给F的后序工作G留出3天工期,并且总工期不能延误,因此G的最晚开始时间(LS)是时间轴上的刻度7,这意味着F的最晚结束时间也是7。在这种情况下,F的总浮动时间为“-1”(7-8=-1)。
图-10 浮动时间 < 0 的情况
总浮动时间“-1”意味着什么呢?整体路径的总时间是10天,活动C需要5天,活动G需要3天,那么就只剩下2天。然而,活动F需要3天,这样就少了1天,这缺少的1天就是总浮动时间“-1”的含义。
在实际编制项目进度计划时,如果总工期是固定的,常常会遇到总浮动时间小于零的情况。也就是说,时间不够用。这时,我们需要采取压缩工期的技术,如加班、增加人员或给后续活动设置提前量,让后序活动提前开始。这样做的目的都是为了在有限的时间内完成这些活动。
那么,这道题的答案是不是选项B(浮动时间≤0的活动)呢?
其实,还是不对!
在编制计划时,按照前面的步骤推算出关键路径,也就确定了总工期。然而,一旦发生风险,这个总工期可能仍不够用,因此我们需要给整个计划增加一些时间储备。这些储备可以提前分配到各项活动中,这意味着关键路径上的活动也有了“浮动时间”。
如果所有活动的浮动时间都大于零,那么还存在关键路径吗?
当然有,总浮动时间最少的路径就是关键路径。虽然关键路径的总浮动时间最少,但这意味着其活动历时加起来是最长的。事实上,项目的总工期仍然是由关键路径决定的。
测试题2:以下关于“关键路径”的表述正确的有()。
A.关键路径决定了项目的总工期
B.关键路径所需要的时间最长
C.关键路径上的浮动时间最少
D.一个项目关键路径只能有一条
E.关键路径上的活动技术含量高
F.活动延误可能导致关键路径变化
G.关键路径上的活动的工期无法压缩
答案:ABCF
(A)正确。关键路径的特征是活动历时加起来最长,这条最长的路径决定了项目的总工期。
(B)正确。理由同选项A。
(C)正确。关键路径上的活动浮动时间≤0,这意味着关键路径上的活动几乎没有浮动时间,甚至时间不够用。即便项目增加了时间储备,关键路径上的浮动时间仍然是所有路径中最少的。
(D)错误。一个项目的关键路径可能不止一条,如果多条路径的总浮动时间都是零,那么这几条路径就都是关键路径。
(E)错误。关键路径上的活动只是没有浮动时间或者浮动时间最少,这与技术含量无关。即便是特别简单、任何人都能完成的活动,只要它在时间上没有余地,它就位于关键路径上。
(F)正确。非关键路径上的活动如果延误,一旦延误时间超过了总浮动时间,那么这条路径就会导致项目的总工期延长,这条路径也就成为了新的关键路径。此时,由于总工期变长,原来的关键路径反而有了浮动时间,变成了非关键路径。因此,在这种情况下,项目的关键路径发生了变化。
(G)错误。关键路径上的活动并不是没有时间余地,而是没有浮动时间。实际上,通过增加人手或加班等措施,可以在更短的时间内完成这些活动。换句话说,如果关键路径上的活动工期真的无法压缩,那么项目的总工期也无法压缩。我们常常面对客户或老板要求我们压缩工期的情况,这就需要我们针对关键路径上的活动进行调整。
2.2.2.4 关键路径法的作用
关键路径法的作用如下:
- 推导出项目工期有多长
- 识别出哪些工作是关键工作
- 优化资源分配,让最有把握的人负责关键路径上的工作
- 识别出哪些活动有浮动时间,浮动时间有多少
- 利用非关键路径上的浮动时间进行资源优化
2.2.3 资源优化
资源优化用于调整活动的开始和完成日期,以使计划使用的资源等于或少于可用资源。资源优化技术是根据资源供需情况来调整进度模型的技术,包括但不限于资源平衡和资源平滑。
2.2.3.1 资源平衡
资源平衡是在资源需求与资源供给之间取得平衡的技术,通过根据资源制约因素调整活动的开始和完成日期。如果共享资源或关键资源在特定时间可用、数量有限或被过度分配,如一个资源在同一时段内被分配至多个活动,就需要进行资源平衡。资源平衡还可以用于保持资源使用量的均衡水平。资源平衡往往会导致关键路径的变化,因此在项目进度计划期间,关键路径可能会发生变化。
如下图(见图11)所示,资源“苏”需要负责A和B两项活动,每项活动都需要8小时,即一整天的时间。如果计划中A和B都安排在第一天,那么对苏而言就产生了冲突,他要么需要再加班8小时,要么就无法同时完成A和B两项活动。
图-11 资源平衡
如果让活动B晚一天开始,与活动A错开,那么苏就不需要加班了,资源冲突也就得到了解决。不过,如果活动B晚一天开始,那么后面的活动C也应该顺延一天,整个项目工期就会延迟一天。
2.2.3.2 资源平滑
通过调整非关键路径上的活动时间,使项目资源需求的波动减少,我们将这种技术称为资源平滑。
如下图(见图12)所示,活动A、B、C的工期分别为2天、3天和5天,它们需要的资源分别是3人、3人和2人。根据中间的双代号网络图,我们可以看到活动A、B、C同时开始。右边的资源直方图显示,前两天三项活动同时进行,需要8人。第3天,团队完成了活动A,剩余的活动B和活动C只需要5人;从第4天开始,只剩下活动C,2人就可以完成。
图-12 资源平滑
显然,在这5天里,团队人数波动很大,这对团队的融合和资源计划十分不利,需要想办法消除或减轻这种波动。
如下图(见图13)所示,活动C历时最长,是关键路径。活动A和活动B都有浮动时间,活动A的浮动时间是3天。如果让活动A在3天后再开始,就与活动B不同期。右边的资源直方图显示,该项目从始至终一直保持5个人,团队规模非常稳定,配合更默契,管理也更简单。
图-13 资源平滑选择 1
同理,如下图(见图14)所示,如果不动活动A,让活动B在2天后开始,也可以达到同样的效果。
图-14 资源平滑选择 2
资源平滑技术利用的是非关键路径上的浮动时间,活动只在浮动时间范围内提前或延后。这种技术通常不会改变项目的关键路径,完工日期也不会延迟。
资源平滑技术并不一定能使所有资源都达到完美平滑(即每天活动所需的人数完全一致),而是尽量减少资源数量的波动。
2.2.4 数据分析
可用作本过程的数据分析技术包括但不限于:
假设情景分析:假设情景分析是对各种情景进行评估,预测它们对项目目标的影响(积极或消极的)。这种分析回答“如果情景X出现,情况会怎样?”的问题,即基于已有的进度计划,考虑各种情景。例如,推迟某主要部件的交货日期、延长某设计工作的时间,或加入外部因素(如罢工或许可证申请流程变化等)。根据假设情景分析的结果,可以评估项目进度计划在不同条件下的可行性,并编制进度储备和应对计划。
模拟:模拟是将单个项目风险和不确定性其他来源模型化的方法,以评估它们对项目目标的潜在影响。最常见的模拟技术是蒙特卡罗分析,它利用风险和其他不确定性因素计算整个项目可能的进度结果。模拟包括基于多种不同的活动假设、制约因素、风险、问题或情景,使用概率分布和不确定性的其他表现形式,来计算出多种可能的工作包持续时间。如下图(见图15)所示,一个项目的概率分布,表明实现特定目标日期(即项目完成日期)的可能性。在这个例子中,项目按时或在目标日期(5月13日)之前完成的概率是10%,而在5月28日之前完成的概率是90%。
图-15 目标里程碑的概率分布示例
2.2.5 提前量和滞后量
具体参见(PMBOK® 排列活动顺序 2.2.3 提前量和滞后量章节),提前量和滞后量是网络分析中用于调整紧后活动开始时间的方法,以编制一份切实可行的进度计划。提前量用于在条件许可的情况下提早开始紧后活动;而滞后量则是在某些限制条件下,在紧前和紧后活动之间增加一段不需工作或资源的自然时间。
2.2.6 进度压缩
进度压缩技术是指在不缩减项目范围的前提下,缩短或加快进度工期,以满足进度制约因素、强制日期或其他进度目标。负值浮动时间分析是一种有用的技术。关键路径是浮动时间最少的方法。在违反制约因素或强制日期时,总浮动时间可能变成负值。如下图(见图16)所示,比较了多种进度压缩技术,包括赶工和快速跟进。
图-16 制定进度计划_赶工与快速跟进
我们常常会遇到需要压缩进度的场景。例如,你报告的工期是4个月,但客户只能给你3个月的时间;或者项目进展一段时间后,你发现剩下的时间不够用了。
2.2.6.1 赶工
赶工是指为活动增加资源,例如增加人手或加班,以缩短工期。其技术原理是用钱换时间。
需要注意以下几点:
- 活动通常有极限工期,一旦压缩到极限工期,即使增加再多的人手,时间也无法再缩短。
- 有些活动无法通过增加资源来缩短工期,例如,工人刷完油漆后,至少需要等待两天油漆干燥,无论有多少人等待,这个时间是无法缩短的。
2.2.6.2 快速跟进
快速跟进是指让后序活动提前开始,并与前序活动搭接、并行一段时间。其技术原理是设置提前量,将活动之间的依赖关系从FS(Finish-to-Start)改为FS-n(n为提前的天数)。
采用快速跟进技术,项目可能会因为前序活动需要返工而导致后序活动也被连累(也得跟着返工)。快速跟进是用“返工风险”换时间。*
*
例如,在办公室装修项目中,活动A是刷墙,活动B是铺地毯,正常的顺序是刷完墙再铺地毯。为了压缩工期,团队采取快速跟进的做法,在刷完1号房间,开始刷2号房间的同时,在1号房间铺地毯。以此类推,当团队粉刷完所有房间时,地毯也即将铺完,从而压缩了工期。
但是,如果团队刷完墙后发现墙漆是假冒伪劣产品,墙面起泡掉皮,必须铲掉重刷。这时麻烦就来了,地毯需要重新铺设,否则刷墙时会把地毯弄脏。如果当初团队不采取快速跟进的做法,而是刷完墙先验收,那么即使墙面粉刷有质量问题,后续铺地毯的工作也不需要返工。
我们常说的“三边工程”(边设计、边开发、边修改)就是典型的快速跟进。这意味着团队还没开发完某项活动,需求又改了,导致分析、设计、开发、测试等一系列操作全都白干了,团队陷入天天加班做无用功的泥潭中无法自拔,这都是“快速跟进”惹的祸。
2.2.7 项目管理信息系统 (PMIS)
具体参见(PMBOK® 第六版 指导与管理项目工作 2.2.2项目管理信息系统 (PMIS)),项目管理信息系统包括进度计划软件,这些软件以活动、网络图、资源需求和活动持续时间等作为输入,自动生成开始和完成日期,从而加快进度计划的编制过程。
2.2.8 敏捷发布规划
具体参见(PMBOK® 第六版 项目进度管理知识领域 中 二、发展趋势和新兴实践的敏捷/适应型环境的考虑因素片段),敏捷发布规划基于项目路线图和产品发展愿景,提供了高度概括的发布进度时间轴(通常是3到6个月)。同时,敏捷发布规划还确定了发布的迭代或冲刺次数,使产品负责人和团队能够决定需要开发的内容,并基于业务目标、依赖关系和障碍因素确定达到产品放行所需的时间。
对客户而言,产品功能就是价值,因此,该时间轴定义了每次迭代结束时交付的功能,提供了更易于理解的项目进度计划,这些信息正是客户真正需要的。
图-17 产品愿景、发布规划和迭代计划之间的关系
2.3 制定进度计划:输出
进度基准是经过批准的进度模型,只有通过正式的变更控制程序才能变更,用作与实际结果进行比较的依据。进度基准包含基准开始日期和基准结束日期,经相关方接受和批准。在监控过程中,将实际开始和完成日期与批准的基准日期进行比较,以确定是否存在偏差。进度基准是项目管理计划的组成部分。
2.3.2 项目进度计划
项目进度计划是进度模型的输出,标注了各个相互关联的活动的计划日期、持续时间、里程碑和所需资源。项目进度计划至少包括每个活动的计划开始日期和计划完成日期。即使在早期阶段进行了资源规划,但在未确认资源分配和计划开始与完成日期之前,项目进度计划(具体参见PMBOK® 第六版 制定项目管理计划 2.3 制定项目管理计划:输出)都是初步的。这些确认一般在项目管理计划编制完成之前进行。还可以编制目标项目进度模型,规定每个活动的目标开始日期和目标完成日期。项目进度计划可以是概括的(如主进度计划或里程碑进度计划)或详细的。虽然项目进度计划可用列表形式,但图形方式更常见,常用的图形包括横道图、里程碑图和项目进度网络图。
2.3.2.1 横道图
横道图也称为“甘特图”,是展示进度信息的一种图表方式(见图18)。在横道图中,纵向列示活动,横向列示日期,每个活动用一个横条表示,横条的起点对应的时间刻度是活动计划开始的时间,横条的终点对应的时间刻度是活动计划完成的时间。每个活动自上而下依次排列。横道图可能会包括浮动时间,也可能不包括,具体取决于受众。
横道图直观、生动地展示了团队应在何时进行哪项活动。我们还可以将实际进展与计划进行对比,发现并监控偏差。为了便于控制和与管理层沟通,可以在里程碑或横跨多个相关联的工作包之间,列出内容更广、更综合的概括性活动,并在横道图报告中显示。
图-18 横道图
2.3.2.2 里程碑图
与横道图类似,但仅标示出主要可交付成果和关键外部接口的计划开始或完成日期(见图19)。
图-19 房地产项目招标里程碑计划
里程碑计划具有简明、生动、通俗、实用的特点,可以使项目中的重要时点和关键事件一目了然,便于分段、分项控制。具体来说,里程碑计划的作用如下:
- 计划:将项目分解为阶段性目标。
- 控制:提供强制约束,确保各阶段目标的实现。
- 沟通:便于团队与管理层及相关方进行沟通。
- 责任:明确规定项目各方的责任和义务。
2.3.2.3 项目网络图
这些图形通常用活动节点法绘制,没有时间刻度,纯粹显示活动及其相互关系,有时也称为“纯逻辑图”。
2.3.2.3.1** **单代号网络图和双代号网络图
在单代号网络图中,节点代表活动,箭线则表示活动间的依赖关系,如下图(见图19)左侧所示。单代号网络图的英文缩写为AON(Activity on Node),能够通过箭线表达出活动间的所有四种依赖关系(FS、SS、FF、SF)。
而在双代号网络图中,箭线代表活动,如下图(见图19)右侧所示,节点仅作为活动间的连接点存在。双代号网络图的英文缩写为AOA(Activity on Arrow),其箭线间首尾相连,仅能表达一种依赖关系即FS(完成开始)。
为了表示非直接相连的两个活动间存在的依赖关系,需要引入“虚工作”概念,用虚线来表示。引入虚工作的目的,仅仅是为了准确表达两个活动间的依赖关系,而虚工作本身既不占用资源,也不消耗时间。这一方法的具体介绍可见于《MBA智库•百科:箭线图法》。
图-19 单代号网络图和双代号网络图
2.3.2.3.2** **时标网络图
时标网络图基于双代号网络图构建,通过在时间轴上绘制活动箭线,其长度直接对应活动的持续时间,如下图(见图20)所示。这种图表融合了双代号网络图与横道图的优势,能够清晰且直观地展示活动的时间跨度及它们之间的逻辑联系。时标网络图在项目进度优化、资源配置优化和成本控制中扮演着不可替代的角色。
图-20 时标网络图
2.3.2.3.3 进度前锋线图
基于时标网络图,我们可以在每条路径上标记实际进度,如下图(见图21)所示。检查日期是第22天(蓝色虚线),如果路径上的实际进度落后于计划,例如落后2天,我们从检查日期向左数2天做标记;如果进度超前3天,我们从检查日期向右数3天做标记。然后,用红色虚线将这些标记点连起来,形成的波形折线就是进度前锋线。
图-21 进度前锋线图
进度前锋线直观地展示了每条路径上的实际进度与计划相比的超前和落后情况,便于项目经理调配资源,修正进度偏差。
下图(见图22)是一个正在执行的示例项目的进度计划,工作进展通过截止日期或状态日期表示。图中展示了进度计划的三种形式:里程碑进度计划(也称里程碑图)、概括性进度计划(也称横道图)和详细进度计划(也称项目进度关联横道图),并直观地展示了不同详细程度的关系。
图-22 项目进度进化示例
2.3.3 进度数据
项目进度模型中的进度数据是用于描述和控制进度计划的信息集合。进度数据至少包括进度里程碑、进度活动、活动属性,以及已知的全部假设条件与制约因素,所需的具体数据因应用领域而异。经常可用作支持细节的信息包括但不限于:
- 按时段计列的资源需求,通常以资源直方图表示;
- 备选的进度计划,如最佳情况或最坏情况下的进度计划、经资源平衡或未经资源平衡的进度计划、有强制日期或无强制日期的进度计划;
- 使用的进度储备。
进度数据还可包括资源直方图、现金流预测,以及订购与交付进度安排等其他相关信息。
2.3.4 项目日历
在项目日历中,规定了可以开展进度活动的可用工作日和工作班次,它将可用于开展进度活动的时间段(按天或更小的时间单位)与不可用的时间段区分开来。在一个进度模型中,可能需要采用多个项目日历来编制项目进度计划,因为不同的活动可能需要不同的工作时段。因此,可能需要对项目日历进行更新。
2.3.5 变更请求
具体参见(PMBOK® 第六版 实施整体变更控制),修改项目范围或项目进度计划后,可能会对范围基准和/或项目管理计划的其他组成部分提出变更请求,这些变更请求应通过实施整体变更控制过程进行审查和处理。预防措施可包括推荐的变更,以消除或降低不利进度偏差的发生概率。
2.3.6 项目管理计划更新
项目管理计划的任何变更都以变更请求的形式提出,并通过组织的变更控制过程进行处理。可能需要变更请求的项目管理计划组成部分包括但不限于:
进度管理计划:可能需要更新进度管理计划,以反映制定和管理进度计划方式的变更。
成本基准:在针对范围、资源或成本估算的变更获得批准后,需要对成本基准进行相应的变更。有时成本偏差过于严重,以至于需要修订成本基准,以便为绩效测量提供现实可行的依据。
2.3.7 项目文件更新
可在本过程更新的项目文件包括但不限于:
活动属性:更新活动属性以反映在制定进度计划过程中产生的对资源需求和其他相关内容的修改。
假设日志:可能需要更新假设日志,以反映创建进度模型时发现的关于持续时间、资源使用、排序或其他信息的假设条件的变更。
持续时间估算:资源的数量和可用性以及活动依赖关系可能会引起持续时间估算的变更。如果资源平衡分析改变了资源需求,可能需要对持续时间估算进行相应的更新。
经验教训登记册:在更新经验教训登记册时,可以增加能够有效和高效制定进度模型的技术。
资源需求:资源平衡可能对所需资源类型与数量的初步估算产生显著影响。如果资源平衡分析改变了资源需求,需要对资源需求进行相应的更新。
风险登记册:可能需要更新风险登记册,以反映进度假设条件所隐含的机会或威胁。
三、浮动时间和关键链技术
3.1 项目的三种浮动时间*
3.1.1 自由浮动时间
自由浮动时间是指在不影响后续工作最早开始时间的情况下,活动可以拖延的时间。
如下图(见图23)所示,活动A只需要5天,但在计划中它有9天时间。无论活动A在这9天内早一点开始还是晚一点开始,只要在9天内完成,就不会影响到其后序活动B。因此,多出来的4天就是活动A的自由浮动时间。
图-23 自由浮动时间
3.1.2 总浮动时间
总浮动时间是指在不影响项目总工期的前提下,活动可以拖延的总时间。
如下图(见图24)所示,假设活动A的用时超出了5天,甚至团队连自由浮动时间(4天)都用掉了也没干完,那么团队还有机会做完活动A吗?
图-24 总浮动时间
答案是,团队仍然有机会。我们注意到,虽然团队用时4天就可以完成活动B,但活动B还有2天的自由浮动时间,团队可以将活动B往后挪2天,这样活动A又获得了2天的机会。只不过活动B原本拥有的2天自由浮动时间就这样被活动A占用了。
活动A的自由浮动时间(4天)加上占用活动B的2天,一共向后延了6天。6天就是活动A的总浮动时间。也就是说,在这条路径上,活动A最多可以延后6天,否则总工期就要延长。
3.1.3 项目浮动时间
如下图(见图25)所示,计划中项目可以交付的时间是9月30日。当我们把交付时间报给客户时,客户发现交付的时间紧跟着国庆长假。于是客户说:“干脆长假结束,你再来交付吧!”
图-25 项目浮动时间
无论是9月30日交付,还是10月9日交付,对客户而言区别不大,但对团队而言,区别就大了!因为万一项目延期,团队可以利用国庆节长假加班完成。
在计划工期的基础上,客户或项目发起人主动让出的时间称为项目浮动时间。
3.2 关联链技术
关键链技术是由艾利·高德拉特(Eliyahu M. Goldratt)在关键路径法的基础上引入了制约理论(Theory of Constraints, TOC),并据此提出了在资源制约条件下编制进度计划的方法。
3.2.1 关键链技术的背景
- 帕金森定律:工作会自动膨胀,占满所有可用时间。
- 墨菲定律:你越担心的事情,就越可能发生。
由于“帕金森定律”和“墨菲定律”的存在,人们往往把“悲观估计”估计得过于悲观。如下图(见图26)所示,B曲线就会变成左边陡峭、右边尾巴很长的曲线。如果要在50%期望值的基础上增加30%的把握(蓝色面积),就需要增加原估算时间(期望值)200%的安全时间。
图-26 “悲观估计”过于悲观
在关键路径法中,为活动预留了安全时间,但如果风险没有发生,这些安全时间往往会被浪费掉。
高德拉特认为,资源本身是有限的,不应该这样浪费。因此,他提出每项活动都不应预留安全时间。例如,按三点估算法期望值公式估算出来的活动历时只有50%的完成概率,那么我们就按50%上报期望值,项目进度计划就是按照这些原始的期望值数据编制的。
然而,这样做太冒险了,每项活动都按50%的把握上报历时,那么将有一半的概率是完不成的。怎么办?
项目经理在编制的初始进度基础上预留了一个项目缓冲(时间缓冲池)(见图27),目的是将缓冲时间分配给未完成的活动。如果团队幸运地完成了所有活动,宝贵的缓冲时间就不会被浪费。这种“按需分配”缓冲时间的思路就是关键链技术。
图-27 项目缓冲
3.2.2 路线汇聚风险
如下图(见图28)所示,高德拉特发现,如果团队按时完成A、B、C三项活动的概率都是50%,那么团队的后续活动D能够按计划开始的概率将只有12.5%,即50%的三次方。这时,团队该怎么办?
图-28 路径汇聚风险
在网络图中,路径汇聚点具有最大的进度风险。如果安全时间不放在并行活动的末端,就无法减少路径汇聚的风险。
如下图(见图29)所示,在路径汇聚之前,高德拉特为非关键链上的活动增加了接驳缓冲,这样团队完成非关键链上活动的概率就大于50%了。接驳缓冲越多,完成的概率就越大。多条路径汇聚之后,不至于把后序活动完成的概率降得太低。
图-29 接驳缓冲
我们将放置在关键链末端的缓冲称为项目缓冲,用来保证项目不因关键链的延误而延误。其他缓冲,即接驳缓冲,被放置在路径汇聚之前的非关键链末端,用来保护关键链不受非关键链延误的影响。
资源约束型关键路径就是关键链,据此制订的进度计划即资源约束型进度计划。这种方法结合了确定性和随机性方法,通常在资源有限时具有显著的价值。
四、敏捷场景下的进度控制
敏捷场景下最常用的控制工具就是燃尽图(Burn-down Chart)。
如下图(见图30)所示,在敏捷开发中,假设一个冲刺(Sprint)为期21天,总工作量为250个故事点。如果团队匀速开发,每天完成的故事点都一样多,那么剩余故事点的数量应该按照虚线(灰色)持续减少,这条虚线就是理想燃尽线。
图-30 燃尽图
然而,现实和理想总有差距,真实的开发过程通常不是完美的匀速发展,而是有时快、有时慢。例如,第一天,团队成员可能还在思考需求,开发进展不多;而当团队成员进入状态后,开发速度往往会加快。因此,实际的燃尽线是一条折线(蓝色),围绕虚线(灰色)波动。
如上图(见图30),今天是第11天,按照理想的开发进度,剩余工作量应该是120个故事点,而实际只剩下80个故事点,说明进度超前。折线在虚线上方,说明进度落后;折线在虚线下方,说明进度超前。当然,折线总在虚线下方也不好,说明计划做得过于保守,团队完全可以开发更多的故事点,资源没有得到充分利用。控制进度的目标就是让蓝线不要离灰线太远。