3.2 软件确认流程及最佳实践
为了确保对工作产品确认的效果,通常建议该工作产品在仿真环境下进行审查,因此建立确认的环境是确认管理中的一个部分。一个软件项目所产出的工作产品非常多,仅配置项列表中的内容就有几十项,项目组需要在项目计划阶段识别所需进行确认的工作产品。确认是以使用者的视角来对工作产品进行审查,因此要在制订项目计划时就确定哪些项目关系人要对哪些工作产品进行确认。接下来我们对确认管理的流程和最佳实践进行举例讲解。
3.2.1 确认的准备工作
确认工作在准备阶段包括以下3个方面的内容,这些内容都应该在项目计划阶段完成:
① 选择需要确认的工作产品与产品组件
② 建立和维护确认环境
③ 建立确认的流程及准则
1.选择需要确认的工作产品与产品组件
在选择需要确认的工作产品和产品组件时,可以根据项目的生命周期模型,并配合项目配置项列表来进行识别。配置项列表中的内容都是项目关键的工作产品,因为配置项是项目基线的组成部分,虽然并不是所有配置项都需要进行确认,但是确认管理的工作还需要很多资源、时间和成本的投入,这要根据项目的实际情况进行确定。
在识别完待确认的对象后就应该为它制订相应的确认方法,并确定参与确认的角色。软件项目中确认的方法有以下两大类,软件生命周期中常见的确认内容及方法如表3-1所示。
① 对文档类型的工作产品进行确认,通常可以与其文档的评审合并进行。
② 对产品或产品组件进行确认时,通常可以与单元测试、集成测试、系统测试和验收测试合并进行。
表3-1 软件项目中参加的确认内容及确认方法
项目生命周期 | 确认内容 | 确认方法 | 确认目的 | 确 认 人 |
需求阶段 | 需求调研计划 | 评审 | 确保需求调研计划时间安排合理 | 需求调研人员 |
承诺可以按计划的时间参加需求调研的活动 | 客户 | |||
项目生命周期 | 确认内容 | 确认方法 | 确认目的 | 确 认 人 |
需求阶段 | 软件需求说明书 | 评审或 原型展示 | 承诺需求尽量不发生变更 | 客户 |
确保软件功能可以实现 | 项目组成员 | |||
系统规格说明书 | 评审或 原型展示 | 承诺需求尽量不发生变更 | 客户 | |
确保软件功能可以实现 | 项目组成员 | |||
计划阶段 | 项目过程定义书 | 评审 | 确保所定义的过程是合理的 | 项目组成员 |
项目估算表 | 评审 | 确保项目估算的过程是合理的 | 项目组成员 | |
项目计划及其 从属计划 | 评审 | 承诺可以提高所需的资源 | 公司高层 | |
确保项目计划是合理的 | 项目组成员 | |||
设计阶段 | 概要设计说明书 | 评审 | 承诺设计的内容合理有效 | 软件设计人员 |
确保概要设计的内容可以实现 | 软件开发人员 | |||
详细设计说明书 | 评审 | 承诺设计的内容合理有效 | 软件设计人员 | |
确保概要设计的内容可以实现 | 软件开发人员 | |||
产品集成方案 | 评审 | 承诺产品基础的方案是合理有效的 | 软件设计人员 | |
确保产品集成顺序是合理的 | 软件开发人员 | |||
编码阶段 | 产品组件 | 单元测试 | 承诺代码的质量是合格的 | 软件开发人员 |
确保代码的功能是正确的 | 软件测试人员 | |||
集成后的产品 或组件 | 集成测试 | 承诺产品或组件的质量是合格的 | 软件开发人员 | |
确保产品或组件的功能是正确的 | 软件测试人员 | |||
系统测试阶段 | 产品或组件 | 系统测试 | 承诺产品的质量已经符合要求 | 软件测试人员 |
确认产品是否可以发布 | 项目经理 | |||
用户验收阶段 | 产品 | 验收测试 | 承诺软件产品已经完成并且达到质量标准 | 项目经理 |
确认产品是否可以验收,项目是否可以结束 | 客户 |
在项目计划阶段通过对配置项列表中的配置项进行识别,挑选适当的工作产品在项目过程中进行确认,并将挑选出来的内容记录在确认清单或项目计划中,其流程如图3-1所示。
2.建立和维护确认环境
确认工作的开展最好是在“使用者”的环境下进行,只有这样才能证明该工作产品的质量和功能是否符合“使用者”的要求。但在软件研发过程中这个前提条件并不一定完全可行,在建立确认环境时往往也要考虑确认的方法。例如:要对《软件需求说明书》进行确认,确认的方法是“评审”,开评审会所需要的环境通常是一间会议室,最好有白板、各种颜色的水笔、投影等设备,不管是甲方还是乙方召开《软件需求说明书》的评审,这些配备都是相同的。再例如对开发阶段集成后的产品或组件进行确认,往往是通过执行集成测试用例来完成的,由于确认的对象是代码,所以集成测试用例通常是由白盒测试技术实现的。在进行此种确认时,软件测试人员是该工作产品的“使用者”,但该确认的方法却是一种开发的技术,所以在软件测试人员的系统测试环境中是无法进行的。
图3-1 选择确认的产品