写点什么

GQM 概述:构建研发效能度量体系的根本方法

  • 2022 年 7 月 08 日
  • 本文字数:2571 字

    阅读完需:约 8 分钟

本文正文内容共计 2200 字,建议阅读时间:5 分钟。


阅读本文你将收获:

1、为什么企业研发部门降本增效,迫在眉睫?

2、研发效能度量的底层逻辑是什么?

3、构建效能度量体系的根本方法:GQM 方法论

作者简介

任晶磊,思码逸 创始人兼 CEO,清华大学计算机系博士,前微软亚洲研究院研究员,斯坦福大学、卡内基梅隆大学访问学者;《软件研发效能度量规范》标准专家组核心专家。在软件系统、软件工程领域从事前沿研究多年,具备丰富经验。曾在 FSE、OSDI 等顶级国际学术会议上发表论文多篇,亦参与过微软下一代服务器系统架构设计与实现。同时,也是一位积极的开源贡献者。 现任思码逸 CEO,通过打造先进的深度代码分析技术和研发大数据平台,以数据驱动软件工程,助力企业和团队提升研发效能。

01 研发降本增效,迫在眉睫

几年前,随着粗放式增长的红利见顶,降本增效成为企业内的高频词汇;近两年在疫情冲击和经济下行的背景下,更是成为不得不重视的议题。美团亦将系统性的降本增效作为 2022 年度的三个关键命题之一

软件研发团队作为许多科技企业的成本中心,同样需要更精细化的管理来降本增效。过去高速成长期用不着关注、来不及关注的低效点,如今都已是不能承受之重。

研发团队如何在精打细算的同时,依然高效率、高质量、可靠且可持续地交付价值,支持业务侧去应对快速变化的市场?研发效能这一概念由此开始进入许多先进组织的视野。

而效能度量,是获取认知、明确提效方向的第一步。


02 研发效能度量的底层逻辑

从 2019 年推出研发效能分析平台以来,思码逸帮助众多研发团队构建起效能度量体系,服务于科学的研发管理与工程改进,也与客户、行业专家们一同沉淀了许多效能实践经验和思考。(👉点击查看往期 DevData Talks

每个组织的效能改进,都是由其自身的特质和目的所决定,他人的实践固然有参考和学习意义,但也很难原封不动照搬。

俗话说,授人以鱼,不如授人以渔。在汇集了如此多经验之后,我们希望从中抽象出可复用的底层逻辑:

💡什么是构建效能度量体系的根本方法?

我们接下来介绍的这套方法来自学术界,后来在学术界、产业界都得到广泛应用,被称为研发效能度量方法的『事实标准』。


03 构建效能度量体系的根本方法:GQM 方法论

GQM(目标-问题-指标 )方法最早由 Basili 提出,发表在软件工程领域权威期刊 IEEE Transactions on Software Engineering 上。GQM 当初是为软件工程研究中的数据收集和分析而设计,其基本思想是:

  • 自上而下定义,每个目标划归为一组可量化回答的问题,每个问题通过若干特定的指标来回答

  • 通过提出问题,建立和表达隐式模型,解决研发难以定义数学模型的困难

  • 自下而上分析解读,数据的收集和分析都服务于清晰明确的问题,进而达成定义的目标

接下来我们分别介绍目标 Goal、问题 Question、指标 Metric 这三个核心概念。

目标

目标阐述了组织对研发效能的信息需要,包含四个要素:

  • 对象:研发的过程(Process)、产物(Product)和资源(Resource)中的一种;每种对象都可能存在层级结构

  • 维度:目标聚焦的角度或对象的属性。参考《软件研发效能度量规范》对认知域的划分,速度、质量、价值、成本、能力都是维度

  • 目的:了解(Understanding)、评价(Evaluation)、改进(Improvement)、控制(Control)和预测(Prediction)中的一种或多种

  • 角色:组织中关注该目标的角色

接下来我们以一个真实案例来示意如何定义目标。

某大型组织当前面对的痛点是规模大、部门多、业务杂,无法准确评估各部门的人力负载情况,无法判断部门人力增补需求的合理性,也无法实现部门间人力调配及合理流动。

该组织当前的目标是控制项目人力成本,那么这个目标的四个要素如下:

梳理四个要素,能帮助我们用一系列标准标签来对阐述目标、拉齐共识。

问题

根据目标提出的一系列问题,主要用于刻画目标;通过提问,建立起一个在目标维度上刻画目标对象的模型。

提问环节需要注意以下两点:

  • 先做加法:尽可能多地提出问题,使模型尽量全面、充分、有效,避免数据收集后才发现遗漏或者无效;完备的问题列表一方面可根据实际需要做裁剪,另一方面可提供多种模型可支持度量结果的交叉验证

  • 结合实际情况:在提问环节,需要结合研发团队的实际情况与特征,补充问题的所需信息

例如,在项目人力成本的目标下,我们可以提出以下(但不限于)几个问题:

接下来就需要结合研发团队实际情况,补足模型的一些信息,使问题具备可操作性,例如:

  • 如何定义人力负载的合理区间?

  • 如何定义关键事务?

  • 项目划分为哪几个阶段?这些阶段人力投入的典型特征是?

  • 项目划分为哪几个类型?

指标

一个问题可能需要多个指标共同回答,这里可以采用技巧:先将问题转化为一个假设,然后思考要充分可靠地证实或证伪这个假设,最关键的是哪些指标,还需要哪些指标做支撑,哪些指标作为制衡。

接着前面项目人力成本的问题,我们可以提出以下(但不限于)几个指标:

在这些指标的基础上,可以根据目标中的具体目的,使用多种分析方法:

  • 分类分布:将对象的组成部分分类后,进行统计分析;该方法在了解对象组成部分的场景下应用广泛

  • 帕累托分析:将组成部分或影响因素的指标排序,定位影响最大或最主要的部分,常用于改进或控制

  • 相关分析:运用各类统计方法找到指标间的正负相关性,常用于改进或控制

  • 拟合建模:运用各类统计方法找到有效预测指标的数学模型



总结

GQM 从目标梳理,到提问建模,再到指标体系的做法,能够避免构建度量时盲目求大求全、堆砌指标、成本过高等问题,使每一个指标都是为了服务具体场景而存在,也能真正产生有价值的信息。

限于篇幅,本文仅简介了 GQM 实操要点。问题和目标的系统定义方法和范式等更深入的内容,更多关于 GQM 信息,请期待我们后续的系列文章《GQM 从入门到精通》。

GQM 方法解决了从需求到度量体系的问题,然后呢?得到了数据和分析结论,研发效能就能自动提升吗?当然不是。

接下来,我们会推出另一篇内容,介绍影响图在研发效能中的应用。影响图是用于支持决策的概率模型(扩展的贝叶斯网络),可连接指标与决策,解决度量后如何分析根因、如何做出最优的改进决策的问题。


——结束——

如果您想了解更多关于关于研发效能的内容,可查看思码逸网站获取;

思码逸 Merico 研发效能分析平台,致力于帮助研发团队解决研发效率、研发质量和人才发展三大痛点,提升研发效率与软件工程质量;

如果您想要与思码逸团队交流,欢迎在思码逸网站留下联系方式,我们将在 24 小时内回复。

发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2022.04.12 加入

还未添加个人简介

评论

发布
暂无评论
GQM 概述:构建研发效能度量体系的根本方法_研发效能_思码逸研发效能_InfoQ写作社区