有哪些可以提升研发效能的工具与方法?

如今不论是哪个行业都在关注“研发效能”,有的是为了提升效能降低成本,有的是为了让项目质量得到保障,还有的则是为了更有效地进行研发考核。不论是出于何种目的,研发效能的提升已经成为很多先进技术管理者关注的重点。有句老话说得好:工欲善其事,必先利其器,所以要想提升研发效能,需要掌握先进的方法,也需要有合适的工具。

我们往期分享过很多与提升研发效能相关的方法论和最佳实践,不过每次都是围绕一个工具或方法来进行深入分享。那么我们这次试着将一些散点的信息聚合起来,分享给关注研发效能提升的管理者和 DevOps 负责人、项目经理与敏捷教练们。

接下来,我们分享三类助力提升研发效能的工具,以及两个已经得到广泛认可的研发效能度量方法论。

一、AI 辅助编程

我们与很多客户都有过密切的交流,其中我们会不时地问到客户“你们在使用 AI 来辅助研发么?”。很多研发效能负责人都给出了肯定的答案,都做一些尝试和探索。而其中,利用 AI 辅助编程是一个有效能提升研发效率的途径。事实上,我们自己的产品经理和工程师有时也会利用 GPT 之类的 AI 工具帮忙处理脚本或一些简单的工作。

1、ChatGPT

首先推荐的肯定是 ChatGPT。ChatGPT 是 OpenAI 推出的一种自然语言处理模型,应该已是无人不知,无人不晓。研发工程师们可以利用它来完成代码编写、生成、优化、文档撰写、性能优化、错误纠正和撰写注释等任务,也可以利用它来进行技术选型,或寻求开发的建议。

不过也存在缺点,就是 ChatGPT 对代码的内在理解有限,如果你需要用它来生成代码,前提条件就是你需要具备对该编程语言的知识和经验,否则有可能会遇到不少 Bug。关于如何正确高效地使用 GPT 来辅助编程,我们此前的一次技术分享中聊到过,大家可以移步观看演讲的回顾

2、DevChat

如果你对 GPT 感兴趣,那么你没有理由拒绝这款背靠 GPT-4 的聊天式编程辅助工具 - DevChat!

它与 ChatGPT 有什么不同呢?

首先,它目前提供的不是像 ChatGPT 那样的网页交互,而是直接提供了 VS Code 插件,可以直接在编程环境下与之对话,使用起来更加方便。

其次,它支持 Diff View 来应用代码,同时防止 GPT-4 手抖引入小错误。

第三,它还提供了快捷键、命令行,减少重复的操作,让代码编写的过程更顺畅,比直接使用 ChatGPT 效率会更高。

第四,使用 DevChat 也不需要复杂的上网方式(你懂的!)

DevChat 目前还处于免费试用阶段,据说可能过段时间开始尝试付费,毕竟 GPT 的 Token 也不是大风刮来的。所以如果你希望尝鲜,体验不一样的 AI 辅助编程工具,那么现在要抓紧薅羊毛了。

薅羊毛步骤:

  • 访问 https://www.devchat.ai,输入邮箱,点击注册,这样你就会收到一个 key;

  • 打开 vscode,搜索并安装 DevChat,输入 key;

  • 完成安装,敬请享用。

二、代码扫描与代码分析工具

要提升研发效能,还有一种思路,就是减少代码缺陷,从而降低返工修改的工作量,让工程师可以把主要精力放在创新上。所以另一类要推荐的可以辅助提升研发效能的工具就是静态代码分析/检测工具。例如PVS Studio、SonarQube、Crucible、Codacy、Upsource、Review Board、Phabricator、DeepScan、Gerrit、Embold、Veracode、Reshift、ESLint、Codestriker、JSHint、Klocwork 等。

其中 SonarQube 应该是最热门的工具了。SonarQube 的有点有很多,例如集成简单,它只需一行命令即可轻松集成到CI/CD管道中,也可以集成到Maven和Gradle构建周期中。而且它支持检查包括代码质量、代码变量声明、甚至异常处理等。

另外还有一个相对常见的代码分析工具,就是 Klocwork。它可以对几乎任何大小的项目执行静态代码分析,并支持与 Visual Studio Code IDE、Eclipse、IntelliJ等集成,也可以集成到CI/CD管道中。

三、研发效能度量与分析平台

在提升研发效能方面,除了在项目管理、代码管理、代码分析、CI/CD等层面应用工具,还可以通过研发效能度量分析平台来汇总散落在工具中的数据,通过科学地度量与分析,来发现提升研发效能的关键。

目前构建一套研发效能度量分析平台,会遇到很多难点,例如:

  • 研发数据散落在不同的工具中,数据不易获取。

  • 不同的工具导出的数据字段不同,那么会导致需要大量的时间来处理、清洗数据

  • 研发度量指标不科学,例如还在使用“代码行数”这种传统的指标来度量、考核研发工作量

  • 研发团队不确定如何设定有效的研发效能度量指标

  • 尽管可通过 BI 系统进行数据可视化,但这些数据不支持下钻分析,无法定位问题根因

  • 不知道如何分析数据报表

  • 等等

而针对以上这些问题,思码逸企业版 4.0 都可以提供针对性的解决方案。

首先,思码逸是一站式研发效能度量分析平台,提供了一站式数据归集与处理,支持跨领域研发工具数据接入,进行统一清洗建模,能帮助研发团队节省构建研发效能度量平台的 80%研发成本和时间成本。

第二,思码逸平台已经预置 100+在行业中被高频使用的研发效能指标。在用户接入了工具数据之后,只需要简单配置即可得到对应的研发效能指标,并支持用户自定义指标。

第三,在数据分析的层面,思码逸平台可提供多维度的分析能力,并提供多种场景的数据分析能力,例如项目交付效率、项目交付质量、团队人均贡献度等。同时,平台支持数据的下钻分析,用户可以在发现需要重点关注的度量对象(如项目),下钻分析其代码质量、项目交付效率等。

第四,思码逸提供行业基线、企业基线,帮助研发管理者确定当前度量对象在行业中,企业中的位置。帮助制定管理策略。

第五,在众多研发效能度量指标中,思码逸提供了独有的基于自研技术的“代码当量”指标,该指标可以排除代码风格、换行习惯等噪音干扰,直接解析代码规模及复杂度,识别移动代码、粘贴代码、修改数据等操作,并适当调整权重,更科学地度量研发工作量。同时,“代码当量”也已经被中国信息通信研究院采纳为开源生态检测平台的核心指标,得到了行业的认可。

如果你希望可以尝试,可以直接访问官网,申请试用。

四、研发效能度量方法论

1、MARI 方法论

MARI是思码逸提出的研效度量闭环方法论,已经在很多客户中得到过验证和实践。

MARI的目的是建立研发效能度量和改进的闭环。研发团队结合实际情况,将价值流中的关键阻碍问题定位为提升点后,可以应用 MARI 方法论,对问题进行量化评估、分析和拆解,获取效能瓶颈、改进机会等洞见,进而落地为软件工程实践的逐步优化,以及切实的研发效能提升。

MARI由以下四个步骤组成,这四个步骤共同组成一轮完整的优化迭代。大部分情况下,问题改进需要经历多个迭代,持续度量改进效果,不断校准改进的方向和方法。

2、GQM 方法

GQM 最早由 Basili 提出,发表在软件工程领域权威期刊 IEEE Transactions on Software Engineering 上。 GQM 当初是为软件工程研究中的数据收集和分析而设计的,基本思想是:

数据的收集和分析一定要聚焦于清晰具体的目标,每个目标划归为一组可量化回答的问题,每个问题通过若干特定的指标来回答。

依据指标收集到的数据,通过分析产生对问题的回答,进而达成定义的目标。

实际上,我们今天所讨论的研发效能度量,可以看作软件工程研究领域数据收集和分析的“低配版”。 软件工程研究通常需要生产环境中的数据来评价软件开发方法和认知软件开发过程,会采用 GQM 这样系统的方法,保证具体实施的科学性和严谨性。 实用目的下的研发效能度量,不必过度追求科学性和严谨性,但现实中往往因为一些随意乃至混乱的做法,获得无效的数据或误导的结论。 采用 GQM 方法,可以帮助我们实行真正有意义的研发效能度量。 我们先追本溯源,概览早期 GQM 的实施步骤。

GQM 方法提出后,经过了不断的丰富和发展,早期即应用在 NASA、惠普、普华永道、斯伦贝谢、西门子、爱立信、飞利浦、博世、戴姆勒-克莱斯勒、安联、宝洁等各行业先进企业,相关文献和引用比较丰富。 我们也曾经分享过 GQM 方法的核心思想

猜你喜欢

转载自blog.csdn.net/simayi2018/article/details/132604988