生成式人工智能对软件编程的影响及测量方法
引言
生成式人工智能(Gen AI)正逐步影响软件设计、编码和单元测试,其预期影响包括提高生产力、提升软件质量和促进创新。然而,如何衡量这些影响以及如何定义有效的测量协议是关键问题。实际规模的实验揭示了Gen AI在编码和单元测试方面的具体作用。
Gen AI对软件编程的影响
Gen AI可以协助软件工程师完成用户界面原型、实体模型和接口等设计输出,显著提高生产力。具体应用包括代码自动补全、生成单元测试代码、编写和迁移文档等。Gen AI还能直接建议代码或评估现有代码质量。根据Capgemini研究,61%的组织认为Gen AI的主要益处是促进创新性工作,其次是提高软件质量(49%)和增加生产效率(40%)。尽管90%的组织尚未规模化应用Gen AI,但27%正在运行实验性项目,11%已在其软件功能中应用Gen AI。预计到2026年,Gen AI将协助超过25%的软件设计、开发和测试工作。
测量的重要性
在现代技术快速演变的背景下,建立测量框架至关重要。衡量Gen AI的表现可以确保其达到预期目标,识别改进领域,提供问责制,并量化属性以指导决策。然而,衡量生产力具有复杂性,需要考虑定性和定量因素,包括具体情境。
衡量Gen AI影响的挑战
衡量Gen AI影响的主要挑战包括软件开发生命周期中开发工作的多面性和主观性,以及不同利益相关方的不同优先级。此外,86%的大型企业已采用Gen AI,而仅23%的小型企业采用,表明应用存在差距。
建立测量协议
生产力指标如部署时间或解决问题时间未能全面捕捉Gen AI的益处。建议使用包括速度、质量、安全性和开发者体验的指标。目前48%的组织尚未定义衡量Gen AI使用成功与否的指标,表明需要统一标准。
测量协议的组件
测量协议由以下组件组成:
- 团队组织:使用并行团队、影子团队或多元金字塔团队模式。
- 前提条件与成功因素:确保稳定和一致的测量条件。
- 测量方法:确定测量的时间线和过程。
- 规范化过程:管理实验过程中的不稳定性与变异性。
- 测量指标:包括编码速度、代码质量、代码安全性及开发者体验。
- 定性反馈:收集开发人员的整体体验信息。
- 测量工具:使用SonarQube、CAST、Jira等工具。
- 测量报告:选择合适的模板和格式呈现结果。
实际规模实验的指标
实际规模实验中评估的指标包括:
- 单元测试覆盖率
- 速度
- 代码效率
- 编码速度
- 代码安全性
- 代码气味
- 代码重复
- 开发者能力/资深程度的编码速度
- 编码速度按复杂性计算
团队组织
单一团队和多个团队方法均可有效。单一团队在同一用户故事大小/复杂性的情况下顺序执行待办事项列表,而多个团队并行执行相同积压工作。团队设置包括均衡成员层次结构、高级成员金字塔和部门成员的初级金字塔结构。
流程
关键考虑因素包括:
- 使用选定的Gen AI工具并遵循最佳实践。
- 收集指标和反馈,使用测量工具和调查问卷。
- 检查并标准化指标和反馈。
- 整合并报告测量结果,突出关键见解和发现。
时间线
准备工作包括:
- 定义团队组织和试点范围。
- 确定时间表。
- 验证先决条件。
- 准备团队执行。
关于凯捷
Capgemini是全球性的业务和技术转型合作伙伴,帮助组织加速向数字化和可持续世界转变。公司拥有超过55年的深厚背景,被客户信任,利用技术解决企业全方位需求,提供端到端的服务。