PDF下载
基于软件研发效能态势的研究及应用分析

唐健明 郑乃中 黄艾威 刘朋 黄铁脉 曾琦娟 曾艳 母莉蓉

中移(成都)信息技术通信有限公司,成都市,610200

摘要: 在竞争激烈、瞬息万变的软件市场中,软件研发团队在软件企业中逐渐体现出了核心价值,软件企业的核心竞争力之一就是以保证软件研发的成果和质量。在软件系统开发管理中,开发效能评估已经成为不可或缺的一部分,随着效能评估重要性的突显,效能评估任务趋于系统化、复杂化、体系化。本文以研发效能态势感知平台为例,从开发人员代码质量度量角度分析研发效能,提出一个效能指标的分解和完整性审核的解决方案。
关键词: 效能评估;研发管理;态势感知
DOI:10.12721/ccn.2021.157094
基金资助:
文章地址:

0 引言:

效能,指在某些指定条件限制下,达到特定使用目标的能力[1],分别体现在手段和使用行为目的正确性和产生的实际效果方面的有利性两个方面。“指定条件”指的是环境条件、时间、人员、使用方法等因素;“特定使用目标”指的是所要达到的目的;“能力”则是指达到目标的定量或定性程度。

系统效能评估指对系统的某一项任务或某一个阶段结果或者进程的自身状态、作用大小、质量好坏等效率指标的结论性评价或量化计算。在软件系统开发管理中,开发效能评估已经成为不可或缺的一部分,随着效能评估重要性的突显,效能评估任务趋于系统化、复杂化、体系化[2]

本文以研发效能态势感知平台为例,从开发人员代码质量度量角度分析研发效能,提出一个效能指标的分解和完整性审核的解决方案。基于数据对接、统计分析等方法,将原始研发登记的海量数据接入到研发效能态势感知平台进行多维度分析,使得效能评估结果可以准确的分析出当前接入开发数据的效能评估,提高结果的准确性和可信性。分析后对结果进行直观展示,提高了研发效能态势感知的可视化,使结果更加直观,同时展示了系统的扩展性及通用性,提高了研发效能评估的效率。

1 研究意义

在竞争激烈、瞬息万变的软件市场中,软件研发团队在软件企业中逐渐体现出了核心价值,软件企业的核心竞争力之一就是以保证软件研发的成果和质量[3],因此研发效能管理也逐渐成为软件企业日后的重点。随着软件技术不断的发展,研发队伍的不断扩大,高新技术企业是否能够保质保量地开发出软件产品,提高研发效率、降低研发成本,逐渐成为企业研发效能管理的关键。

杰出的软件研发效能管理不仅能够缩短产品的研发周期,还可以提升科研成果的转化率,快速适应市场变化,为提高软件开发绩效,维护企业竞争优势,打造核心竞争力提供支持。随着互联网行业的飞速发展,产品需求和软件开发技术都在不断变化。因此,当用户需求向多样化和个性化发展时,软件产品研发团队更需要灵活应对市场环境的变化,来应对需求管理不到位、团队成员沟通效率不高等多种因素带来的变化,以提高软件产品研发的效能。

2 研发体系的规范性

软件研发企业向集成研发,共享研发方向转型,是近年来软件企业发现的一个趋势。所以组织架构规范化,打造一个规范的研发体系,对企业的可持续发展具有一定的推动作用[4]。研发管理体系的规范化是提高研发效能管理的重要组成部分,对促进企业研发管理的标准化、高效化和科学化起到关键作用。贯彻公司研发管理体系标准,谋求对研发过程进行规范化管理,以提升公司研发管理及软件过程能力,其意义包括[5]

(1)有助于提升公司软件研发产品、软件研发项目的研发质量和绩效;(2)有助于缩短软件及产品研发周期;(3)控制研发风险;(4)降低研发成本;(5)可以提高公司核心竞争力。

研发管理体系的规范化是随公司战略、产品和技术类型、业务方向而异的,体系框架需要以公司战略主体为基础,优先考虑满足业务需求及提升产品服务质量[3]。

研发体系规范化从以下四个方面来考虑:

(1)充分考虑业务模式,从企业现状、业务发展规划和战略规划的角度,保障研发体系在业务发展变化的不同阶段中,都能体现出高适应性和高拓展性,确保能支撑业务的多样性和变化性。

(2)注重产品转化效率,从项目角度提炼产品的普遍性需求,提高产品的可复制能力,转化出通用性强的产品。再通过这些产品提高项目需求实现的速度,达到提高产品转行效率的效果,为业务提供有效支撑。

(3)充分认识到平台架构的重要性,包含产品平台和技术平台在内的各类平台架构,都体现了产品转化的能力和业务支撑的能力。平台架构的标准化则可提高产品转化效率,提高业务的可拓展性[6]

(4)在研发管理中,提高对人和物的管理的关注度。第一,团队管理过于分散会导致队伍无法实现技术及人员共享。第二,作为资产的代码、方案、文档等材料,需要提高管理规范性。第三,严格落实研发流程规范,确保标准化的落地,是研发管理规范性的基础。

3 应用分析

在研发效能管理方面,研发效能态势感知平台从多角度对研发效能的各项指标进行分析,从需求转化情况、代码贡献情况、代码质量分析、测试与缺陷分析的角度来分析研发队伍的效能,为管理者提供有效的高可视化的数据分析,为提高研发效能做出贡献。

3.1. 需求转化率

软件系统在开发过程中一直面临业务种类繁多、业务规模逐渐增加、用户需求不断变更、业务频繁交叉等问题。为提高需求转化率,要求研发队伍能够快速理解用户需求,快速响应,并能准确将用户需求转化为软件功能。因此需求转化率的分析成为了研发效能分析的第一部,提高需求转化率,能够减少迭代次数,避免无效修改,进而提高整体软件系统研发效能。

研发效能态势感知平台在需求转化率方面,通过分析需求任务数和任务解决率、版本转化次数及版本转化率、各项目组任务解决数排名、各项目组当前任务完成情况分析几个方面来对需求转化率进行可视化展示。通过上述几项分析,管理者可以直观的查看到总体需求转化率并能细化到具体又哪些项目组的需求转化率较低,可以此作为数据依据,对转化率低的几个项目组着重进行调整,从需求转化的角度提高研发效能。

3.2. 代码贡献率

在软件系统研发中,同一系统内的代码文件需要由多名研发人员共同开发和维护,每个研发人员向文件提供了不同的代码贡献,形成了特有的贡献组成[7]。合理的代码贡献组成,直接关系到研发人员的任务分配,同时关联着开发效率和软件系统质量。因此,代码贡献率的分析也成为提高研发效能的重要因素之一。

研发效能态势感知平台在代码贡献率方面,通过分析每日代码新增量及新增趋势、每日代码提交次数及趋势、各项目组代码提交量及提交次数排名、各研发人员代码量及代码提交次数排名、研发人员活跃度分析机构方面来直观的展示当前研发队伍的代码贡献情况。通过从整体统计到项目组分析再到具体研发人员分析,可直观有效的发现影响代码贡献率的因素,准确的判断出需要改进的是哪个项目组,再根据研发人员活跃度及项目组当前状态来分析,具体分析出是哪些研发人员的代码贡献率需要改进。通过上述方法,管理者即可在整体宏观把控的基础上,细化到微观细节,从上到下提高研发效能指标。

3.3. 代码质量分析

在互联网行业迅速发展的当下,软件项目复杂度也不断提升。针对研发人员的研发效能态势分析中,除了代码贡献率的统计分析之外,如何保证代码的高质量对企业和软件产品来说都是提高研发效能的巨大挑战[8]。当高标准高质量的代码成为软件企业的研发标准时,合理完善的软件代码质量管理机制就是软件企业的关注重点。代码质量的提高可以有效减少返工的情况,降低研发成本,提高研发效率。

研发效能态势感知平台在代码贡献率方面,通过分析代码问题类型及趋势、问题严重程度、问题处理方式、单元测试覆盖度、代码重复度、各项目组测试覆盖率、各项目组静态扫描BUG数等方面进行分析评估并进行可视化展示。通过问题类型及趋势,管理者可以直观地查看到代码在哪些类型方面需要改进,进而对症下药,有针对性的进行提高。问题严重程度及问题处理方法可以帮助管理者对整体代码质量有个宏观的概念,为风险把控提供数据依据。单元测试覆盖度、各项目组测试覆盖率都可以帮助管理者对代码测试情况有整体及细节方面的把控,结合问题类型等维度对代码质量进行评估。代码重复度则可以帮助管理者分析代码的复用性,进而提高代码效率。根据以上评估分析方法,可以直观的查看到当前代码质量情况,结合代码贡献率,可整体性的发现问题,结合有效的调整方式,即可提高代码质量。

3.4. 测试与缺陷分析

软件测试,即为测试软件及系统的性能和功能,主要在软件功能交付或软件产品开发过程中进行。通过软件测试可以发现产品或系统的缺陷,能否控制好缺陷指标直接影响软件系统的质量。因此,管理者需要结合软件测试的结果,对结果进行评价和分析来评判软件系统的质量,进而及时改进及修复,避免严重的缺陷给软件产品带来重大影响[9]。可见,在软件系统开发过程中,软件测试也是不可或缺的一部分,有效的测试缺陷管理能让软件开发人员专心于提高软件系统的效率并优化算法,进而提高软件系统开发质量。

研发效能态势感知平台在测试与缺陷方面,通过分析缺陷数量及趋势统计、缺陷等级、各项目组缺陷密度排行、各项目组测试用例总数/通过率、研发人员缺陷已解决排名、研发人员缺陷未关闭排名等方面进行分析评估并进行可视化展示。根据对缺陷数量及趋势的分析,管理者可以从宏观角度了解系统的缺陷走势、缺陷解决率及缺陷关闭率,当某一阶段出现缺陷异常时可及时进行调整,避免造成进一步的影响。在缺陷等级的各维度分析分析中,分为未关闭缺点等级数、未解决缺陷等级数、累计缺陷等级几个维度,既可帮助管理者专注于当前未解决及未关闭缺陷的严重情况及分布,也可从整体查看缺陷的类型趋势,进而可以分析系统在开发过程中是否需要针对缺陷问题进行调整,避免出现严重及以上缺陷过多对系统软件质量造成的影响的情况。除了宏观角度分析之外,管理员还可以通过各项目组测试用例总数/通过率查看项目组的测试覆盖率是否在合理范围中、是否有缺陷隐患等,通过详细分析到各个项目组的数据,来把控各项目组的研发质量。此外,针对研发人员的缺陷解决情况,也可以帮助管理者分析各个研发人员的研发质量,确保各个研发人员的代码质量均达到指定标准,进而保证系统整体的研发效能。

4 总结

针对系统效能评估的必要性进行了讨论,并介绍了研发效能态势感知平台在提高系统研发效能方面的管理策略。研发效能态势感知平台通过需求转化情况、代码贡献情况、代码质量分析、测试与缺陷分析几个角度对提高研发效能的方法做出了讨论,不仅从宏观角度为管理者提供大局走向,且细分到项目组及各个研发人员的效能分析,为优化研发效率、提供研发质量、降低研发风险提供了分析依据及数据支撑。

参考文献:

[1] 李彬,韦文书,马晓媛,赵言伟.基于Web的通用效能评估仿真架构实现研究[J].计算机测量与控制,2019,27(04):245-248.

[2] 王莹. AP公司研发管理优化研究[D].吉林大学,2020.

[3] 唐海涛,张业星,蒋海峰.软件研发管理体系建设的思考与实践[J].电子技术与软件工程,2020(08):32-33.

[4] 郑娜威,刁明光.中小软件企业软件过程管理及其改进方法分析[J].电子技术与软件工程,2015(20):74.

[5] 谭鑫,林泽燕,张宇霞,周明辉.代码文件贡献组成模式的分析[J].软件学报,2018,29(08):2283-2293.

[6] 廖鹏举,高文东,王慧.浅谈企业软件代码质量管理[J].信息系统工程,2020(05):114-116.

[7] 张娜.软件测试过程存在的问题及优化策略[J].电子元器件与信息技术,2020,4(09):135-136.