关键字:软件质量、质量管理
7.2 度量活动
在整个开发过程中,到底度量些什么,是一个非常困难的课题。因为度量数据的真正用户不仅仅是项目组,更多的是管理者。当管理层不关心组织的过程能力时,软件度量就会失去方向和目标;而如果项目组和管理层不关心组织的过程性能时,度量则失去了其存在的作用和意义。
这两个方面中,一定要首先确定度量活动的首要目标。度量内容(即下面所论述的“度量元”)必须由企业的商业目标确定,并且是针对特定问题的。换句话说,软件度量一定由公司的管理层决策、参与和支持,提出监控的大方向(如工作量、进度、生产率、缺陷密度等方面的控制值),同时有资深的项目管理和开发人员讨论、参与和支持,一起定义具体细节。
例如,公司中的项目类型可能有很多,包括特定的项目开发(从需求获取到发布)、平台移植项目(从Windows到Linux或者UNIX)、本地化项目(汉化国外产品)、售后服务类项目以及外包项目(从详细设计到编码阶段和纯测试项目)等,针对不同类型项目的度量元肯定是不同的。其中,项目开发可以有编码阶段的代码生产率,也可以算出从头到尾的平均代码生产率。对于本地化项目,工作量是将英文翻译成中文(其中没有代码开发的任务),此时需要度量的是翻译阶段的翻译生产率。而对于移植项目(有些代码是自己写的,有的是复制原来的,有的是修改的)、纯测试项目(测试某个产品的各个功能,可能没有代码或写了一些测试驱动)、外包服务(客户的需求频繁变化,虽然可以统计编码阶段的生产率,但其中的返工工作量很大)、客户支持服务(远程支持、指导,没有任何代码)等,凡此林林总总的特例,如何进行度量的定义、统计、分析,都是比较现实的问题。
7.2.1 度量目标
确定度量目标、选择适当的度量元是做好度量的基础。我们确定度量目标时,常用的是目标问题度量(Goals-Questions-Metrics,GQM)方法(见图7-3)。GQM方法由马里兰大学的巴士利博士(Dr.Victor Basili)及其助手提出,用以告诉组织或者机构应该采集哪些数据。GQM方法隐含的假设是“每一个组织、项目均有一系列目标要实现;而要实现每一个目标,均要回答一系列问题才能知道目标是否实现;而对提出的每个问题,都可以找到一个完整、可以量化的满意解答”。GQM过程如下:
(1)制定一系列目标;
(2)设定一系列描述目标的问题;
(3)定义需要回答这些问题的度量标准;
(4)开发数据收集和分析的机制;
(5)收集、确认、分析数据,并采取正确的行动;
(6)通过事后剖析的方式分析数据以评估是否与目标一致,并为其后的改善提供建议;
(7)为利益相关者提供反馈信息。
图7-3 GQM方法
度量目标是由信息需求发展来的,可能的来源涉及诸如估计项目计划参数、实施项目状态的监督、已建立的管理目标、商业计划、正规需求或合同义务、其他项目或组织级实体的经验,以及过程改进计划等内容。
现分类举例如表7-1所示。
表7-1 度量目标举例
信息分类 | 度量目标 | 可度量概念 | 要解决的问题 |
进度 | 控制进度 | 完成的里程碑 关键路径性能 工作单元进展 增量式能力 | 项目符合预定的里程碑吗 关键任务或交付日期延迟了吗 特定的活动和产品进展如何 要交付的能力像在增量式构造和发布中预定的那样吗 |
资源和费用 | 控制成本 | 人员工作量 财务性能 环境和支持资源 | 所花工作量是按计划的吗 是否有足够的具备所需技能的员工 项目是否满足预算和进度目标 需要的设施、设备和材料是否可获得 |
产品规模和稳定性 | 监控规模 | 物理规模稳定性 功能规模稳定性 | 产品的规模、内容、物理特性或接口变更有多少 需求和相关的功能变更有多少 |
产品质量 | 控制质量 | 功能正确性 可维护性 效率 可移植性 可用性 可靠性 | 产品质量是否达到了交付给用户的水平?已标识的问题解决了吗 系统要求多少维护?维护的难度如何 目标系统能有效地使用系统资源吗 功能在另一平台上重新部署,达到了什么程度 用户接口是足够的且便于操作吗?操作员的错误是在可接受的范围内吗 给用户的服务常常被中断吗?故障率是在可接受的范围内吗 |
过程性能 | 提高过程性能 | 过程符合性 过程效率 过程有效性 | 项目实现已定义的过程的一致性如何 过程效率是否达到了满足当前委托和计划的目标 因返工需要花多少额外的工作量 |
技术有效性 | 加强技术有效性 | 技术适合性 技术易变性 | 技术满足所有的已分配的需求吗?需要额外的技术吗 新的技术是否因太多的变更而造成风险 |
客户满意度 | 了解和提高客户满意度 | 客户反馈 客户支持 | 我们的客户多大程度上理解项目的性能?项目满足用户的期望吗 客户的支持请求多快能得到处理 |
相关阅读:
版权声明:51Testing软件测试网获电子工业出版社授权连载《软件质量管理实践》部分章节,其他个人或单位未经许可,不得对本内容复制、转载或进行镜像。51Testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们。