怎样利用 AI 大模型,辅助研发管理与效能提升?

AI 大模型已经逐渐渗透到各行各业的应用场景中,在软件研发领域也不例外。在软件研发领域,从需求分析到软件设计,从软件开发到测试,以及最后发布上线,AI 在各个环节都发挥着重要作用。10 月 21 日,思码逸首席效能专家魏俊华在 GTLC 大会上以《大模型下的研发效能提升》为主题,围绕 AI 在研发管理中的价值、AI 在研发效能提升中的实践、AI 对研发效能管理的影响三个关键点进行了演讲,详细分享思码逸对于 AI 对软件研发管理与效能提升方面的见解以及实践。

01  AI在研发管理中的价值

在软件研发领域,AI 已经渗透到各个环节的工作中。例如在需求分析环节,我们可以通过 AI 编写用户故事;在软件设计环节,我们可以通过 AI 生成数据模型;在软件开发环节,我们可以通过 AI 自动生成代码;在测试环节,我们可以通过 AI 进行自动化测试;在 CI/CD 环节,我们可以通过 AI 快速实现部署。这说明,AI 在研发管理过程中,同样可以发挥重要作用。

研发管理者通常在研发管理过程中会遇到以下几种问题:研发成本高、交付周期长、软件质量低、团队管理难。而目前业界的一些 AI 工具,可以针对性地解决这些问题。例如通过 AI 工具辅助研发人员提升技能;也可以通过 AI 工具来提升开发效率;或是利用 AI工具辅助发现软件质量问题等。

图片

那么我们应该优先选择在哪个环节应用 AI?如何在应用 AI 后快速看到改进效果?思码逸经过多年的客户实践,总结出了效能诊断、问题定位、AI 辅助、效果度量这样一套闭环流程:通过思码逸自研的研发效能平台,对企业的效能进行摸底,定位问题与短板,针对性通过 AI 进行辅助改进,然后根据核心指标的变化来度量改进效果,最后经过这样的多轮迭代,达到预期目标。

02  AI在研发效能提升中的实践

分析研发效能的方法分为三步:

1、掌握研发效能全局,例如当前研发效能处于什么样的水平?研发的投入产出比如何?项目整体质量表现怎么样?

2、定位影响研发效能的关键问题,例如哪些关键因素影响了研发产能?交付进度顺利吗?是否有阻塞环节?人力负载均衡吗?项目中是否存在关键人力依赖? 

3、定向改进,例如有问题的具体事务、任务在哪里?是否在回顾和改进?质量薄弱环节在哪里?哪些代码问题需要优先被修复?工程师的个人画像是如何的?哪些技能需要定向提升?

我们可以基于 GQM 框架更体系化地分析研发效能:首先设定目标,并将目标拆解为关键问题,然后通过若干指标来度量该问题。然后基于由思码逸总结提出的 MARI 方法(www.openmari.dev/),从度量、分析、回顾到改进,小步迭代进行改进。

图片

思码逸DevInsight研发效能度量分析平台的架构如下图所示。研发管理者可通过定期的分析报告来管理研发效能,从趋势分布对比的角度来分析研发效率和质量等指标,通过下钻分析来挖掘问题根源,通过行业基线来了解团队在行业中所处水平,还可以利用平台中的专家系统来辅助发现问题,制定有效的改进决策。

及时且准确的数据报告,需要具有坚实的数据支撑。思码逸DevInsight 支持通过多种手段来采集数据,例如通过 API 获取 JIRA、TAPD 等工具中的数据,或通过 CSV 的格式将数据导入思码逸DevInsight 平台。在数据导入后,平台会基于数据形成效率、质量、迭代等不同数据看板。平台内置了多个面向不同目标的指标集,例如效率、质量等。基于这些指标集,平台可形成面向不同管理者的报告,既可以满足研发管理者向上汇报,又可以满足管理者向下管理。

在研发效能分析的过程中,通常研发管理者会面对几个问题:

1、数据治理

2、指标建设

3、数据分析

思码逸 DevInsight 针对以上这些问题都提供了针对性的解决方案与能力。

图片

针对数据治理难题,思码逸提供数据接入与治理能力,只需要简单配置,即可实现不同数据源的快速接入,为指标建设提供可靠的数据基础。

同时,思码逸平台建立了科学的研发效能指标体系,整合了思码逸多年的客户服务与实践经验,预置了 100 多种被业界高频使用的指标。基于客户实际情况,通过 GQM 方法,我们为企业的不同管理角色提供有针对性的数据报表。更重要的是,思码逸DevInsight 通过自研的深度代码分析技术,科学地度量研发代码量,提供创新的度量指标“代码当量”。

图片

在企业中,不同研发管理角色的关注点不同,需要不同的指标。例如研发高管希望了解团队的交付效率,我们可以将它拆解为需求吞吐量、需求交付周期、需求颗粒度三个北极星指标,通过它们来衡量团队的交付效率。通过这种 GQM 方法的拆解,我们就可以得出一个与研发管理角色对应的北极星指标集,如下图所示。

图片

在度量的过程中,企业都需要度量研发的工作量。许多企业会使用代码行数、需求个数、工时来定义工作量,但是这些指标会受到代码风格,以及员工是否主动填报等诸多因素的影响,导致度量不准确。基于此,思码逸通过创新的代码分析技术,提供了代码当量指标,它可以更科学、更客观地计算出研发工作量(点击这里了解代码当量)。

在公司中,从高层、中层到开发者,都可以通过报表的分析,来发现目前研发效能的短板。研发管理者可以基于对报表的分析来制定改进策略。同时,平台还会提供修复工作量、重点函数、内建质量、缺陷密度,来帮助管理者分析当前的项目质量水平。在调查出项目的短板之后,我们可以针对性地去进行改进,甚至通过人工智能来帮助我们解决这些问题。

图片

图片

在 ChatGPT 出现之后,它被快速地应用于各行各业的实际场景中。在研发管理方面,我们可以让 ChatGPT 切分需求,也可以让它提供针对性的技术解决方案,甚至让它为我们编写代码和修改 bug。那么人 AI 在研发效能领域扮演了什么样的角色呢?

图片

在结构化分析领域,AI 可以生成和展示图表,针对异常数据进行下钻,有助于管理者快速发现和定位问题。在思码逸 DevInsight 平台,我们提供了专家系统,并支持设置企业基线、行业基线,让企业可以更客观地了解研发效能现状。

我们作为个人,在ChatGPT服务中扮演的角色有三类,如下图所示,分别是任务组织者、过程指导者、结果验证者。

图片

思码逸基于 ChatGPT 开发了一款可以辅助研发效能提升的插件——DevChat。DevChat 支持以下能力:

1、通过对话,辅助技术选型

2、搭建脚手架或可运行的初始代码

3、给 DevChat 提供错误提示,让它帮助 debug

4、提供上下文,生成代码

5、IDE 无法支持又不涉及复杂架构设计的代码重构

6、提供目标源代码(和现有测试用例)),生成新的测试用例

7、写提交信息 (commit message)或者发布说明 (release note)

8、理解指定范围内的已有代码,给出具有一定深度的解释和证据

我们举一个实际的客户案例。我们有一个制造业的客户,随着企业规模扩张,软件系统和组织结构都变得更加复杂。研发交付开始吃力,每个研发团队都表示缺人缺资源,但有时加了人也不见提速。所以,他们需要通过建设研发效能度量,保证效能现状看得透,瓶颈风险说得清,在团队扩张的同时,保证研发效率的超线性增长。在经过与他们沟通和效能的诊断之后,我们针对他们遇到的问题提供了如下解决方案。

图片

03  AI对研发效能管理的影响

随着引入人工智能,它压缩了基于人的技能和经验去做事的链路,很多知识都可以通过人工智能获取,相当于“专家”附体。在这种场景下,我们如何评价我们的研发效率、如何识别关键人才、如何与 AI和谐共存,成为每个研发管理者都需要考虑的问题。每个管理者都应基于自身所面对的业务需求、研发管径、团队结构进行思考,从研发流程、岗位职责、评估体系等角度给出自己的答案。

我们认为软件工程的本质并不因生成式AI而改变,所以不影响度量的根本逻辑和方法。包括代码产出,因为我们实践了这么多,还没看到AI能独立地生成工程级代码,都是要人去把控,AI依然是人的附庸。今天ChatGPT引发的第一轮热潮已经过去了,人们也越来越理性,我们技术管理者应该抱有审慎的态度,长远的眼光,扎实做好工具打造、数据建设(基础),以人为本(理念),才能发挥AI最大的应用价值。

在 AI 赋能研发效能的背景下,我们应该怎么做?首先我们先对企业的效能进行诊断,再进行针对性的提升;其次我们要认清 AI,它是一种工具,我们要善加利用,而不是为其所困;第三,无论是开发者还是管理者,既要利用 AI,又要强化自身技能,不要依赖AI,这样才能让我们在竞争激烈的市场上有一席之地。

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/176849.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机从内存中读取数组元素

在计算机中,我们可以把内存看成是一些排列好的格子,每个格子对应一个内存地址,那么数据会分散的存储在不同的格子中: 对于数组,计算机会在内存中为其申请一段连续的空间,并且会记下索引为0处的内存地址&…

图像特征Vol.1:计算机视觉特征度量|第二弹:【统计区域度量】

目录 一、前言二、统计区域度量2.1:图像矩特征2.1.1:原始矩/几何矩2.1.2:中心距2.1.3:归一化的中心矩2.1.4:不变矩——Hu矩2.1.5:OpenCv实现矩特征及其应用 2.2:点度量特征2.3:全局直…

Jmeter之JSR223

一、JSR223组件 JSR是Java Specification Requests的缩写,意思是Java规范提案。JSR已成为Java界的一个重要标准. JSR223其实包含了有好几种组件,但是其用法都是一致的,并且都是执行一段代码,主要分类如下: JSR223 PreProcessor JSR223 Timer JSR223 S…

【二叉树经典题目】

根据二叉树创建字符串 本题的关键在于什么情况要省略括号,什么情况不能省略: 左右为空可以省略括号 左不为空,右为空可以省略括号左为空,右不为空不能省略括号 class Solution { public://1.左右为空可以省略括号//2.左不为空,右…

初识HTML超文本标记语言

文章目录 前端简介引入前端三剑客什么是HTML?超文本传输协议前戏HTTP超文本传输协议1.什么是HTTP协议2.四大特性3.数据格式4.响应状态码 基于HTTP协议搭建HTMLHTML简介HTML文档结构head常见标签1.meta 定义网页源信息(很多配置)2.style内部支持编写CSS代码3.link引入…

SpringCloud(二) Eureka注册中心的使用

在SpringCloud(一)中,我们学会了使用RestTemplate进行远程调用,但是在调用user-service时候需要在order-service中发送http请求,请求中需要书写对应微服务的ip和端口号,十分不方便,如果此时有多个user-service实例的话,就不知道调用哪个了(除非每次调用的时候都对ip和端口号进行…

论文-分布式-并发控制-并发控制问题的解决方案

目录 参考文献 问题 解法与证明 易读版本 参考文献 Dijkstra于1965年发表文章Solution of a Problem in Concurrent Programming Control,引出并发系统下的互斥(mutual exclusion)问题,自此开辟了分布式计算领域Dijkstra在文中给出了基于共享存储原子…

sqlite3 关系型数据库语言 SQL 语言

SQL(Structured Query Language)语言是一种结构化查询语言,是一个通用的,功能强大的关系型数据库操作语言. 包含 6 个部分: 1.数据查询语言(DQL:Data Query Language) 从数据库的二维表格中查询数据,保留字 SELECT 是 DQL 中用的最多的语句 2.数据操作语言(DML) 最主要的关…

易点天下受邀参与云栖大会,以AIGC重塑出海营销新范式

10月31日,2023云栖大会在杭州云栖小镇拉开帷幕。与往年不同,今年的云栖大会以“计算,为了无法计算的价值”为主题,与国际潮流科技大会组织方式接轨,通过云计算、人工智能、产业创新三大主题馆40000平科技展&#xff0c…

redis缓存穿透

redis缓存穿透 模拟一个缓存穿透的环境: redis缓存穿透1. 准备一个GET请求并且在第一次访问的时候将数据写入缓存2. 再次访问的时候首先判断缓存是否命中3. 命中了直接返回,未命中重建缓存1. 缓存空对象2. 布隆过滤器 1. 准备一个GET请求并且在第一次访问…

avi怎么转mp4?

avi怎么转mp4?如今市面上涌现了各种多样的视频格式,其中AVI作为一种音频视频交错格式,虽然使用较少但相对常见。它的优点在于占用空间较小,但画面质量并不是很出色。然而,AVI格式也存在一个明显的缺点,即兼…

柯桥专升本学校,自考本科文凭的价值如何?

自考本科文凭的价值如何? 自考本科学历是通过独立学习和考试获得的一种本科学历。对于自考本科学历的价值,很多人感到困惑,那么究竟自考本科学历有多大的价值呢? 首先,在就业市场上,自考本科学历具有一定的竞争力。随…

VBA技术资料MF77:组合所选范围中的所有形状

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

横屏签字板手写签名并旋转90°转为横屏显示base64

手写签名并旋转90转为横屏显示base64 base64 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAApsAAAF3CAYAAADq/IAAAAAAAXNSR0IArs4c6QAAIABJREFUeF7t3W3MPlldH/CvwLK7wEKNoiABZLvYiBqIdJGnQlor9gVBaAtJmzQsoI2wgKD4hqVNmrD7ohWhPFRSIgaKO0XTS8AVLb4AIVtFnaSiMPSktxoyVVWFxAF…

我的云栖大会之旅:见证云计算创新的15年

云栖大会,曾经是一次不可思议的科技之旅,却如今已见证了我对云计算世界的15年关注和发展。第一次踏上云栖大会之旅,我记得是在2009年。那时的云计算还是一个新生事物,而云栖大会正是其中的奠基石。 我清楚地记得那个炎热的夏天&am…

OpenCV标定演示,及如何生成标定板图片

标定的程序在官方的源码里有, opencv-4.5.5\samples\cpp\tutorial_code\calib3d\camera_calibration 很多小白不知道怎么跑起来,这个也怪OpenCV官方,工作没做完善,其实的default.xml是要自己手动改的,输入的图片也要…

【QT】鼠标常用事件

新建项目 加标签控件 当鼠标进去,显示【鼠标进入】,离开时显示【鼠标离开】 将QLable提升成自己的控件,然后再去捕获 添加文件 改继承的类名 提升类 同一个父类,可以提升 效果 现在代码就和Qlabel对应起来了。 在.h中声明&…

Linux———— 运算命令

Shell与其他编程语言一样,支持多种类型的运算符,包括: 算术运算符:用于执行数学运算,例如加法、减法、乘法和除法。 关系运算符:用于比较两个值之间的关系,例如相等、大于、小于等。 布尔运算…

FPGA 如何 固化程序到 FLASH中

1、导出Hardware 2、导出bit文件 3、打开SDK 4、 点击Ok 5、创建工程 6、 输入工程名称:guhua 7、选择 Zynq FSBL 8、单击 guhua、然后点击 build 点击:build all 9、 右键之后,点击:Creat Boot Image 10、点击 Cr…