研发效能度量指标的陷阱思考

简介: 研发效能度量指标的陷阱思考

研发效能指标的构建,在最近几年的博弈和发展中,笔者以为已经形成了基本的共识。但是最近在参与某个团队的度量指标选择时,又产生了很多疑问。本文纯粹从自己的理解上来讨论研发效能度量指标,欢迎指正。

01

先回答一个老问题:为什么需要做研发效能度量?理论上应该是为了提升效率,让团队往更好的方向去发展。

 

在效能度量指标体系中,应该包含结果指标和过程指标。结果指标建议少而精,用于整体方向的引导和驱动,这类指标由于涉及因素较多,博弈成本比较高;过程指标是更容易被博弈的,建议给团队自主权,让团队自己去决定是否使用,减少通晒和考核,而强调过程指标在发现问题、解决问题方面发挥的作用,也能减少追数据的现象发生。从结果指标开始,以终为始去牵引。

 

如果一个指标,不能很好地牵引团队去做质量改进,就没必要去度量。

02

在研发效能指标的选取过程中,首先应该要考虑到的就是从全局的视野来看瓶颈点在哪里。这样可以避免过度的局部优化,但对整体交付效率的提升没有过多的帮助。比如在测试领域,过度地强调自动化,以期提升测试效率,提升交付质量。但如果产研团队的最大瓶颈并不在测试,那自动化测试对全局的交付效率提升意义就不大。

 

如下图,通过对全局的价值流分析和不同维度的周期设定,可以快速识别出团队的瓶颈在哪里。优先确认周期最长的环节,下钻分析原因,制定改进方案。


 

如果研发效能指标的制定是各领域自行定义,会能很明显地感受到部门墙的存在。指标多数是约束上流而忽略自身。我们应当跳出自己所在的角色,从更高的视角去看待度量指标,让指标引导过程改进,而不是让自己更轻松。

03

来看看第一个例子:测试代码覆盖率指标。

 

测试代码覆盖率指标:代码覆盖率的主要目标是为了度量测试场景对代码的覆盖情况。这个指标好不好?个人理解,从测试的角度看,并不好。因为高覆盖率并不能说明测试得更充分(比如对异常的处理,如果代码没有考虑到,那么就会被遗漏。但是覆盖率可以达到很高,不捕获异常等于没有异常 =.=!!).

 

同时,这个指标会让测试人的注意力,从需求和用户场景侧,转移到代码层。过度考虑代码的覆盖,而忽略了业务是否需要这样的场景,是否有真实的价值产生(度量什么,就会得到什么)。当下测试人员的价值已经从文档测试逐步向价值验证转变,需要更关注业务价值。参考:价值驱动测试尝试

04

来看看第二个例子:生产缺陷逃逸率。

 

先看看这个指标的计算公式:生产缺陷逃逸率 = 生产缺陷数/(生产缺陷数+测试人员提交的缺陷数)。这个指标给团队的指引是什么呢?为了降低生产缺陷逃逸率(这个指标过高,肯定是要挨骂的),就在测试环节多提缺陷。缺陷一多,研发又不高兴了(他们也有缺陷指标)。所以,这个指标不但不能促进研发效能的改进,反而会让研发和测试更对立。

 

那么生产缺陷逃逸率要如何计算呢?常见的做法是:生产缺陷逃逸率 = 生产缺陷数/需求个数。要想降低生产缺陷,要么多为质量负责,减少分子。要么,多产出可交付的需求数,让交付周期变短。是不是双赢?至于需求的大小问题,一定会达到团队内平衡的,因为需求的最小粒度是有交付价值!

05

从结果指标开始,以终为始去牵引。过程指标的度量,问题的挖掘乃至改进,是为了达成大目标,而大目标是由结果指标来反映的。结果指标选定后,先让各研发团队了解现状,接着不同团队达成目标的路径可能是不一致的,那各团队再自选过程指标,去发现并解决问题。

 

在选取过程指标时,要避免过度强调单点指标,而是使用多维度的、相互制衡的指标矩阵。刻意追某个指标,其他指标就会出卖你。同时,要注意不同角色间的指标互斥问题,比如研发有代码缺陷密度指标,而测试有缺陷数量指标,这就容易让两个角度相互打架。

 

如果一个指标,不能很好地牵引团队去做质量改进,就没必要去度量!关于完整的关于研发效能指标,可参考阅读张乐大神的研发启示录https://www.infoq.cn/theme/107)。

相关文章
|
2月前
|
数据采集 数据可视化
读软件研发效能度量规范总结
在工作中,作者探索了软件研发效能度量,参考了《软件研发效能度量规范》这一行业标准。该规范旨在帮助企业和团队通过定义指标来衡量和提升研发效率、效果和卓越能力。关键步骤包括理解指标(如效率、质量和成本),选择适用于团队的指标,以及按照适用性、系统性、可靠性和持续性的原则收集和分析数据。通过度量,团队可以识别问题,制定改进策略,并通过可视化工具进行汇报和决策。
98 0
|
2月前
|
敏捷开发 自然语言处理 数据可视化
敏捷测试度量指标
敏捷测试度量指标
管理层、团队和效能指标
讲述管理层、团队和效能指标之间的关系
|
SQL 缓存 网络协议
架构师的视角分析系统性能指标
一、一次请求全链路图 步骤一:DNS解析,,用户在浏览器输入URL按回车,请求会进行DNS查找,浏览器通过DNS解析查到域名映射的IP地址,查找成功后,浏览器会和该IP地址建立连接。对应的性能指标为:DNS解析时间。对于这个指标,我们可以通过DNS缓存或DNS预解析,适当增大域名的TTL值来增大DNS服务器缓存域名的时间,进而提升了缓存的命中率。也可以用dns-prefetch标签实现域名的预解析,让浏览器在后台把要用的DNS请求提前解析,当用户访问的页面中包含了预解析的域名时,再次解析DNS就不会有延迟了。 步骤二:建立TCP连接,由于HTTP是应用层协议,TCP是传输层协议,所以HTT
105 0
|
新零售 运维 监控
研发效能的度量| 学习笔记
快速学习研发效能的度量
701 0
研发效能的度量| 学习笔记
|
运维 安全 专有云
设定北极星指标——数据驱动效能改进| 学习笔记
快速学习设定北极星指标——数据驱动效能改进
402 0
设定北极星指标——数据驱动效能改进| 学习笔记
|
SQL 存储 机器学习/深度学习
如何度量研发效能?
如今,研发效能越来越受到重视。那么效能的本质是什么?效能度量的终极目标是什么?如何让“专家经验”产品化、标准化,从“事后复盘”发展为“风险管控”?本文从度量的分类、效能本质、模型的存储等方面聊一聊效能度量,并分享一种研发度量领域模型。
9652 0
如何度量研发效能?
|
程序员
《程序员度量:改善软件团队的分析学》一案例分享:度量和怀疑论者
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第2章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1341 0
|
程序员
《程序员度量:改善软件团队的分析学》一好的度量像探照灯
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第2章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1348 0