缩略图
Frontier Technology Education Workshop

研发人员综合效能计算模型研究

作者

聂凯

石化盈科信息技术有限责任公司 北京市 100020

第一章 概述

据当今各大企业发展的趋势,各团队在研发过程中暴露出的缺陷日趋明显,通过各方调研及统计,企业团队的人员随着需求量的增加也在不断增加,根据实际需求量的变动,出现需求量增长却不能跟人员增长相平衡的情况。这表明团队的效能呈现下滑趋势。这一现象引起管理层的关注,如何能从依赖延长劳动时间,获取产出的传统工作方式,转变为更具价值创造力,更高效的工作方式。

1.1 研发效能概述

研发效能的核心有三个关键点,首先是有效性,为了工作成果达到预期目标;其次是效率,研发团队投入的资源和产出成果呈现最优比;最后是可持续性,建立产出稳定的价值交付机制。本质上,研发效能提升就是要实现更高效能、更优质量、更强可靠性的持续价值效能。

研发效能的提升是一个系统工程,其中效能实践、效能平台和效能度量三者构成了一个有机整体,虽然这三个要素各自独立运作,但彼此之间存在着紧密的互动关系[3]。

1.2 研发效能管理的行业需求

随着企业的快速发展和市场竞争的加剧,各企业对团队人员的综合表现要求越来越高。通过评估员工的表现,不仅仅能体现出效能排名,也是为了促进研发人员的个人成长,同时也帮助团队实现更高的目标;效能应该是一个双赢的过程,既能让研发人员明确自己的优势和不足,也能为团队的发展提供有力支持[1]。越来越多的团队开始应用研发人员综合效能计算模型,是为了能够提高研发的效率,优化资源配置。

第二章 综合效能计算模型架构

2.1 模型整体设计

本论文针对研发团队开发任务及代码管理,构建了一种多维度的综合效能计算模型。本文中整体效能分析数据是根据综合效能计算模型得出结果,综合效能计算模型下又分为三个子模型,其中包括价值计算模型,产出计算模型,质量计算模型。有效改善传统管理方式的人员效能数据获取难、不透明、沟通汇报成本高的情况。在一定程度上能够帮助企业即时识别研发团队可能存在的效能不足情况,并能够即时分析并做出后续的迭代及优化。

2.2 子模型构成

每个工程下都有过程管理(JIRA)和Git仓库,持续测试(SonarCube),过程管理(JIRA)应用于需求收集,任务跟踪,缺陷跟踪,根据人员台账中的配置是否开启统计点数,再获取过程管理中的完成任务数量,点数,使用子模型中价值模型,计算得出价值得分。

“代码仓库(Git)”用于管理代码及版本控制,通过人员台账中配置是否开启代码量统计,再获取“代码仓库(Git)”下的新增以及删除代码行数,通过子模型中产出量计算模型,计算得出产出得分。

从“持续测试(SonarCube)”平台中获取代码扫描结果,人员台账中配置开启静态检查,获取到代码扫描报告结果后,统计bug数和漏洞数。再通过子模型中代码质量计算子模型,计算得出代码质量得分。

2.1.1 价值计算模型

价值计算模型是获取过程管理中已完成的任务点数,和已解决的缺陷点数。在工程的过程管理下,根据业务需求创建的用户故事,再由研发负责人根据任务类型、任务难度,以及研发所用工作时间进行拆解并创建任务,任务类型包括(二级)任务或(三级)子任务。

2.1.2 产出计算模型

产出计算模型,是通过研发人员提交的总代码行,通过折算系数得到代码产出折算,得出产出折算后,根据出勤天数计算得出产出效率。最后通过得出产出效率根据制定占比规则,计算得出产出得分。

代码行计算规则:代码产出行统计是根据研发人员使用AD账号提交到代码仓库中后根据定时任务每天统计所有人提交代码的信息,再使用计算模型进行计算得出总的代码行。计算公式为:[总代码行 Σ=Σ 新增代码行 + (删除代码行*系数)](当前设置删除代码行系数 ⋅⋅0.5 ,可根据实际情况调整删除代码行系数)。

产出效率计算规则:得出总代码行,根据研发人员级别和开发语言及工作日计算得出产出效率。开发人员的职级分别:初级、中级、高级等(现根据开发规则设置默认研发人员职级系数为“1”,后续可根据需求调整系数值)。产出代码的质量有所差距,公式中可以根据实际情况自由设置人员级别系数。同理,企业会接触不同语言研发产品(不同的开发语言产出的折算系数不同,初始值定义开发语言系数为“1”,后续可根据需求调整系数值),所以可以根据开发语言指定折算系数。

2.1.3 质量计算模型

研发人员提交后的代码,会通过在“持续测试(SonarCube)”中配置的自动化代码扫描套件,定时执行自动化扫描后生成代码质量报告。bug和漏洞是影响代码质量最大的两个因素,bug和漏洞均分为阻断、严重、次要三种类型,每个因素每种类型的减分数可以根据不同的需求进行动态配置。凡是提交过代码的研发人员的代码质量基础得分为20分,如果代码质量报告中出现的bug与漏洞数量较多,那么代码质量得分就会出现负分。

第三章 核心技术实现

3.1 数据采集与整合

通过定时任务从过程管理系统、代码仓库、持续测试平台及IOP考勤平台四类异构系统采集原始数据,经过跨平台数据清洗、格式标准化与实体映射预处理后,将整合数据注入到“一体化”平台中。通过“过程管理”平台中获取到的数据,最终基于多维度计算模型实现计算,再使用价值计算子模型统计出价值得分;从“代码仓库”中获取到的代码行数据,和“IOP考勤”平台获取到的考勤天数,再使用产出计算子模型计算出产出得分;从“持续测试”平台中获取到代码质量检测报告的数据,再使用质量计算子模型,计算得出代码质量得分。

3.2 数据收集与预处理

在数据收集环节,每天凌晨都会严格执行全量数据同步任务。借助自动化机制,从多个异构平台抓取原始数据包。在数据存储之前,会先采取全量新增策略,将历史数据缓存全部清空。之后,就根据配置信息,逐步过滤掉无效信息。先是使用配置项去重,剔除冗余的重复数据;接着根据模型计算出需要展示的数据,完成基础收集工作后,便进入数据标准化阶段。该阶段会对不同系统产生的碎片化信息进行格式重构,统一数据单位,把杂乱的日期标记、有冲突的编码体系转化为规范的数据矩阵。在此基础上,进行数据归一化处理,为后续开展跨维度关联分析提供精准且具有可比性的数据基础。

3.3 计算模型与优化

现使用历史数据对各模型进行训练,使其可以精确评估出研发成员的综合效能。根据历史数据对模型训练出的结果以及实际得出的结果,对数据模型进行不断调优,来提高数据模型的准确性和可靠性。

研发人员综合效能计算模型的核心技术涵盖数据采集、指标体系搭建、效能度量分析模型构建、数据可视化与自助分析,以及数据运营与持续优化等多个维度。通过综合运用这些技术,能够全面且精准地评估研发人员的综合效能,为团队管理和资源分配提供参考。

第四章 参考文献[1]《经理人参阅:绩效管理》[2]《研发管理优化设计在新飞通公司的实践[3]《软件研发效能权威指南》

作者简介:聂凯(1982-),男,汉族,湖南衡阳人,研究生学历,现任高级架构师,专业研究方向:智慧经营管理系统架构