在敏捷或适应型环境中需要考虑的因素(整合管理)
迭代和敏捷方法能够促进团队成员以相关领域专家的身份参与整合管理。团队成员自行决定计划及其组件的整合方式。
在适应型环境下,《整合管理的核心概念》中所述的对项目经理的期望保持不变,但把对具体产品的规划和交付授权给团队来控制。项目经理的关注点在于营造一个合作型的决策氛围,并确保团队有能力应对变更。如果团队成员具备广泛的技能基础而不局限于某个狭窄的专业领域,那么这种合作型方法就会更加有效
项目范围为交付具有规定特性与功能的产品、服务或成果而必须完成的工作。项目范围有时也包括产品范围。
从预测型方法到适应型或敏捷型方法,项目生命周期可以处于这个连续区间内的任何位置。在预测型生命周期中,在项目开始时就对项目可交付成果进行定义,对任何范围变化都要进行渐进管理。而在适应型或敏捷型生命周期中,通过多次迭代来开发可交付成果,并在每次迭代开始时定义和批准详细的范围
在适应型或敏捷型生命周期中,发起人和客户代表应该持续参与项目,随同可交付成果的创建提供反馈意见,并确保产品未完项反映他们的当前需求。在每次迭代中,都会重复开展两个过程:确认范围和控制范围。相反,在预测型项目中,确认范围在每个可交付成果生成时或者在阶段审查点开展,而控制范围则是一个持续性的过程
在敏捷或适应型环境中需要考虑的因素(项目范围)对于需求不断变化、风险大或不确定性高的项目,在项目开始时通常无法明确项目的范围,而需要在项目期间逐渐明确。敏捷方法特意在项目早期缩短定义和协商范围的时间,并为持续探索和明确范围而延长创建相应过程的时间。在许多情况下,不断涌现的需求往往导致真实的业务需求与最初所述的业务需求之间存在差异。因此,敏捷方法有目的地构建和审查原型,并通过多次发布版本来明确需求。这样一来,范围会在在整个项目期间被定义和再定义。在敏捷方法中,把需求列入未完项
具有未完项的迭代型进度计划。这是一种基于适应型生命周期的滚动式规划,例如敏捷的产品开发方法。这种方法将需求记录在用户故事中,然后在建造之前按优先级排序并优化用户故事,最后在规定的时间盒内开发产品功能。这一方法通常用于向客户交付增量价值,或多个团队并行开发大量内部关联较小的功能。适应型生命周期在产品开发中的应用越来越普遍,很多项目都采用这种进度计划方法。这种方法的好处在于,它允许在整个开发生命周期期间进行变更。
6.4.2.8 会议项目团队可能会召开会议来估算活动持续时间。如果采用敏捷方法,则有必要举行冲刺或迭代计划会议,以讨论按优先级排序的产品未完项(用户故事),并决定团队在下一个迭代中会致力于解决哪个未完项。然后团队将用户故事分解为按小时估算的底层级任务,然后根据团队在持续时间(迭代)方面的能力确认估算可行。该会议通常在迭代的第一天举行,参会者包括产品负责人、开发团队和项 目经理,会议结果包括迭代未完项、假设条件、关注事项、风险、依赖关系、决定和行动。
6.5.2.8 敏捷发布规划敏捷发布规划基于项目路线图和产品发展愿景,提供了高度概括的发布进度时间轴(通常是 3 到 6 个月)。同时,敏捷发布规划还确定了发布的迭代或冲刺次数,使产品负责人和团队能够决定需要开发的内容,并基于业务目标、依赖关系和障碍因素确定达到产品放行所需的时间。 对客户而言,产品功能就是价值,因此,该时间轴定义了每次迭代结束时交付的功能,提供了更 易于理解的项目进度计划,而这些就是客户真正需要的信息。 图 6-20 展示了产品愿景、产品路线图、发布规划和迭代计划之间的关系。
将工作外包时,定期向承包商和供应商了解里程碑的状态更新是确保工作按商定进度进行的一种 途径,有助于确保进度受控。同时,应执行进度状态评审和巡检,确保承包商报告准确且完整。
关于敏捷/适应型环境的考虑因素(成本管理)对易变性高、范围并未完全明确、经常发生变更的项目,详细的成本计算可能没有多大帮助。 在这种情况下,可以采用轻量级估算方法快速生成对项目人力成本的高层级预测,在出现变更时容易调整预测;而详细的估算适用于采用准时制的短期规划。如果易变的项目也遵循严格的预算,通常需要更频繁地更改范围和进度计划,以始终保持在成本 制约因素之内。
管理质量被认为是所有人的共同职责,包括项目经理、项目团队、项目发起人、执行组织的管理层,甚至是客户。所有人在管理项目质量方面都扮演一定的角色,尽管这些角色的人数和工作量不同。参与质量管理工作的程度取决于所在行业和项目管理风格。在敏捷项目中,整个项目期间的质量管理由所有团队成员执行;但在传统项目中,质量管理通常是特定团队成员的职责。
在敏捷项目中,控制质量活动可能由所有团队成员在整个项目生命周期中执行,而在瀑布式项目中,控制质量活动由特定团队成员在特定时间点或者项目或阶段快结束时执行
风险管理计划根据风险管理计划的规定,在整个项目生命周期中要定期开展实施定性风险分析过程。在敏捷开发环境中,实施定性风险分析过程通常要在每次迭代开始前进行。
在敏捷型环境中,可能需要与特定卖方协作来扩充团队。这种协作关系能够营造风险共担式采购模型,让买方和卖方共担项目风险和共享项目奖励
在敏捷或适应型环境中需要考虑的因素(相关方管理)高度变化的项目更需要项目相关方的有效互动和参与。为了开展及时且高效的讨论及决策,适应 型团队会直接与相关方互动,而不是通过层层的管理级别。客户、用户和开发人员在动态的共创过 程中交换信息,通常能实现更高的相关方参与和满意程度。在整个项目期间保持与相关方社区的互 动,有利于降低风险、建立信任和尽早做出项目调整,从而节约成本,提高项目成功的可能性。 为加快组织内部和组织之间的信息分享,敏捷型方法提倡高度透明。例如,邀请所有相关方参与 项目会议和审查,或将项目工件发布到公共空间,其目的在于让各方之间的不一致和依赖关系,或 者与不断变化的项目有关的其他问题,都尽快浮现
X3.1 项目生命周期的连续区间要理解适应型项目中的过程应用,就要先理解项目生命周期的连续区间。《PMBOK® 指南》的术语表 将项目生命周期定义为项目从开始到结束所经历的一系列阶段。项目生命周期内通常有一个或多个阶段与产品、服务或成果的开发相关。这些阶段称为开发生命周期。开发生命周期可分为预测型(计划 驱动型)、适应型(敏捷型)、迭代型、增量型或混合型。 图 X3-1 显示了根据采用的生命周期类型,处理需求和计划的各种方式、如何管理风险和成本、 进度考虑因素,以及如何处理关键相关方的参与。
强调在项目开始阶段就明确需求和进行详细规划,这是预测型项目生命周期的特点。基于已知需求 和制约因素而制定的详细计划,可以降低风险和成本。计划中也规定了需要关键相关方参与的里程碑 时点。随着项目按详细计划逐渐推进,监控过程将重点限制可能影响范围、进度或预算的变更。 基于短期迭代规划和实施周期而对需求进行渐进明细,这是高适应型或敏捷型项目生命周期的特点。风险和成本随着对初始计划的渐进明细而逐渐降低。关键相关方持续参与,并频繁提供反馈, 使项目能够更快地应对变更且获得更好的质量。 以下两点适用于处于连续区间中间位置的项目生命周期:(a) 风险和成本随着对初始计划的迭代演进而逐渐降低;以及 (b) 在增量型、迭代型和敏捷型周期中,相关方的参与机会更多,相比在高度预 测型生命周期中只在项目里程碑时点参与。 处于连续区间中间位置的项目生命周期,可以更倾向于预测型或敏捷型。这取决于需求的确定方 式、风险与成本的管理方式,以及关键相关方的参与性质。处于连续区间中间位置的项目可以采用 混合型项目方法。 应该强调的是,开发生命周期具有复杂性和多维性。特定项目的不同阶段往往采用不同的生命 周期,正如特定项目集内的每个项目都可用不同的方法去执行
X3.3 适应型环境中的过程组如上节所述,无论所用的项目生命周期是处于连续区间的哪一个位置,每个项目都需要使用每一个项目管理过程组。在适应型和高度适应型生命周期中,过程组之间相互作用的方式会有所不同。
X3.3.1 启动过程组启动过程组是指定义一个新项目或现有项目的一个新阶段,授权开始该项目或阶段的一组过程。在适应型项目中,需要频繁回顾和重新确认项目章程。随着项目进展,对优先级的竞争和情况的动态变化,可能导致项目制约因素和成功标准过时。因此,需要定期开展启动过程,以确保项目在最新的制约因素内朝最新的目标推进。适应型项目非常依赖知识丰富的客户或客户代表,他们要能够持续地表达需要和意愿,并不断针对新形成的可交付成果提出反馈意见。应该在项目开始时就识别出这个相关方或其他相关方,以便在开展执行和监控过程组时与他们频繁互动。有关的反馈意见则能够确保项目交付出正确的成果。如前所述,在采用适应型生命周期的项目上,启动过程通常要在每个迭代期开展。
X3.3.2 规划过程组规划过程组是明确项目范围、细化目标,为实现目标制定行动方针的一组过程。 通常,高预测型项目生命周期的特点是,项目范围变更很少,以及相关方之间有高度共识。这类 项目会受益于前期的详细规划。而适应型生命周期的特点是,先基于初始需求制定一套高层级的计划,再逐渐把需求细化到适合特定规划周期所需的详细程度。因此,预测型和适应型生命周期的主要区别在于:做多少规划工作,以及什么时间做。另外,在高度复杂和不确定的项目中,应该让尽可能多的团队成员和相关方参与规划过程,以便依据很广泛的信息开展规划,降低不确定性
X3.3.3 执行过程组执行过程组是完成项目管理计划中确定的工作,以满足项目要求的一组过程。 在敏捷型、迭代型和适应型项目生命周期中,通过迭代对工作进行指导和管理。每次迭代都是 在一个很短的固定时间段内开展工作,然后演示所形成的功能或设计。有关的相关方和团队再基于 演示来开展回顾性审查。这种演示和审查有助于对照计划检查进展情况,确定是否有必要对项目范围、进度或执行过程做任何变更;也有助于通过展示已完成的工作增量,以及讨论未来工作,更好地管理相关方参与。进行回顾性审查,有利于及时发现和讨论与执行方法有关的问题,以及提出改 进建议。通过讨论富有成效的做法以及依靠团队解决问题,回顾性审查也是管理项目知识和建设项 目团队的主要工具。 虽然工作是通过短期迭代进行的,但是也需要对照长期的项目交付时间框架对其进行跟踪和管 理。先在迭代期层面上追踪开发速度、成本支出、缺陷率和团队能力的走势,再汇总并推算到项目 层面,来跟踪完工绩效。高度适应型方法旨在利用团队的专业知识去完成任务。有别于由项目经理确定工作内容和排定工作顺序,在这种方法中,项目经理解释高层级的目标,同时授权团队成员作 为一个小组用最能实现目标的方式自行安排具体工作。这就使团队成员能够高度投入,制定出切合 实际的计划。 对于高度适应型项目上的初级团队,在其达到适合授权的状态之前,通常都需要进行辅导和分配 工作。可以在一个短暂迭代期中开展渐进式试验,然后在回顾性审查会上对团队进行审查,确定团 队是否已具备无需辅导即能开展工作的技能
X3.3.4 监控过程组监控过程组指的是跟踪、审查和调整项目进展与绩效,识别必要的计划变更并启动相应变更所需的一组过程。在迭代型、敏捷型和适应型方法中,通过维护未完项清单,对进展和绩效进行跟踪、审查和调整。在项目团队的协助(分析并提供有关技术依赖关系的信息)下,业务代表对未完项进行优先级排序。基于业务优先级和团队能力,提取未完项清单最前面的任务,供下一个迭代期完成。业务 代表在听取项目团队的技术意见之后,评审变更请求和缺陷报告,排列所需变更或补救的优先级, 并列入工作未完项清单。 这种把工作和变更列入同一张清单的做法,起源于充满变更的项目环境。在这种项目环境中, 无法把变更从原先计划的工作中分离出来。把变更和原先的工作整合到一张未完项清单中,就便 于对全部工作进行重新排序,也能够为相关方管理和控制项目工作、实施变更控制和确认范围提 供单一的平台。 随着排定了优先级的任务和变更从未完项清单中提取出来,并通过迭代加以完成,就可以测算已完成工作的趋势和指标,以及变更工作量和缺陷率。通过在短期迭代中频繁抽样,计算变更影响的 数量和缺陷补救工作量,就可以对照原来的范围来考察团队能力和工作进展。这样一来,就能基于 实际的进展速度和变更影响来估算项目成本、进度和范围。 应该借助趋势图表(信息扩散器)与项目相关方分享这些指标和预测,以便沟通进展情况、共同 面对问题、推动持续改进,以及管理相关方期望。
X3.3.5 收尾过程组收尾过程组是为正式完成或关闭项目、阶段或合同而开展的一组过程。在迭代型、适应型和敏捷型项目中,对工作进行优先级排序,以便首先完成最具商业价值的工作。这样,即便不得不提前关闭项目或阶段,也很可能已经创造出一些有用的商业价值。这就使得提前关闭不太像是一种归因于沉没成本的失败,而更像是一种提前实现收益、快速取得成功或验证某种业务概念。