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

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

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

01

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

 

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

 

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

02

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

 

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


 

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

03

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

 

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

 

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

04

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

 

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

 

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

05

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

 

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

 

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

相关文章
|
新零售 测试技术 持续交付
阿里如何定义团队的研发效能?
作者:何勉,阿里巴巴研发效能部资深技术专家 相关阅读:都996了,研发效能还是提不起来,关键在这里 因为身处研发效能部,我接触了公司很多产品技术团队。他们几乎都把研发效能提升列为了本财年的重要目标,大部分还为此成立专项。
19013 3
阿里如何定义团队的研发效能?
|
消息中间件 缓存 监控
系统稳定性建设实践总结
2020年,注定是个不平凡的一年。疫情的蔓延打乱了大家既定的原有的计划,同时也催生了一些在线业务办理能力的应用诉求,作为技术同学,需要在短时间内快速支持建设系统能力并保障其运行系统稳定性。恰逢年终月份,正好梳理总结下自己的系统稳定性建设经验和思考。
系统稳定性建设实践总结
|
数据采集 数据可视化
读软件研发效能度量规范总结
在工作中,作者探索了软件研发效能度量,参考了《软件研发效能度量规范》这一行业标准。该规范旨在帮助企业和团队通过定义指标来衡量和提升研发效率、效果和卓越能力。关键步骤包括理解指标(如效率、质量和成本),选择适用于团队的指标,以及按照适用性、系统性、可靠性和持续性的原则收集和分析数据。通过度量,团队可以识别问题,制定改进策略,并通过可视化工具进行汇报和决策。
611 0
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
【10月更文挑战第31天】2024年,AI大模型在软件开发领域的应用取得了显著进展,从自动化代码生成、智能代码审查到智能化测试,极大地提升了开发效率和代码质量。然而,技术挑战、伦理与安全问题以及模型可解释性仍是亟待解决的关键问题。开发者需不断学习和适应,以充分利用AI的优势。
|
10月前
|
机器学习/深度学习 人工智能 运维
智能运维:AIOps在大型系统运维中的实践与挑战
【10月更文挑战第28天】随着云计算、大数据和人工智能的发展,AIOps(人工智能运维)应运而生,旨在通过算法和机器学习提高运维效率和质量。本文探讨了AIOps在大型系统运维中的实践与挑战,包括数据质量、模型选择和团队协作等方面,并通过一个异常检测案例展示了其应用。尽管面临挑战,AIOps仍有望成为未来运维的重要方向。
447 5
|
Cloud Native 前端开发 IDE
「技术人生」第10篇:如何做研发效能提升(即指标体系建设过程回顾)
本文作者将给大家提供一些简单的容易实操的方法,能够让所有人都知道什么是效能的提升,如何提升个人的效能,如何提升团队的效能。
1904 97
「技术人生」第10篇:如何做研发效能提升(即指标体系建设过程回顾)
|
人工智能 弹性计算 监控
【阿里云云原生专栏】阿里云云原生与AI结合:智能应用的快速构建与部署
【5月更文挑战第24天】阿里云融合云原生和AI技术,助力快速构建智能应用。弹性伸缩、CI/CD、微服务和自动化运维带来优势。通过需求分析、环境准备、数据处理、模型开发到服务部署,阿里云提供容器服务、函数计算、服务网格等工具,支持自动化测试和监控,实现一站式智能应用开发。示例代码展示创建ACK集群和部署AI模型服务过程。
965 1
|
前端开发
后端一次返回大量数据,前端做分页处理
后端一次返回大量数据,前端做分页处理
320 0
|
存储 数据采集 JSON
彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统
监控是运维系统的基础,我们衡量一个公司/部门的运维水平,看他们的监控系统就可以了。一个完善的监控系统可以提高应用的可用性和可靠性,在提供更优质服务的前提下,降低运维的投入和工作量,为用户带来更多的商业利益和客户体验。下面就带大家彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统。
15731 1
彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统
|
BI 项目管理
图解研发效能:让过程被看见,让工作更高效
测试、项目经理、技术主管如何借助数据提升效能
481 126
图解研发效能:让过程被看见,让工作更高效