浅议软件项目生命周期模型与选择

时间:2022-07-31 03:25:04

浅议软件项目生命周期模型与选择

摘 要:本文介绍了软件项目生命周期模型及选用原则,以指导项目组根据项目具体情况进行活动和任务安排,规范项目过程,保证项目质量和开发效率。

关键词:软件项目;生命周期模型;选择

中图分类号::TP311.52 文献标识码:A

正确的选择生命周期模型是软件开发成功的第一步。 软件项目经理在对项目进行策划时,首先需要考虑选择适用的软件生命周期模型。合适的项目周期模型使得项目开发过程流程化、易于管理,同时能够提高开发速度和产品质量,更好的满足客户的要求。

1软件项目生命周期模型介绍

1.1标准生命周期模型

1.1.1标准生命周期模型将项目分成5个阶段,分别为构思阶段、计划阶段、开发阶段、稳定阶段和部署阶段,每个阶段定义了主要的工作目标和活动,每个阶段的结束以完成各自的里程碑为标记。

1.1.2模型图

图 1 标准生命周期模型图

通过使用分阶段和里程碑驱动的方式,使整个项目过程的可预见性和可管理性增强,项目质量可以得到有效的控制和提高。每个阶段的结束包括一个里程碑,里程碑表示某个时间点,在这个时间点上,应该完成一组预先指定的交付成果。里程碑的设立,可以帮助团队成员定期同步工作成果;产物经过正式评审,还可以确保项目进展方向的正确性,保证不偏离预定的业务目标。

在模型图中定义的里程碑为阶段里程碑(也称为主里程碑),在每个阶段的进行中,也可以在阶段内部定义其他中间里程碑(也称为次里程碑),如完成系统架构设计的里程碑等。中间里程碑将一个阶段内的工作分成便于管理的几部分,由项目组根据项目情况制定,生命周期模型中对中间里程碑不做硬性要求。

此外,标准生命周期模型还是一个迭代方法,通过把一个大项目分为几个版本将风险减至最小。

在软件项目开发中,一般可先开发、测试和部署那些核心的、基本的功能,然后在后续的版本中添加其他功能。使用多版本的方法,可以将复杂的大项目分解成几个较小的项目,使它们更便于管理。由于缩短了交付时间,使项目组能更快地从用户那里得到产品的反馈,并在该产品的下一个版本中做及时地更正,能更早地给客户带来更多的业务利润。由于项目组有不断的功能增加和持续的产品推出,使项目组员的目标更加清晰明确,可以鼓舞团队士气。

1.1.3各阶段的主要工作目标和里程碑产物等内容见下表:

阶段

名称 主要

目标 里程碑

名称 主要

驱动角色

构思

阶段 确定项目的目标和前景,在限定条件下定义项目范围 前景/

范围确定 产品

经理

计划

阶段 给出详细需求和设计方案,以及构建和部署的计划、与各项任务和资源相关的进度表 项目

计划确定 程序

经理

开发

阶段 构建项目中所要求的各种功能和交付成果,其中包括代码、组件、基础架构以及和用户及运营相关的文档等交付成果。 完成

产品范围开发 开发组长、

用户教育组长

稳定

阶段 提高项目质量,使产品达到稳定,满足到生产环境的质量标准

就绪认可 测试组长、

部署组长

部署

阶段 把产品实施到生产环境之中 部署

完成 部署

组长

1.1.4构思阶段

构思阶段的主要工作是组建项目团队,建立项目前景,确定项目范围,开始风险评估。

当项目产生时,应及时确定项目的涉众,确定所需的团队技能,组建项目团队,并制定初始的项目计划。项目团队除了项目各角色成员外,还应包括质量保证人员。

为使团队有一个共同的目标和前景,应在本阶段确定业务问题和机会,收集项目需求,开发项目的前景,并在给定的假设和限定条件下,确定项目范围。

在本阶段,还应完成初步的风险评估。

此外,还应在本阶段建立配置和变更管理。

重要里程碑产物都必须经过相应的评审,以保证产物的质量。

构思阶段的主里程碑为“前景/范围确定”,要求前景和范围文档经过评审,得到关键涉众的认可。

1.1.5计划阶段

计划阶段的主要工作是开发详细的软件需求、进行逻辑设计和物理设计,制定主项目计划和其他附属计划,并准备开发和测试环境等。

为制定出一个高效的计划以降低项目风险,项目组必须仔细分析用户需求和业务需求,定义系统的详细需求。在基本确定需求时,项目组可以进行系统的逻辑设计和物理设计。

在计划阶段应将目标和初始计划转变为项目计划,并使每个角色对项目计划负责,注意项目计划不只是单纯的一个时间进度表,它应该包括一个主项目计划和一系列附属计划,如培训计划、测试计划、沟通计划等。

此外,在计划阶段还应按照开发和测试计划中设置的标准配置来建立环境,为开发和测试做好准备。

计划阶段的主里程碑为“项目计划确定”,要求关键涉众对要交付的组件、主要项目里程碑日期及如何构建达到一致意见。

1.1.6开发阶段

开发阶段的主要工作是编写代码、创建文档和培训课程、进行测试等。

通过每日构建实现内部,可以帮助团队把一个复杂的项目分解为多个易于管理的任务。

开发阶段的里程碑为“完成产品范围开发”,表示所有功能和交付成果都已完成。

1.1.7稳定阶段

稳定阶段的主要工作是解决发现的问题,使产品稳定运行,提高项目质量,并完成项目。

为达到产品稳定,应进行有效的测试和试运行,进行每日构建和测试。

在稳定阶段的后期,项目组应开发候选版本,准备相关文档,并完成。

稳定阶段的里程碑为“就绪认可”,表明项目代码和文档的产物通过评审,可以正式。

1.1.8部署阶段

部署阶段的主要工作是将产品部署到用户环境中,最终交付运营,项目组进行总结收尾。

要将产品平稳地部署到用户环境中,部署完成得到用户认可后,要将项目交付给用户进行运营,同时相关产物应交给技术支持部门进行后续维护工作。

在合同项目中还应得到客户的确认,进行客户验收。

此时,项目组可以进行项目回顾和总结,将项目数据、经验和教训存放在过程财富库中。

部署阶段的里程碑为“完成部署”,表明产品在客户环境中已能稳定运行,项目得到客户认可,项目团队的工作基本结束。

1.1.9在项目中运用标准生命周期模型时,可以根据项目的不同情况进行裁剪。

1.2原型生命周期模型

1.2.1原型是指为需求调研和演示使用的软件产品,原型生命周期模型是指为这些产品而定义的过程模型,它对过程的要求比标准生命周期模型简单,并且由于不是提交给用户的产品,因此,基本上都不包括稳定和部署的阶段。

1.2.2模型图

图表 3 原型生命周期模型图

原型生命周期模型和标准生命周期模型类似,都是采用分阶段和里程碑驱动的方式,但它通常只包含三个阶段,同时,对每个阶段的流程控制要求也相对较少一些。但原型生命周期并不表示稳定和部署阶段肯定不存在,在有必要的情况下,也可以包含这两个阶段或其中之一。

同样,原型生命周期模型也是可以迭代的,如下图所示。

1.2.3各阶段的主要工作目标和里程碑产物等内容见下表:

阶段

名称 主要

目标 里程碑

名称 主要

驱动角色

构思

阶段 确定项目的目标和前景,在限定条件下定义项目范围 前景

/范围确定 产品

经理

计划

阶段 分析需求,制定出项目进度计划表 项目

计划确定 程序

经理

开发

阶段 构建解决方案中所要求的各种功能和交付成果,其中包括代码、组件、基础架构以及和用户及运营相关的文档等交付成果。 完成产品

范围开发 开发组长、

用户教育组长

1.2.4构思阶段

构思阶段的主要工作是组建项目团队,建立项目前景,确定项目范围。

当项目产生时,应及时确定项目的涉众,确定所需的团队技能,组建项目团队,并制定初始的项目计划。

为使团队有一个共同的目标和前景,应在本阶段确定业务问题和机会,收集项目需求,开发项目的前景,并在给定的假设和限定条件下,确定项目范围。

此外,还应在本阶段建立配置和变更管理。

构思阶段的主里程碑为“前景/范围确定”,要求前景和范围文档经过评审,得到关键涉众的认可。

1.2.5计划阶段

计划阶段的主要工作是开发详细的软件需求、制定主项目计划和其他附属计划,并准备开发环境等。

为制定出一个高效的计划以降低项目风险,项目组必须仔细分析用户需求和业务需求,定义系统的详细需求。在有些原型项目中,项目组还应该进行系统逻辑设计和物理设计。

在计划阶段应将目标和初始计划转变为项目计划,并使每个角色对项目计划负责。

此外,在计划阶段还应建立好开发环境。

计划阶段的主里程碑为“项目计划确定”,要求关键涉众对要交付的组件、主要项目里程碑日期及如何构建达到一致意见。

1.2.6开发阶段

开发阶段的主要工作是编写代码、创建文档等。

原型项目也应采用每日构建的方式来实现内部构建和测试。

开发完成后,产品就可以提供进行需求调研和演示使用,有些特殊的原型产品可能还包括稳定阶段或部署阶段的相关工作。

开发阶段的里程碑为“完成产品范围开发”,表示所有功能和交付成果都已完成。

1.2.7原型生命周期模型也是可以裁剪的。

2 两种模型比较

3模型选择

4定义项目特征

在项目立项后,程序经理要组织项目组组员、质量保证人员等人员根据项目的具体情况,定义项目特征,并填写在项目生命周期模型确认表中。

5选择合适的生命周期模型

根据项目特征和生命周期模型特点的比较,选择相应的生命周期模型、裁减项目过程并确定项目的产物。程序经理将选择的结果和原因记录在项目生命周期模型确认表中。

6确认结果

程序经理将项目生命周期模型确认表提交给EPG进行审核。EPG审核通过后,项目按照相应生命周期模型进行开发;如果审核不通过,则程序经理应组织重新进行选择。

注:EPG全称为Engineering Process Group,即工程过程组,是软件行业负责对质量管理体系进行改进和重大改进活动的组织;

7结果归档

EPG审核通过后将项目生命周期模型确认表归档到过程财富库中。

结语

项目生命周期确定了将项目的开始和结束连接起来的阶段,目前还没有确定项目生命周期的最好办法。本文引用行业的通用做法和约定俗成的项目生命周期,阐述软件行业项目生命周期的两种模型和选择要点,有助于项目经理有效选择和对项目进行管控。

参考文献

[1] (美)斯蒂夫.麦克康奈尔著. 席相霖等译.快速软件开发[M].电子工业出版社.

[2] (美)项目管理协会著. 卢有杰,王勇译.项目管理知识体系指南(第3版)[S].电子工业出版社.

上一篇:完善电力安全管理长效机制的研究与实践 下一篇:关于对农业排灌线路设备安全管理的探讨