适合汽车软件研发管理的35个指标

原创 水轻言 2024-04-20 13:11
指标,这是软件研发管理绕不过去的话题,这也是大家一直以来的管理惯例。

不过,在如今内卷至混乱的年代,没有太多数理逻辑的量化指标频频受到质疑,为什么是5%,不是6%;实际项目如此复杂,固定的指标合理吗?

质疑并非没有道理,但指标存在的意义不在于能够应对这些质疑。我们可以从另外两个角度理解:

  • 此为无奈之举,简化至可以理解和管控的可量化指标,是认识的需要,也是管理的抓手


  • 指标既会作为具备相当一致性的成熟产品或团队的绩效表征,也是将不成熟推向成熟的手段,而且推动意义大于表征意义。



既然仍然需要指标,本文会汇总对汽车软件相对有价值的度量指标,以供大家选用。 



1
需求规模

需求规模=需求大小或颗粒度


该指标反映了单个需求交付及开发的复杂度,如果能对需求规模进行比较好的拆分与估算,十分有利于项目计划与工作量的合理规划。


按照不同的项目或产品类型,可以使用故事点、feature、功能点、对应代码当量等维度来评价。



2
需求交付周期

需求交付周期=需求释放时间-需求创建时间


该指标反映了团队对新需求的评估及交付速率,这也体现了敏捷宣言中拥抱变化的力度。


算法里的需求释放时间可以按照系统里需求通过评审释放或变更经过CCB批准释放的时间来定义需求创建时间可以按照系统里需求打基线或者提交的时间来定义。



3
需求变更率

需求变更率=发生过变更的需求数/已释放的需求总数


该指标反映了对变更控制的能力,在传统汽车瀑布式开发下,对变更控制的能力也会指向管理的水平,但敏捷时代下,低需求变更率甚至是负面的表征。


算法里的需求数可以按照需求管理系统里的条目数或者需求文本的数量来统计。



4
开发交付周期

开发交付周期=软件发布时间-需求释放时间

该指标反映了开发团队的开发效率,算法里的软件发布时间可以按照软件打包发布的时间来定义,而需求释放时间可以按照系统里需求通过评审释放或变更经过CCB批准释放的时间来定义。

软件发布通常会区分内部发布和外部发布,可以根据实际业务需求来选择度量方式。 


5
需求吞吐量

需求吞吐量=统计周期内交付的需求规模

该指标与需求交付周期度量的目标接近,但交付周期侧重于单位需求的交付效率,吞吐量关注的则是整体产能。

算法里的统计周期可以按照月度或季度来统计。


6
需求按时交付率

需求按时交付率=按时交付的需求数/计划交付需求数

该指标反映了需求按时交付的能力。

算法里的数量可以按照需求管理系统里的条目数或者变更管理系统里工作项数量来统计。


7
求评审通

需求评审通过率=通过评审释放的需求数/提交评审的需求数


该指标反映了需求提出者撰写需求的能力,也会反映出对需求上线进行整体规划的能力。


算法中的需求数可以按照需求管理系统里的条目或者变更管理系统里工作项的数量来统计。



8
需求评审缺陷密度

需求评审缺陷密度=需求评审检出缺陷数/需求规模


该指标反映了需求评审的效果。


算法中的缺陷数可以按照评审finding或者开出的问题项的数量来统计,而需求规模可以使用故事点、feature、功能点、对应代码当量等维度来统计



9
设计评审通过率

设计评审通过率=通过评审的组件数/提交评审的组件数


该指标反映了组件及接口定义和设计的质量。


算法里的组件数可以按照软件架构的组件拆分来统计。



10
设计评审缺陷密度

设计评审缺陷密度=设计评审检出缺陷数/设计规模


该指标反映了设计评审的效果。


算法中的缺陷数可以按照评审finding或者开出的问题项的数量来统计,而设计规模可以通过需求规模或者组件数来统计。



11
组件按时交付率

组件按时交付率=按时交付的组件数/计划交付组件数


该指标反映了软件开发人员进行模块或组件开发的能力,软件需要多组件集成后才能进行下一步的测试和发布,各组件开发都要按节奏协调起来。


算法里的组件数可以按照软件架构的组件拆分来统计



12
组件复用率

组件复用率=复用的组件数/总组件数


该指标反映了架构设计、组件设计甚至需求沟通方面的能力,不重复造轮子、进行复用开发是我们所鼓励的。


算法里的组件数可以按照软件架构的组件拆分来统计。



13
接口变更率

接口变更率=变更的接口数/总接口数


该指标与组件复用率关注的能力接近,但组件复用率提升的是单个组件开发的效率,接口变更率更会致力于跨组件、跨系统的协同开发效率。


算法里的接口数可以按照系统及软件架构中定义的软件接口与软硬件接口来统计。



14
代码开发当量

代码开发当量=代码抽象语法树加权最小编辑距离


该指标反映了代码的逻辑量和修改代码的工作量,排除了编程风格、换行习惯、注释等干扰因素,准确性比传统的代码行数更好。



15
代码提交频率

代码提交频率=单位时间代码提交次数


该指标反映了代码开发的活跃度,也是敏捷中鼓励的小步快跑提交,但有可能也会让开发进行表面化的频繁小提交,反而带来质量的下降。


算法中的代码提交次数可以按照代码配置管理系统中记录的代码变更次数来统计。



16
代码重复率

代码重复率=重复代码的代码规模/总代码规模


该指标反映了代码的可维护性,即代码重复率越高,代码可维护性越差,因为多处修改所需的工作量越大。这个指标会驱动代码抽象,如用函数、类、库、服务来封装等。


算法中的代码规模可以用代码当量或代码行数来统计。



17
代码评审缺陷密度

代码评审缺陷密度=代码评审检出的缺陷数/代码规模


该指标反映了代码评审的效果。


算法中的缺陷数可以按照评审finding或者开出的问题项的数量来统计,而代码规模可以用代码当量或代码行数来统计。



18
静态扫描缺陷密度

静态扫描缺陷密度=静态扫描检出缺陷数/代码规模


该指标反映了编码规范程度,如MISRA C。


算法中的缺陷数按照工具扫出来的finding统计,而代码规模可以用代码当量或代码行数来统计。



19
提测成功率

提测成功率=提测成功次数/提测总次数


该指标反映了开发满足测试准入条件的水平,除了软件质量本身,通常也会涉及一些过程规范性要求。


算法里的提测次数可以按照真实版本或者对应的releasenotes的数量来统计。



20
测试一次通过率

测试一次通过率=一次性通过测试的版本数/总测试的版本数


该指标反映了开发的质量,会一定程度推进团队对代码评审或单元测试等开发测试的重视,但是,能否通过测试终归是来源于对测试准出条件的定义,如果发布压力大于质量压力,准出条件形同虚设,这个指标也就失去了意义。


算法里的版本数可以按照真实版本或者对应的releasenotes的数量来统计。



21
测试覆盖率

测试覆盖率=测试覆盖的条目数量/需要测试条目的总数量


该指标反映了测试对需求或代码的覆盖程度,也细分为测试需求覆盖率或测试代码覆盖率。


算法中的条目数量,对于需求的覆盖,可以按照需求管理系统里的条目数来统计,而对于代码的覆盖,可参考《汽车软件单元测试的要点与意义》里的描述。



22
测试缺陷密度

测试缺陷密度=测试检出缺陷数量/代码规模


该指标反映了测试的效果。


算法中的缺陷数可以按照开出的缺陷项的数量来统计,而代码规模可以用代码当量或代码行数来统计。



23
缺陷重开率

缺陷重开率=重新打开缺陷数量/总缺陷数量


该指标反映了缺陷修复的效果,重开率高组件或团队应进行针对性的分析与改进。


算法中的重新打开缺陷可能需要缺陷管理工具配置对应的字段来统计。



24
缺陷阶段移除率

缺陷阶段移除率=某一阶段引入中移除的缺陷数量/该阶段引入的总缺陷


该指标反映了特定阶段的活动或团队对于缺陷的整体贡献,自己带来的缺陷最好自己带走。


算法中的阶段移除(这里的移除指在该阶段发现)和引入缺陷数都需要依赖缺陷管理工具配置的特定字段来统计。



25
缺陷逃逸率

缺陷逃逸率=后期发现的缺陷数量/总缺陷数量


该指标反映了前期缺陷检出的效果,也直接反映了汽车软件质量的真实水平。


算法中后期发现的缺陷数量可以理解为售后、工厂、整车集成这些环节发现的缺陷数量。



26
缺陷检出率

缺陷检出率=各阶段发现的缺陷数量/总缺陷数量

该指标反映了软件开发不同阶段的缺陷检出的效果,同缺陷逃逸率指向接近,但它对不同阶段的不同活动或团队的缺陷检出进行了细化,通常作为优化缺陷逃逸率的进一步指标。


算法中各阶段可以理解为需求评审、设计评审、代码评审、开发测试、集成测试、软件测试、系统测试、整车测试、工厂生产、售后这些不同环节。



27
缺陷率

缺陷率=致命级别的问题个数*10+严重级别的问题个数*3+一般级别的问题个数*1+提示级别的问题个数*0.1


该指标反映了缺陷视角下的软件整体质量状态,其中的缺陷等级定义以及对应权重的划分是指标有效与否的关键。



28
缺陷分布

缺陷分布=缺陷不同属性的交叉分析


该指标反映了缺陷属性交叉分析的结果,同其他分布一样,它更多作为整体对比、分析、决策的工具。


缺陷属性可以根据类型、严重度、根本原因、模块、优先级、测试环境负责的测试人员等进行分类,这些属性之间可以进行二维或多维的交叉分析,比如,利用透视表、直方图、饼图或帕累托图等方式。



29
测试自动化率

测试自动化率=自动化测试用例数/总测试用例数


该指标反映了自动化测试的能力,要想实现敏捷的频繁迭代发布,很重要一个前提就是快速的自动化测试,尤其要关注回归测试的测试自动化率。



30
流负载

流负载=已开始但未交付的需求数分布


该指标反映了需求、设计、 开发、测试、发布各阶段的需求数分布状态,类似工作量分布,但关注的是在制品瓶颈和积压,控制在制品数量有助于提高交付效率。


算法里的需求数可以按照需求管理系统里的条目数或者需求文本的数量来统计。



31
流效率

流效率=活跃工作时间(即无阻塞地工作)/总交付时间(包括活跃工作时间和等待时间)


该指标反映了软件开发过程的顺畅程度和资源利用效率,也能比较好地将软件开发工作透明化。


算法里的活跃工作时间指的是需求沟通、需求评审、架构设计、开发、测试、发布等实际工作的时间,而总交付时间则包括了活跃工作时间以及各种等待时间,如配置在ALM工具中的待评审、待开发、待测试、待发布之类的等待阶段的停留时间。



32
工作量分布

工作量分布=不同维度下的工作量差异展示


该指标反映了软件开发过程中,不同阶段不同团队下的工作量分布比例,通常用来支持项目管理的工作分配,也会与其他指标进行关联分析。


工作量可以通过工作项数量(缺陷、变更、任务等)或者工作时间或者代码规模或者需求规模等不同维度体现。



33
售后问题响应时长

售后问题响应时长=售后问题响应时间-售后问题提出时间

该指标反映了响应售后客户问题的及时性,算是“态度”问题。

算法里的响应时间可以按照系统里分配或者给客户首次正式答复(有切实计划)的时间来定义,而提出时间可以按照接到客户投诉的时间来定义。


34
售后问题解决时长

售后问题解决时长=售后问题解决时间-售后问题响应时间


该指标反映了解决售后客户问题的及时性,是“能力”问题。


算法里的解决时间可以按照系统里解决或者按照OTA或刷件解决实车问题的时间来定义,而响应时间可以按照系统里分配或者给客户首次正式答复(有切实计划)的时间来定义。



35
净推荐值NPS

净推荐值NPS=客户愿意向其他人推荐某功能或场景的意愿


该指标反映了客户的主观感受,而不聚焦在工程或软件质量本身。这在场景体验评价里,是一个有价值的指标,它也可以用于客户满意度的整体评价。


净推荐值以0-10的数字范围表示,得分为0到6的客户是负面评价者;7和8的分数是中立者;9和10是推荐者。



5
写在最后

软件的高质量必然指向可指标化,而指标也是高质量的重要推手。



关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时获取公众号“水轻言”最新文章。




水轻言 致力于汽车软件研发管理。
评论
  • 在测试XTS时会遇到修改产品属性、SElinux权限、等一些内容,修改源码再编译很费时。今天为大家介绍一个便捷的方法,让OpenHarmony通过挂载镜像来修改镜像内容!触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开源鸿蒙OpenHarmony3.2-5.0系统,适合鸿蒙开发入门学习。挂载镜像首先,将要修改内容的镜像传入虚拟机当中,并创建一个要挂载镜像的文件夹,如下图:之后通过挂载命令将system.img镜像挂载到sys
    Industio_触觉智能 2025-01-03 11:39 115浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 73浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 71浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 107浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 76浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 63浏览
  • 在快速发展的能源领域,发电厂是发电的支柱,效率和安全性至关重要。在这种背景下,国产数字隔离器已成为现代化和优化发电厂运营的重要组成部分。本文探讨了这些设备在提高性能方面的重要性,同时展示了中国在生产可靠且具有成本效益的数字隔离器方面的进步。什么是数字隔离器?数字隔离器充当屏障,在电气上将系统的不同部分隔离开来,同时允许无缝数据传输。在发电厂中,它们保护敏感的控制电路免受高压尖峰的影响,确保准确的信号处理,并在恶劣条件下保持系统完整性。中国国产数字隔离器经历了重大创新,在许多方面达到甚至超过了全球
    克里雅半导体科技 2025-01-03 16:10 122浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 41浏览
  • 光耦合器,也称为光隔离器,是一种利用光在两个隔离电路之间传输电信号的组件。在医疗领域,确保患者安全和设备可靠性至关重要。在众多有助于医疗设备安全性和效率的组件中,光耦合器起着至关重要的作用。这些紧凑型设备经常被忽视,但对于隔离高压和防止敏感医疗设备中的电气危害却是必不可少的。本文深入探讨了光耦合器的功能、其在医疗应用中的重要性以及其实际使用示例。什么是光耦合器?它通常由以下部分组成:LED(发光二极管):将电信号转换为光。光电探测器(例如光电晶体管):检测光并将其转换回电信号。这种布置确保输入和
    腾恩科技-彭工 2025-01-03 16:27 171浏览
  • 物联网(IoT)的快速发展彻底改变了从智能家居到工业自动化等各个行业。由于物联网系统需要高效、可靠且紧凑的组件来处理众多传感器、执行器和通信设备,国产固态继电器(SSR)已成为满足中国这些需求的关键解决方案。本文探讨了国产SSR如何满足物联网应用的需求,重点介绍了它们的优势、技术能力以及在现实场景中的应用。了解物联网中的固态继电器固态继电器是一种电子开关设备,它使用半导体而不是机械触点来控制负载。与传统的机械继电器不同,固态继电器具有以下优势:快速切换:确保精确快速的响应,这对于实时物联网系统至
    克里雅半导体科技 2025-01-03 16:11 175浏览
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 166浏览
  • 车身域是指负责管理和控制汽车车身相关功能的一个功能域,在汽车域控系统中起着至关重要的作用。它涵盖了车门、车窗、车灯、雨刮器等各种与车身相关的功能模块。与汽车电子电气架构升级相一致,车身域发展亦可以划分为三个阶段,功能集成愈加丰富:第一阶段为分布式架构:对应BCM车身控制模块,包含灯光、雨刮、门窗等传统车身控制功能。第二阶段为域集中架构:对应BDC/CEM域控制器,在BCM基础上集成网关、PEPS等。第三阶段为SOA理念下的中央集中架构:VIU/ZCU区域控制器,在BDC/CEM基础上集成VCU、
    北汇信息 2025-01-03 16:01 188浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 73浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 66浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 76浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦