没有哪种生命周期方法适合所有项目或项目的所有部分。相反,每个项目生命周期都属于图2-1所示的连续统一体,这为其在不同的环境中提供了优化平衡。在生命周期的不同阶段,应使用不同的进度计划编制方法。
图2-1 生命周期连续统一体
图2-1中提到的四种生命周期分别为:预测型生命周期、迭代型生命周期、增量型生命周期和适应型生命周期。
◆ 预测型生命周期。 图2-2展示了一个典型的预测型流程图。该生命周期利用了已知并经验证的项目或产品,允许在项目执行之前进行主要规划。这减少了不确定性和复杂性,并允许团队将工作划分为一系列可预测的分组。CPM就是一种预测型方法。
图2-2 预测型流程图示例
◆ 迭代型生命周期。 图2-3为典型的迭代型流程图。该生命周期允许对部分完成或未完成的工作进行反馈,以改进和修改该工作。
图2-3 迭代型流程图示例
◆ 增量型生命周期。 图2-4展示了典型的增量型流程图。该生命周期提供客户可以立即使用的已完成可交付成果,为项目创造早期价值。
图2-4 增量型流程图示例
◆ 适应型生命周期。 图2-5显示了典型的适应型流程图。该生命周期利用了迭代和增量特性的各个方面。当团队使用适应型生命周期时,它会在整个项目中进行迭代,每次迭代皆产出可交付的成果。团队获得早期反馈并给客户提供可视性、信心和控制力。项目可能更早产生投资回报,因为团队可以更早发布并首先交付最高价值的工作。当不确定性程度较高时,该生命周期运行良好。敏捷是一种适应型方法。
图2-5 适应型流程图示例
◆ 混合型生命周期。 图2-6展示了典型的混合 型 流程图。没有必要对整个项目使用单个生命周期。为实现特定目标,项目通常需要结合不同生命周期的特点。可以在一个项目的各个不同阶段或部分,组合使用或混合使用预测型、迭代型、增量型和/或适应型生命周期方法。
图2-6 混合型(适应型和预测型)流程图示例
前面提到的生命周期的一个关键点是,每种类型都共享规划元素。一种类型与另一种类型的区别不在于是否进行了规划,而在于进行了多少规划以及何时进行规划。
进度计划编制方法为创建进度模型提供结构化的方法。大多数进度计划编制工具支持的最常见的进度计划编制方法是紧前关系绘图法(PDM)。PDM是一种用于创建进度模型的方法,其中,活动由节点表示,并通过一个或多个逻辑关系以图形方式连接,以显示活动的执行顺序。通常把CPM等同于PDM使用。CPM可以使用关键链、滚动式规划、计划评审技术(PERT)以及集成主计划(IMS)。活动和子项目之间的关键依赖关系需要包含在进度计划中。
创建进度模型的第一步是选择适当的方法。一些组织对特定的软件工具进行标准化,并定义组织的首选进度计划编制方法,成为应用标准。在这种情况下,通常已经做出了使用哪种进度计划编制方法的决策,因为它是工具中固有的,不需要再次做决策。由于CPM(一种预测型方法)是最常用的方法,本实践标准将重点放在其上,并考虑与敏捷和其他新兴方法相关的因素。
CPM是现代进度管理工具中流行的一种方法,有助于确定完成项目的最短时间。CPM用于推导在确保不延迟项目结束日期的情况下哪些关键活动是不能延迟的。CPM的一个基本原则是,每个活动都由一个或多个紧前活动驱动。纯CPM网络仅允许项目关键路径上的总浮动值为零或正数。现代CPM工具含有多种辅助功能,可提高项目进度的可行性。这些功能包括资源、日历(项目、活动和资源)、约束条件、关键性的不同定义、耗用时间、提前量、滞后量、外部依赖性、活动优先级,以及活动的实际开始和完成日期等。这些辅助功能为关键路径带来了出现各种不同浮动值(包括负数)的可能性。
通常,这些工具中使用的方法是PDM。本实践标准遵循通用惯例,但仍使用术语CPM进行表述。
图2-7描述了创建进度模型的概要步骤。
在这个建模过程中,为了实现项目目标,需要对所有的项目活动和里程碑进行定义和排序。创建进度模型包括以下与《PMBOK ® 指南》中项目进度管理和项目资源管理知识领域相关的流程(见图2-8):
◆ 定义活动。
◆ 排列活动顺序。
◆ 估算活动资源。
◆ 估算活动持续时间。
◆ 制订进度计划。
由进度模型生成进度模型实例,从而创建进度视图(见图2-7)。进度模型实例可以表示批准的进度基准、选定的目标或假设的进度模型。创建进度模型的结果会得到一个经批准的进度计划,供执行和监控过程组中的过程使用(请参阅《PMBOK ® 指南》)。进度模型对项目进度和变更做出可预测的、合乎逻辑的反馈。一旦创建并批准了进度基准,进度管理专员将根据进度管理计划更新进度模型,以支持项目的定期报告要求,并反映进展和变更。
图2-7 创建进度模型的概要步骤
图2-8 与《PMBOK ® 指南》相关知识领域匹配的进度模型流程
CPM确定了项目的最短总工期和最早完工日期,还确定了进度模型中进度的灵活度(总浮动时间)。在应用CPM之前,需要先创建一个由项目活动组成的进度模型。根据具体的项目开始日期,顺推得到每个活动的最早开始日期和最早完成日期。再从项目的最早完成日期或具体的项目完成日期(项目约束条件)开始,倒推得到每个活动的最晚开始日期和最晚完成日期。
为了得到一条有意义的关键路径,有必要编制一个基于逻辑的活动网络图,以现实和可操作的方式为网络图上的活动估算持续时间。这些逻辑关系可以是物理性质的(对支持结构的需求、必要资源的到位等),也可以是执行计划中所需的顺序(从上到下、从内到外等)。在编制进度网络图时,可能会无意中创建一个循环,活动路径最终返回自身。在大多数情况下,进度计划编制工具将停止计算并报告检测到循环。进度计划中的开放端是指缺少紧前和/或紧后活动的活动,将在从项目开始到结束的进度逻辑中造成漏洞或缺口。唯一可接受的开放端是项目开始里程碑和项目完成里程碑。约束条件(包括提前量和滞后量)的使用应限于那些不能通过运用活动逻辑进行充分定义和建模的情况。
CPM说明了项目活动从左到右(时间维度上)的关联关系,允许项目活动从项目开始里程碑流向项目完成里程碑。时间维度上活动之间的关系由箭头方向表示,需要满足逻辑关系。
在CPM中,一个活动可以从它的开始点或结束点与其他活动进行连接。这意味着允许从开始到结束的逻辑表达,而不需要进一步分解工作。CPM图的另一个特点是使用提前量和滞后量组件。
网络图的示例如图2-9所示。
图2-9 网络图示例
关键链法注重项目进度模型中活动和资源的依赖关系。关键链有效地消除了大多数项目开始前的资源争夺,并使用缓冲区进行项目控制。它通过提高进度绩效减少了项目变更的可能,项目变更是项目成本超支的主要原因。它通过改变项目测量和控制系统及项目团队和支持人员的某些行为来实现这些结果。
资源可用性与活动能否在计划日期内被执行的能力往往存在竞争关系。因此,许多软件程序允许平衡资源负载(以使其不会负担过重),这可能会延长项目持续时间,以及活动的计划开始和完成日期。考虑到资源的可用性,生成的进度模型中可能包含一条资源受限的关键路径,它是关键链的出发点。关键链法是从CPM发展而来的,它考虑了资源分配、资源平衡和活动持续时间不确定性对CPM确定的关键路径的影响。
关键链法会产生一个激进(但不一定详细)的资源平衡的项目进度计划。关键链法的基本原则在于,在一个系统的活动进度网络中,几乎总有一个活动受到资源的约束或限制,从而影响整个活动网络的产能。项目结束日期被定义为关键链的结束,包括考虑项目风险、不确定性和延误的缓冲。在项目执行期间,当活动消耗的持续时间比关键链预测的持续时间长时,项目缓冲将被逐渐消耗。根据缓冲消耗的程度,项目团队可以采取必要的纠正措施;从“无须应对”到“计划应对”,再到“执行计划应对以恢复项目缓冲”。只要总的延误少于缓冲,对项目范围、持续时间和预算的影响就是有限的。这种方法被称为缓冲管理。
整个进度计划中最长的资源平衡的路径(包括缓冲)是关键链。关键链通常不同于CPM中的关键路径。关键链中的决定因素是缓冲活动、非多任务资源、资源平衡和缓冲管理。
关键链法从CPM进度模型开始,但在四个主要方面与CPM不同:
◆ 关键链法假设在项目执行期间未预见到的重大风险将在项目中出现,需要采取积极的行动。
◆ 在整个项目中,管理层的注意力始终集中在关键链和项目缓冲的消耗率上。
◆ 在计算项目持续时间和安排活动进度时,关键链法考虑了资源冲突的程度(基于约束理论)。
◆ 缓冲不在单个活动中分布和隐藏,而是在整体缓冲区中体现和汇总,从而减少项目的风险敞口。
从计划的活动持续时间中抽取缓冲时间,不会增加项目总持续时间。关键链法介绍了三种类型的缓冲:接驳缓冲、资源缓冲和项目缓冲。
◆ 接驳缓冲 。如图2-10所示,接驳缓冲是放在关键链和非关键链之间的缓冲。
图2-10 接驳缓冲
◆ 资源缓冲。 资源缓冲作为早期的预警信号,通过告知团队这些资源需求,确保项目资源在时间上的可用性。它们在关键链上进行设置,以确保资源在需要时可用于活动。与项目缓冲和接驳缓冲不同,资源缓冲不是添加到项目中的安全时间,它们不会更改项目的执行时间。
◆ 项目缓冲。 典型的项目缓冲如图2-11所示。项目缓冲是项目最后一个活动与最终交付日期或合同完工日期之间的时间。
缓冲可以通过计算确定,但主要通过使用拇指定律(经验法则)来定义(例如,活动持续时间的一半)。给每个活动链添加总的缓冲时间。通过:(1)使用积极的方法来估算活动持续时间,以消除隐藏安全边际量的可能;(2)将由此节省的进度时间汇总到项目缓冲中。项目缓冲可作为定量风险分析(如蒙特卡罗)产生的进度应急储备。与将缓冲时间分散到所有活动中不同,将整体缓冲时间集中在关键链的末端,仅在风险出现时使用(无论是什么导致的资源和持续时间的不确定性)。管理缓冲消耗率的效果类似于CPM中管理总浮动时间和自由浮动时间,但通常更有效和高效。
图2-11 项目缓冲
有些项目范围要求已经明确,有些则从项目范围到实施方法均有高度的不确定性(见图2-12)。范围定义明确的项目根据其特点可以找到过去与之类似的项目,证明哪些工作程序和过程是成功的。汽车、电器、建筑物或家装的成功制造或建造证明,可以在设计完成后使用线性方法完成项目,它们是可定义的工作的示例。这些生产领域和过程通常都很容易理解,不确定性和风险的数量通常是可以控制的。
新设计、问题解决和以前未完成过的项目被视为探索性的。它们需要主题专家通力协作并解决特定问题以找到解决方案。高度不确定性工作的例子包括软件工程和产品设计。随着更多可定义的工作进行自动化生产,项目团队面对的是更多高度不确定性项目,这些项目需要更多地使用适应型方法来进行,如敏捷。
图2-12 不确定性模型
高度不确定性项目具有极高的变化性、复杂性和风险。这些特点可能给传统的预测型方法带来问题,因为预测型方法旨在提前管理大部分需求,并通过控制变更请求的过程来控制变更。敏捷是许多适应型方法的总称。它允许项目经理快速适应干系人的需求,以及从团队内部或外部收到的任何反馈。敏捷框架下有许多方法,如图2-13所示。两种比较流行的方法是Scrum和看板。
图2-13 敏捷方法举例
滚动式规划是一种迭代规划技术,详细规划了近期将要执行的工作,而对未来的工作只在较低的详细程度上进行了规划。滚动式规划技术,有时被称为“渐进明细”,假设项目团队很可能拥有关于当前滚动周期活动的准确而详细的信息,而关于项目未来滚动周期活动的信息则较少。使用滚动式规划时,定期进行详细规划非常重要。下一个周期的详细规划需要在下一个周期开始执行之前完成。滚动周期的时间定义了稍后将添加详细工作的时间边界。
将当前详细规划周期后续阶段的活动列为规划包,只包含粗略的信息。这些规划包中包含成本和资源信息,这些信息被用在基于CPM的时间基准和成本基准的估算中。当进行详细规划时,这些规划包将被用更详细的信息替换。图2-14和图2-15就是滚动式规划的示例。滚动式规划的概念也适用于一些适应型方法。
图2-14 滚动式规划示例——规划包1已被分解
图2-15 滚动式规划示例——规划包2已被分解
进度计划的其他方法和发展趋势如下所示。
◆ 基于位置的进度计划。 基于位置的进度计划(LBS)旨在帮助建筑行业的项目经理制订工作流程和计划。LBS法又称垂直生产法、线性排程法、重复排程法、均匀流生产法和流水线进度法。
利用LBS法可以制订一个进度计划,表明事件将要发生的位置和时间,以及项目组员在时间和空间上的移动(见图2-16)。这种方法的重点是优化并行工作的许多资源的生产率,通常位于多个工作第一线。项目中的不同任务应在同一流程中进行,以在不浪费时间的情况下保证持续的进度输出。通常,进度模型包含项目中活动的地理位置。LBS法被用于计划或记录连续进行的多个活动的进度。该方法可通过图形工具可视化。
与CPM相比,该方法的主要优势在于其优化资源利用率的基本思想。工作进度一目了然,不同工作活动的顺序也很容易理解。这种方法主要用于大型水平施工项目(如铁路、公路、管道、输电线路)和垂直施工项目(如摩天大楼的逐层装修)。工业项目有时也将这种方法与其他方法混合使用。
图2-16 基于位置的进度计划示例
◆ 按需进度计划。 按需进度计划通常被用于适应型环境。按需进度计划方法立足于精益制造中基于拉动的进度计划概念。按需进度计划的目的是限制团队的在制品(WIP),以平衡需求与团队的交付产能。项目团队最好是敏捷和响应迅速的,使可交付成果能够“准时”交付。由于需求和能力总是在波动变化,因此平衡发生在工作产品进入系统时,而不是进入系统之前。其他进度计划方法对工作产品进行假设,这使得一旦工作产品被投入项目中,就很难采取任何平衡措施。使用拉动式方法,只有当下游有能力进行新的工作时,下游才从上游接收(拉动)工作。拉动系统要求生产阶段对在制品进行限制(WIP限制),一旦建立了流程,它有助于估计工作的完成情况。这样的系统更容易预测,并且不必要的变化更少,从而最大限度地减少过程中的浪费。规划过程可以消除瓶颈,从而提升进度模型的价值。一旦消除了瓶颈或约束条件,一个高效的流程就会被创建,从而平衡交付产能。
◆ 精益进度计划 。精益进度计划基于精益项目交付的原则(按需进度计划),旨在最大限度地减少浪费,实现价值最大化。为了实现这一目标,不预先将可交付成果分配给团队。精益进度计划原则指出,当有能力将工作放入流程中时,通过拉动工作来限制队列是极其重要的。项目团队成员在拉动式计划会议上进行协作,定义完成里程碑所需的基本活动、持续时间和交易之间的交接。主要步骤如下:
■ 主进度计划。确定关键里程碑、基本活动和阶段。该详细计划由项目团队创建。
■ 阶段进度计划。使用主进度计划中确定的阶段。向后工作(拉动),协同确定每个阶段的持续时间、顺序、约束和协调。团队就该计划达成一致并作为一个团队共同执行。阶段进度计划的输出用于生成前瞻进度计划。
■ 前瞻进度计划。将工作流程与工作量相匹配,最大限度地提高可靠性。使用周工作计划制订待完成工作的详细计划,并维护已完成工作的信息记录。
◆ 智能系统 。智能系统将人工智能中机器学习部分应用于项目进度管理。机器学习使用算法解析数据,从中学习,然后做出判断或预测。基于此,它不是手动执行一系列活动,而是输入一组假设和活动要求,如约束、硬逻辑、资源和条件[如果-那么-否则(IF-THEN-ELSE)]。作为一种新兴趋势,智能系统已被广泛应用于各个行业。出于进度管理的目的,一种可能的情况是,进度模型从所获得的进度数据中学习,并根据待执行活动的输入数据提出新的活动关系序列。另一种可能的情况是,进度模型从其他项目的进度模型中学习,并根据确定的模式,给出关于物料、供应商和项目成员的应急储备。算法识别具有特定行为的活动集群,并识别可在其中分析的活动模式,以了解如何避免或利用此类模式。
◆ 平衡线图。 平衡线图(LOB)最初是为规划和控制制造业流程而开发的。后来,它被扩展为一种进度计划和管理方法,主要针对具有重复性或长期活动的项目。
LOB的重点是重复性活动随时间变化的生产率(单位),而不是定义和跟踪一段时间内的离散活动。这将使工作流程和生产结果可视化。LOB将项目中的重复性工作显示为图形上的一条直线,而不是条形图上的一系列单独活动。这条直线表示为保持进度所需执行的工作速率。LOB可以帮助暴露流程瓶颈。LOB的主要优点是,它以简单的图形表示方式计算生产率和时间。
◆ 建筑信息模型 。建筑信息模型(BIM)是一个创建和管理建筑物物理特性和功能特征相关信息的过程。它在建筑物建造的整个生命周期中提供信息、支持决策。
在中央数据库中收集的项目信息为集成项目的3D设计模型(高度/宽度/深度)和进度模型提供了机会。BIM软件允许识别设计对象的顺序,该顺序成为进度模型的基本逻辑。在BIM中,时间被视为第四维度。将时间维度添加到BIM中,可以在适当的细节级别将计划与数据对象连接,并虚拟地构建项目。BIM软件还允许在决定最佳进度管理方法之前,测试不同的选项。成本可以作为第五维度,被纳入BIM中。集成的BIM方法支持以下内容:
■ 成本估算;
■ 三维协调;
■ 及时采购/预先制造;
■ 建设规划和监测;
■ 计划执行的4D模型可视化;
■ 责任人生命周期中使用的记录模型。
4D BIM建模可视化结合了施工部件供应和安装的开始与完成日期数据,并揭示了这些数据对整个项目的重要性。BIM消除了传统施工进度计划缺乏可视化带来的挑战。建筑/工程/基础设施领域的BIM软件工具为使用它的项目节省了大量的时间和金钱。这种方法可以大大降低成本和进度,从而减少施工索赔情况的发生。世界各地的大公司和政府开始强制要求在大型项目中使用BIM。