核心观点与关键数据
通用人工智能(Gen AI)对软件编码和单元测试的影响主要体现在提高生产力、增强软件质量和推动创新。据凯捷研究学院报告,61%的组织认为Gen AI的主要益处是推动更创新的工作,49%认为提高软件质量,40%认为增加生产力。Gen AI能够通过生成设计输出、编写更完整的单元测试用例、辅助代码自动补全和文档生成等方式,显著提升软件工程效率。尽管Gen AI在软件开发中的应用仍处于早期阶段,但27%的组织正在进行真实规模的实验,11%已在其软件功能中应用Gen AI。
衡量挑战与测量协议
衡量Gen AI的影响面临挑战,包括软件开发生命周期(SDLC)的多方面性和动态性,以及不同利益相关者的优先级差异。传统的生产率指标(如部署时间)无法充分捕捉Gen AI的优势,而DORA和SPACE等度量框架因实施成本高而未获广泛采用。研究建议使用包括速度、质量、安全和开发者体验在内的关键绩效指标(KPIs)来衡量Gen AI的影响。
测量协议内容
定义的测量协议包含以下组件:
- 指标:评估单元测试覆盖率、代码效率、编码速度、代码重复、代码安全、代码异味等。
- 先决条件和成功因素:确保团队稳定性、法律许可、网络安全等。
- 量度报告:选择合适的模板和格式呈现结果。
- 定性反馈:通过调查收集开发者体验。
- 测量工具:使用SonarQube、CAST、Jira等工具。
- 规范化过程:管理实验中的不稳定性和可变性。
- 团队组织:采用并行团队、影子团队或多金字塔团队模式。
- 测量方法:确立时间表和流程,包括准备、基线设置和执行。
多种团队方法
研究比较了不同团队组织方法的效果:
- 单一团队:同一用户故事大小/复杂度的待办事项顺序执行,有无Gen AI辅助。
- 并行团队:多个团队并行执行相同的待办事项,有无Gen AI辅助。
流程关键考虑因素
实验流程包括:
- 准备工作:定义团队组织结构、实验范围、时间表和测量方法,验证先决条件。
- 基线分析:在无Gen AI辅助的情况下,评估编码速度、代码质量、代码安全和开发者体验。
- 执行:在Gen AI辅助下执行冲刺和发布,使用选定的工具和最佳实践。
- 收集与报告:收集指标和反馈,使用归一化过程检查和归一化数据,汇总报告结果。
研究结论
凯捷咨询的真实规模实验结果显示:
- 开发者体验:开发者喜欢新的工具和工作方式,Gen AI帮助初级专业人士快速掌握技能,高级专业人士专注于培养初级专业人士。
- 速度提升:软件开发生命周期中编码和单元测试效率提高10-30%。
- 代码质量:通过静态代码分析和人工代码审查,代码质量未下降。
- 单元测试:单元测试生成提高了整体测试代码覆盖率。
- 文档可用性:相关指标因Gen AI的辅助任务而提高。
- 团队受益:所有参与者均受益,初级金字塔团队受益最大,高级金字塔团队也显著受益。
测量框架的重要性
测量框架是评估和基准测试Gen AI影响的关键,通过确立明确目标、标准化数据收集和设定基线指标,帮助深入理解Gen AI在工作流程中的表现和价值。