数字永远比模糊的字眼更令人可信,但是质量的量化度量往往需要深入分析度量背后的真正价值。
当我们拿起皮尺量度桌椅长宽的时候,这个叫做测量,测量得来的数据叫做数据源,它可以作为度量输入。而当收集了测量结果,并通过一定的方式加工(如公式计算、赋予具体定义)后,即为度量,类似上面长宽比就是度量值。
测量&度量?
软件质量度量的意义在于为所有干系人提供了质量可视化的数据,而且拥有了量化的数据,就可以横向或纵向的比较,推动不断的改进。但是,当不恰当的使用质量度量时,度量就会产生盲区甚至完全负面的效果,譬如盲目的量化工作量产出,而不考虑有效产出或高质量产出的实际值,一大堆复制粘贴的代码就会完全毁掉一个产品的未来。万一整个公司盲目的轻信度量的结果,不去挖掘结果背后的实际状况,当呈现纸面上的质量数据一片形势大好之时,往往因为不适合的度量项选择,而隐藏了质量事故的高风险!注意,不正确的统计方式、方向和公式计算,数据就有了它“真实”的欺骗性。
警惕度量数据背后的欺骗性
那么,质量人员要怎么才能输出一份完整的度量计划呢?
在之前文章,因为度量计划仅仅是质量策划的一部分,质量人员往往小看了这一部分,所以认为它不过是简单的设定或取用几个质量指标,拍个脑袋定上下限目标值就交差完事了……
莫轻视了度量的重要性
一份完整的度量计划实际上包括了至少六个部分:度量背景、度量设计、度量实施与收集、度量分析改进、度量过程改进、度量体系化。
度量计划大纲框架
一、度量背景
介绍度量背景的目的不是抄写一段度量的发展史,而是要说明当前软件产品所在的环境、客户的变化,强调为什么要开展度量、是什么内外部因素驱动了团队必须度量?
背景介绍中,除了上面提到的度量是为了促进改进,在CMMI4中,度量也能帮助企业建立可量化的组织,此外度量还能对外呈现我们产品的质量。在有些公司,因为要促进团队竞争、绩效奖惩,开展可控的度量也就成了当前明确的背景要素。此外在面对一些初级的团队时,也需要给项目组普及度量相关的基本知识。
讲清楚度量的背景、意义、价值和作用
综上,度量背景可以讲讲历史、现状和将来,介绍与度量的有关的技术(SPC、DPMO、DOE、FMEA),讲清楚度量的意义、价值和作用,还得从另外一面提醒强调度量的负面性、盲区和影响。
二、度量设计
在度量设计过程中,我们一般会遵循GQM方法(还有PSM方法等),GQM方法是“目标->问题->度量”,我们在度量计划设计前,如果要全新的设计质量度量项,那么就要明确当前产品的质量目标,如果目标过于宽泛庞大,还需要进一步分解大目标到小目标。
合理方法引领成功
譬如产品需要获得客户满意这个终极质量目标,因为这个目标过于庞大,需要进一步访谈调研客户满意的要素,假设有产品性能、交互性、准时交付这三个满意要素,针对这三个目标,我们即可提出问题。
性能:需要多少秒加载时长?最大的并发使用数?每秒钟可以处理的数据量?
交互性:点击率、留存率、页面停留时长、跳出率?
准时交付:延期百分比、各里程碑用时?
有了上述问题后,我们即可设计相应的度量,页面加载时长(s/单页面)、并发数(用户量/单位时长)等等。
那么度量的分类有哪些呢?宽泛来说有项目度量、过程度量、技术度量和结果度量,当然这种分类彼此之间会存在重叠的部分。
常见度量分类
此外还有常见的三大度量:
1、工作量度量(计划工作量、完成工作量):反映与计划的偏差、反映过程工作量是否异常、从(设计、避免、测试)工作量的变化曲线追踪问题;
2、进度度量(计划、实际):反映了资源是否充足、进度是否合理、重新计算成本-收益;
3、缺陷度量(缺陷类型占比、缺陷密度、缺陷响应):统计缺陷引入类型(模块类型、缺陷分类、发现人员、发现阶段、发现方法)占比,比较各生命阶段占比,衡量缺陷从发现到最终修复的时长。
至于现在业界常有的质量度量项包括但不限于:
偏差(规模、工作量、进度)、需求稳定度、工作量分布、生产率、缺陷(遗留)密度、覆盖率、成熟度、指数、性能、交互性、问题解决率、异常数量等等。
三、度量实施与收集
当度量项已经明确好了后,且经过团队和质量组专家评审,紧跟着就需要制定度量的宣讲规范、考核应用标准、度量的系统/工具/公式/基线、收集反馈方式,检查核对抽审要求。
一般来说,宣讲规范主要是明确度量计划宣讲的范围,需要哪些人知道、哪些人负责输入、维护、输出。
而应用标准则是强调团队要清楚度量好坏对个人、团队、组织、公司绩效的影响。
先理解、后实施、再反馈
至于度量的系统/工具/公式/基线就是讲清楚度量项的取数范围、取数原则、来源人、来源系统、采数或统计的工具、计分换算公式是什么、组织和产品的基线又是什么。在这里,若一个全新领域全新产品的度量探索,基线则往往是在探索过程中逐步清晰和确立下来的。
紧接着还需要说明清楚度量的收集反馈方式、制度、频率。
最后则是检查核对度量数据的准确有效性,特别是在一些公司,度量项与绩效奖金挂钩,为了避免造假,不定期抽查和例行开展交叉互检互审计也是必须的做法。
四、度量分析改进
到了度量计划的第四部分,需要明确哪种度量项属于异常,需要分析,并说明清楚改进闭环的要求、频率和不改进的后果。
五、度量过程改进
正如所有的质量活动最终都会要求持续改进一样,度量过程的改进也是必须的,因为在当前互联网时代,客户满意的变化是快节奏的,度量就像是针对客户满意的需求分析那般,始终要立即响应和迭代变化。
除此之外,在现状的度量过程中,一些度量项设计的不合理,实施过程中遇到的问题,收集的数据有各种不足,分析方法的不匹配,改进效果不佳等等,都促使了度量过程需要改进。
所以在度量计划中,主要呈现过程改进的要求、推荐方法、复盘总结的频率。
六、度量体系化
最终,我们的质量管理始终要彻底流程化、规范化、体系化的,围绕CMMI4的各项实践活动,建立一套完整度量体系,放大上面度量计划的五个部分,抽取共性和通用内容,那么就是从组织层面输出一份针对整个公司的度量计划了。
文章首发于微信公众号“流程与质量”