如何建立软件度量体系?
概述
对软件企业而言,度量常常被视为非常艰巨的工作,在软件工程概念没有得到广泛应用的年代,度量甚至被看成是“不可能的任务”。经过软件企业多年的实践,目前软件业界已经广泛认可了建立和实施软件度量体系的意义,“如果你不知道目前所处的位置,即便手中有一张地图也不知道何去何从”,“有了度量,才能更好地管理”。质量大师戴明也说过“In God we trust, all others bring data”,即“我们相信上帝,但其他人都要用数据说话”。然而,许多软件企业仍未能实施软件度量体系,即使实施,也不能持续或高效地实施,它们面临着许多问题和挑战:
1. 度量体系中的指标缺乏统一规范的定义,指标的目的和意义不明确,导致不同人员对同一指标的不同理解;
2. 度量指标与商业目标无关,企业员工不了解度量指标的目的,为了收集数据而收集,敷衍应付了事;
3. 没有定义度量数据的收集和存储规程,更没有严格地执行,导致收集的数据不完整,甚至是错误的;
4. 度量指标名目繁多,零散分布,度量图表五彩缤纷,却不能反映企业某一方面/总体状况,更不能反映是否达成企业的商业目标;
5. 没有提供反映企业过程和产品水平的基线(Baseline)/标杆(Benchmark),既不能评价研发过程水平,也不能帮助项目组准确估计后续项目。
针对这些软件企业面临的挑战和问题,业界一些研究机构对许多实施软件度量体系的公司进行了持续的研究,并提出了建立软件度量体系的一些模型和方法,如美国国防部赞助的PSM组织提出的PSM方法(Practical Software & System Measurement)、美国卡内基梅隆大学的SEI(软件工程协会)发布的CMMI(集成的能力成熟度模型)中的过程域MA(度量和分析),以及SEI提出的目标驱动度量方法(Goal-driven Measurement)。以下对CMMI中与度量分析相关的要求、PSM方法和目标驱动度量方法(GQIM方法)进行简要介绍。
CMMI对于度量分析的要求
CMMI集合了业界的最佳实践,其中与度量分析相关的过程域主要是MA(度量和分析)和OPP(组织过程绩效)。它要求企业在建立和实施度量体系时,应达成这些目标:
1. 建立和实施度量体系(确定度量目标、定义度量指标、制定数据收集和存储规程、制定数据分析规程)。
2. 报告度量结果(收集数据、分析数据、存储度量数据和分析结果、报告度量结果)。
3. 建立组织过程基线(确定过程目标、建立和发布组织过程基线)。
PSM方法
PSM(Practical Software & System Measurement)方法顾名思义,是适用于开发软件和系统产品的企业建立和实施度量体系的实践方法。它是美国国防部赞助的PSM组织对许多软件企业的度量实践进行总结而得到的一种具有很强的可操作性的方法,是一种信息驱动的度量体系建立方法。
使用PSM方法建立软件度量体系时,过程主要包括了四大步骤:
1. 识别项目关注的问题;
2. 将项目关注的问题归类到七大公共问题领域,包括了进度、规模、过程绩效、客户满意、资源和成本、产品质量、技术;
3. 将对应于七大公共问题领域的问题,对应到相关的度量领域;
4. 每个度量领域都对应于已经被证明有效的度量指标,从而可以得到项目关注的问题所对应的度量指标。
当项目识别出最为关注的问题之后,通过使用PMS组织提供的表格,即可得到有效的度量指标。下表是一个示例:
文章来源于领测软件测试网 https://www.ltesting.net/