软件适航加油站

 找回密码
 成为会员
搜索
查看: 14857|回复: 1

迭代增量生命周期

[复制链接]
gyliu 发表于 2010-11-18 14:52:41 | 显示全部楼层 |阅读模式
1.        基本原理
迭代增量生命周期融合了瀑布模型的基本成分和迭代开发的特征,它是一种以架构为中心、风险前驱、用例驱动、基于迭代开发的软件生命周期。迭代增量生命周期将项目的研发过程分为一系列的短期小项目过程,称为迭代。每次迭代都产生经过测试的、经过集成的和可执行的系统。迭代增量生命周期基于对贯穿多个迭代的一个系统进行持续扩展和精化,采用循环反馈和适应调整作为核心驱动力将系统整合成适当的系统。随着时间和一次又一次迭代的递进,系统增量式的发展完善。这样可以使用户可以尽早的进行体验、使用并得到反馈,最终的交付物会包含需求所涉及的全部功能。
2.        缩略语
PMO      项目管理办公室(Project Management Office)
3.        角色
客户
项目经理
需求组
设计组
设计评审组
开发组
测试组
部门经理
PMO
客户经理
SQA
4.        适用范围
迭代增量生命周期适用于需求不明确、不完整、用户参与程度高、有较高程度的配置管理和变更管理支持,并且规模较大的项目。一般来说是否采用该生命周期模型可以从以下四个方面进行衡量:
1.        项目周期和规模,建议项目周期在3个月以上,并且规模在20人月以上的项目;
2.        用户参与程度,由于整个项目周期中发布的中间版本,都需要尽可能的获取用户的有效反馈,因此需要用户积极参与;
3.        需求明确程度和复杂程度,由于需求活动可以贯穿整个项目周期,因此增量迭代命周期可以有效缓解 “需求不明确、不完整、多变”的问题;
4.        配置管理和变更管理的支持,由于基于迭代进行项目工作,因而项目制品会有很多中间版本;由于通过用户反馈完善项目,因而项目会有较多的变更活动。因此选择迭代增量生命周期后,项目过程中必须有配置管理和变更管理的高度支持。
5.        生命周期图示
整个生命周期可分为四个顺序的阶段:初始阶段、细化阶段、构造阶段、移交阶段。每个阶段都由一个或几个迭代组成。具体到每个迭代,大体会包含:需求、原型构建、设计、实现、测试、发布等关键流程,配置和变更管理、项目管理、环境(流程和工具)等支持流程贯穿始终。其中生命周期的里程碑制品都是可选的,阶段计划和迭代计划在项目管理过程中体现。


*对于需求可以清晰地定义,并且用户也不要求有原型的情况下,原型是可选的。

6.        生命周期概述
整个生命周期可分为四个顺序的阶段:初始阶段、细化阶段、构造阶段、移交阶段。每个阶段都由一个或几个迭代组成。具体到每个迭代,大体会包含:计划、需求、原型、设计、实现、测试、部署等关键流程,配置和变更管理、项目管理、环境(流程和工具)等支持流程贯穿始终。其中生命周期的里程碑制品都是可选的,而且体裁不限,可以是文档也可以是模型。阶段计划和迭代计划在项目管理过程中体现。
6.1.        生命周期阶段
6.1.1.        初始阶段(Inception)
阶段任务是明确构想、业务案例、范围和模糊的评估。核心目的是确定项目范围和目标,并且定义关键用例。初始阶段历程碑:参考《PJM-G-迭代增量生命周期活动定义》

6.1.2.        细化阶段(Elaboration)
阶段任务是精化构想、核心架构的迭代实现、高风险问题的解决、确定大多数需求和范围,以及进行更为实际的评估。核心目的是实现架构、实现风险高的关键用例。细化阶段里程碑:参考《PJM-G-迭代增量生命周期活动定义》
6.1.3.        构建阶段(Construction)
阶段任务是对遗留下来的风险较低和比较简单的元素进行迭代实现,准备部署。核心目的是增量迭代实现全部功能,并通过反馈对前一次迭代的制品进行完善。构建阶段里程碑:参考《PJM-G-迭代增量生命周期活动定义》

6.1.4.        移交阶段(Transition)
阶段任务是进行验收测试和部署。核心目的是进行项目交付制品的移交。移交阶段里程碑:参考《PJM-G-迭代增量生命周期活动定义》

6.2.        生命周期特征(优点)
•        对于用户和高层管理者来说项目是可见的,用户可以更早的进行使用和反馈;
•        风险前驱,在早期识别、缓解风险
•        早期反馈、用户参与和调整,会得到一个更接近项目干系人真实需求的经过精化系统
•        每次迭代中积累的知识可以用于改进开发过程,并作用于后续迭代;
6.3.        生命周期缺点
•        计划难度增大,迭代之间可能有内在联系;
•        容易退化为边做边改模型;
•        需要进行完善的配置管理和变更管理支持;

7.        一次迭代中的备选流程的详细描述
一次迭代中的备选流程包括:原型、需求、设计、集成测试、系统测试、发布、验收测试。迭代中的备选流程会根据迭代所处的阶段有所区别,任何流程都不是必选的。
•        在初始阶段核心目的是确定项目范围和目标,并且定义关键用例。因此初始阶段的迭代一般会选取原型和需求两个流程;
•        在细化阶段核心目的是实现架构、实现风险高的关键用例。因此细化阶段的迭代一般会选取需求、设计、实现、测试、部署流程。细化阶段结束后,会得到一个稳定的可运行的系统框架和包含核心功能的初始发布版本;
•        在构建阶段核心目的是增量迭代实现全部功能,并通过反馈对前一次迭代的制品进行完善。因此构建阶段的迭代主要的工作是实现、测试和部署,其中需求和设计的工作量会很少;
•        移交阶段核心目的是进行项目交付制品的移交,因此移交阶段的迭代可以选取验收测试和部署流程;
8.        剪裁
参考《PJM-G-迭代增量生命周期活动定义》。
9.        建议
•        需要完善的配置管理和变更管理过程支持;
•        需要用户高度参与;
•        需要有较高的项目计划水平;
•        由于迭代阶段的规划以及每次迭代的流程选取有很高的自由度,这对于项目管理人员有较高的要求。如果每个阶段只进行一次迭代,则可能退化为“瀑布模型”;如果没有对迭代的发布成果进行反馈,则可能演变为“阶段提交模型”;
10.        生命周期可选流程汇总表
参考《PJM-G-迭代增量生命周期活动定义》

评分

1

查看全部评分

wanglei 发表于 2013-12-31 15:55:47 | 显示全部楼层
给楼主顶一下~
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|Archiver|手机版|软件适航加油站 ( 沪ICP备13019901号-3 )

GMT+8, 2018-12-14 20:56 , Processed in 0.140400 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表