一、定义
项目生命周期:指项目从启动到完成所经历的一系列阶段。
开发生命周期:项目生命周期内通常有一个或多个阶段与产品、服务或成果的开发相关,这些阶段称为开发生命周期。
注:项目生命周期与产品生命周期相互独立,后者可能由项目产生。产品生命周期指一个产品从概念、交付、成长、成熟到衰退的整个演变过程的一系列阶段。
二、生命周期
- 预测型生命周期(瀑布型生命周期)
- 迭代型生命周期
- 增量型生命周期
- 适应型生命周期(敏捷或变更驱动型生命周期)
- 混合型生命周期
▶ 预测型生命周期(瀑布型生命周期):在生命周期的早期阶段确定项目范围、时间和成本。对任何范围的变更都要进行仔细管理。
▶ 迭代型生命周期:项目范围通常于项目生命周期的早期确定,但时间及成本估算将随着项目团队对产品理解的不断深入而定期修改。(迭代方法是通过一系列重复的循环活动来开发产品)
▶ 增量型生命周期:通过在预定的时间区间内渐进增加产品功能的一系列迭代来产出可交付成果。只有在最后一次迭代之后,可交付成果具有了必要和足够的能力,才能被视为完整的(增量方法是渐进地增加产品的功能)。
▶ 适应型生命周期(敏捷或变更驱动型生命周期):属于敏捷型、迭代型或增量型。详细范围在迭代开始之前就得到了定义和批准。
▶ 混合型生命周期:属于预测型生命周期和适应型生命周期的结合。充分了解或有确定需求的项目要素遵循预测型开发生命周期,而仍在发展中的要素遵循适应型开发生命周期。
预测型(瀑布型)
增量型
迭代型
适应型(敏捷)
三、STACEY矩阵
第一区域:需求明确,技术方案也确定,这类项目就叫做简单(Simple)项目。
第二区域:需求明确,技术却不明确,也就是说怎么实现不知道,这类项目就叫做复杂(Complex)的项目,也称为棘手的项目。例如:无人驾驶项目
第三区域:技术很确定,但是需求不明确,这类项目叫做烧脑型(Complicated)项目。例如:开发软件系统
第四区域:需求也不明确,技术也不明确,这类项目叫做混乱型(Chaotic)项目。
第五区域:除了以上4类外的项目叫做模糊型(Hazy)项目。
不同的项目选择不同的生命周期
简单型 预测型
棘手型 迭代型
烧脑型 增量型
模糊性 敏捷型
混乱型 不要碰
四、项目生命周期的连续区间
强调在项目开始阶段就明确需求和进行详细规划,这是预测型项目生命周期的特点。基于已知需求和制约因素而制定的详细计划,可以减低风险和成本。计划中也规定了需求关键相关方参与的里程碑时点。随着项目按详细计划逐渐推进,监控过程将重点限制可能影响范围、进度或预算的变更。
基于短期迭代规划和实施周期而对需求进行渐进明细,这是高适应型或敏捷型项目生命周期的特点。风险和成本随着对初始计划的渐进明细而逐渐降低。关键相关方持续参与,并频繁提供反馈,使项目能够更快地应对变更且获得更好的质量。
以下两点适用于处于连续区间中间位置的项目生命周期:
(a)风险和成本随着对初始计划的迭代演进而逐渐降低;
(b)在增量型、迭代型和敏捷型生命周期中,相关方的参与机会增多,相比在高度预测型生命周期中只在项目里程碑时点参与。
处于连续区间中间位置的项目生命周期,可以更倾向于预测型或敏捷型。这取决于需求的确定方式、风险与成本的管理方式,以及关键相关方的参与性质。处于连续区间中间位置的项目可以采用混合型项目方法。
应该强调的是,开发生命周期 具有复杂性和多维性。特定项目的不同阶段往往采用不同的生命周期,正如特定项目集内的每个项目都可用不同的方法去执行。