得物质量度量之“三级指标体系”及其应用实践
管理学大师彼得 - 德鲁克曾说过:无数据不管理。 数字是人们快速认知事物的一种有效方式。无论在生活还是工作,对事还是对人都息息相关。碰上难以用数字描述的事物或现象肯定是没有找对适用的指标和度量方式。尤其对于质量工程方面的工作,定量的呈现远比定性描述更有说服力。而“三级指标体系”就是质量平台在这一年的反复打磨中,逐渐清晰并成型的,能够将得物工程质量加以体系化度量的一种最佳工程实践。
为什么是三级?而不是四级或者更少?
通过一级指标,直观反馈在工程化过程中某个方面的水准,具有结果性质的指标,类似“后视镜”的作用,但也具有较大滞后性且粒度较大;从而引入二级指标,对大颗粒度的一级指标进行拆解,分而治之以获取改善。由于粒度的均匀程度问题,需进一步纳入三级指标才具备可操作性,以便着手改善以最终影响到结果。通常情况下,三级指标即可起到有效的下钻分析并落入改进闭环的效果。
文章图片
通过实践归纳,选取效率 、质量、稳定、资源四个方面共同构建三级指标体系。四个方面的关系可描述为质量是立命之本,稳定是有效质量活动的自然结果;业务方期望的是有质量地(约束条件)快速交付,且尽可能少的资源投入,其中也隐含着对资源的高效利用的诉求。
简而言之就是 “多、快、好、省” 地把活干了。三级指标分别指的是:
- 一级指标,即结果指标。起到“后视镜”的作用,有一定的延迟性。
- 二级指标,即拆解指标/改善指标。对结果形成进行构成拆解或者直接可以作用以改善结果。
- 三级指标,即改善指标。可以对应到一个或一组改进行为以获取对结果的部分改善。
一、效率 效率是工程团队与业务团队沟通的热点话题,也是工程团队被诟病的高频方面。从面向高效交付的质量保障工作为切口,进行应用说明。
文章图片
效率方面,通过业务交付能力、计划保障能力以及过程协同能力自底向上逐级支撑与保障以实现高效的目的,也就是用数据呈现“多”与“快”。
业务交付与响应,通过吞吐率这一相对值体现;绝对值方面采用总需求数对照观测,而需求上线率、需求分布体现的是对计划的保障能力。指标方面反映了业务方提了多少需求,排上了多少需求,排上了多少大需求,排上的按时完成了多少。
进而下钻到协同效率体现,其依赖于估时精准性,而过程中准时提测率作为契约支撑,自动化率以及工程配套可用率影响着测试执行效率。这趴指标侧重实施过程的能力说明,属于“肌肉”展示。解释了为什么能以及如何能保障效率。此处隐去了众多三级指标,以便清晰说明(下同)。
二、质量 软件的质量是开发出来的,程序(制品)一旦流转至测试流程后即被固化。这里指的是内建质量,是客观的程序质量。所有的测试行为是对这一客观质量的挖掘。因此,测试行为是通过场景覆盖尽可能地逼近这一客观的质量活动。
通常情况下,设置合理的准入标准有利于提前终止不达标制品的流转,保障流程的顺畅性,将提测质量独立度量,并对提测前进行延展收集成因数据以便形成结论。
文章图片
提测质量是质量门禁的卡尺,是让研发流水线中的质量活动顺畅进行的必要保障。工程上,对于质量活动的投入为被动投入,即不可少,但期望尽可能减少投入。因此质量门禁的设置可以用相对低成本的方式,避免不必要的过渡资源消耗,就好比给汽车上蜡前,先让洗车工把车冲洗干净;否则,上蜡工不得不花费更多的时间去除车上覆盖的尘土,再进入关键工序。如下图,从缺陷成本曲线来看,是笔不划算的投入。
文章图片
而内建质量,是一系列质量活动之后自然的描述结果。其中,缺陷引入率是最直接的描述。缺陷数这一绝对数量,结合其构成即缺陷分布,能够描述较为清晰的内建质量。
文章图片
职能的作用是什么?这一灵魂拷问结合上图做必要的说明,从价值视角阐述其内在导向以及良性的促进闭环逻辑。
测试执行从价值视角切入,尽可能体现质量活动投入而产生的价值,从缺陷价值、回归价值两发面着手并形成正向闭环指导测试设计。简而言之:
- 发现高价值缺陷。结合PRD及技术实现,覆盖用户场景的同时,刻意针对技术实现方式设计用例。如幂等校验、异常处理、数据兼容等。并参考覆盖率报告增补用例,确保覆盖相对全面性。
- 自动化高价值的回归用例。抓住核心、稳定两个关键词,随着回归用例的与日俱增,定期review进行有效用例增补与无效用例剔除以减少不必要的维护成本。
具体指标表现为P1P2生产故障数减少或清零,P3P4生产故障数收敛减少。通常故障定级标准,除了影响面作为一个维度,如资损金额、客诉量等,也会将故障恢复时间作为一个必要维度进行阶梯式定义。
另外,由于生产故障的滞后性,针对某次生产故障的复盘而产生的待办项是有效改善上述结果指标的措施,所以,待办闭环率是该方面的改善指标。此处,质量平台联手PMO,通过“迭代质量复盘会”机制周期性收集与review。
文章图片
此处需要说明的是,系统性的风险累计最终会导致某次生产故障。这是质量保障工作的“黑天鹅事件”,也是最难解释质保策略有效性的部分。质量平台遵从的是质量保障和稳定性治理双管齐下,互相补充。局部的优化即使达到炉火纯青的地步,难抵一次结构性的破坏。而生产故障驱动的系统性复盘能够指导局部优化策略的迭代,使其更加夯实与全面。所以,这是整体与局部的二元互补增强的循环过程。
四、资源 提及资源,主要聚焦在人的维度进行最优配置,即:面向目标,将合适的人用在合适的的地方,并发挥出效益。围绕着下面三个方面进行动态调优。
- 配置多少人?
- 集中用在哪?
- 效益如何放大?
文章图片
分别引入资源开测比、预实比及直接反馈职能效益的时均用例执行数与上述三个方面一一对应。其中:
- 资源开测比反映的是增益投入(开发)与被动投入(测试)的结果。
- 预实比反应的是资源利用率及有效投入情况。
- 时均用例执行数是反映职能从事质量活动的效率水平。依赖内建质量质量、协同效率、测试策略及配套工程手段的综合情况。
文章图片
举例交易域某迭代(预估时)开发测试比为 4.1 : 1,是一项典型的结果指标,即一级指标。想了解其构成,从而下钻进入二级指标:
- 总预估时为 1659.7 人日, 开发 预估时 1333.7 人日、测试预估时 326 人日。 观测到预估时规模极其分布。下钻了解到每10人日吞吐需求个数,了解当前业务域的需求吞吐水位;结合需求维度开测比明细表,了解吞吐的具体需求及所投入资源的分布情况。
- 准时 提测 率、自动化率、T0T1环境可用率。分析研发过程中的顺畅程度以及测试执行的提效能力。下钻三级指标需求维度开测比明细,对应每需求最小颗粒度分析以识别待改进点,于“迭代质量复盘会”上落入待办项事项跟踪闭环,如下图所示:
文章图片
六、应用场景2:迭代质量风险预警-“红绿灯机制”
文章图片
“红绿灯机制”是质量平台在研发过程数字化方面的一项有效实践。依据指标的趋势、波动情况,对连续迭代的指标数据进行公式测算,作为“亮灯”的依据;涉及有门禁质量、内建质量、协同效率三个方面的定量分析;同时,结合定性的描述进行补充说明。从而快速给出迭代质量风险预警,以促成上线前的风险规避措施的制定。
进一步结合质量大盘的版本结论,以对当前某一业务域的迭代版本质量情况及风险点有快速了解。举例交易域某迭代版本结论,如下图所示:
文章图片
总结 “无数据不管理”。数据是工作过程中的一种低成本沟通方式。定性的描述,故事性的讲解都不如定量的摆事实来的直接与高效。
总结下三级指标指的是:
- 一级指标,即结果指标。起到“后视镜”的作用,有一定的延迟性。
- 二级指标,即拆解指标/改善指标。对结果形成进行构成拆解或者直接可以作用以改善结果。
- 三级指标,即改善指标。可以对应到一个或一组改进行为以获取对结果的部分改善。
效率、质量、稳定、资源四个方面的关系可描述为一下三句话:
- 质量是职能线立命之本,稳定是有效质量活动的自然结果;
- 累加效率这一约束条件,以实现有质量地快速交付;
- 同时,尽可能少的投入资源。
同样,结合上线前的质量评审机制,通过对测试前、中、后三个阶段,选取组合并通过算法计算而形成质量风险预警效果的“红绿灯”提示,是数据可视化应用的一种有效尝试。
综上,设计一套有效的指标体系,并不断积累数据,能帮助我们选取合理、科学的路径实现一个个工程目标的达成。
【得物质量度量之“三级指标体系”及其应用实践】文/布鲁斯
关注得物技术,做最潮技术人!
推荐阅读
- 得物复杂 C 端项目的重构实践
- 投稿|得物破局:“留量”和“流量”并驱
- 主动学习(Active|主动学习(Active Learning) 概述、策略和不确定性度量
- 喜讯!云效度量能力获信通院先进级评估
- 本周二晚19(00战码先锋第6期直播丨共建测试子系统,赋能开发者提高代码质量)
- 【机器翻译】|机器翻译质量评测算法-BLEU
- k8s|Kubernetes服务质量保证之配置容器资源limits和requests
- 万字详解数仓质量构建体系
- 中关村系统之家教你鉴别U盘质量的3大窍门
- Google DevOps 度量(监控和可观测性)