2024 年 DORA 报告深入探讨了人工智能、平台工程和开发者体验,结果喜忧参半。
译自DORA 2024: AI and Platform Engineering Fall Short,作者 Jennifer Riggins。
根据DORA 研究团队最新发布的年度报告,尽管人工智能和平台工程可能让开发人员在工作中感觉更有效率和更满意,但它们也可能导致软件交付速度变慢,稳定性降低。
在第 10 个年头,“2024 加速 DevOps 状态”,更常被称为DORA 报告,继续探索团队如何更好地交付和运营软件,以提高组织绩效和福祉。
除了通常的指标外,今年的报告深入探讨了三个日益相互关联的趋势主题:
人工智能及其对工作场所的影响。
平台工程。
开发者体验(DevEx)。
The New Stack 与 Google Cloud DORA 团队负责人Nathen Harvey坐下来,讨论了该报告的一些亮点,该报告汇总了近 3000 名科技工作者的反馈。谷歌的 DevOps 研究与评估 (DORA) 团队对 2024 年DevOps的现状有很多话要说,Harvey 分享了他对人工智能和平台工程可能产生意想不到的副作用的看法。
“我们看到,采用更多人工智能功能并使用更多人工智能的工程师或团队,其工作流程时间更短;他们看到个人生产力水平更高,”Harvey 告诉 The New Stack。
“然而,我们没有看到这种生产力和时间以及流程在能够快速安全地交付软件方面产生良好的下游影响。事实上,当我们看到团队增加对人工智能的采用时,它实际上对他们的软件交付性能指标有害。”
人工智能:尚未发挥其潜力
DORA 通常与四个软件性能指标同义。其中两个,部署频率和变更前置时间,衡量吞吐量,而另外两个,变更失败率和失败部署恢复时间,衡量稳定性。在过去 10 年中,始终如一地,在其中一个指标上表现出色的公司,在所有四个指标上都表现出色——而在其中一个指标上得分很低意味着你的组织很可能在所有四个指标上得分都很低。
除了这四个著名的指标外,DORA 还涵盖了软件团队和工程组织可以理解和衡量其软件交付实践结果的社会技术范围。然后,它包括有关每个团队如何解释和利用这些数据的建议。
2024 年 DORA 研究询问了超过 100 个调查问题,涉及七个关键成就和结果:
减少倦怠。
工作流程。
工作满意度。
组织绩效。
产品性能。
生产力。
团队绩效。
“在交付软件时,我们必须考虑我们有哪些技术实践,有哪些流程,”Harvey 说。“最重要的是,你组织的文化是什么?”
考虑到这一点,DORA 每年都会深入研究至少一个可能影响你分数的大趋势。十年前,是云计算的影响。毫不奇怪,DORA 2024 首要关注的是人工智能对软件开发的影响。
令人惊讶的是——至少对于将整个 DevEx 预算押注在人工智能上的工程领导来说——结果仍然喜忧参半。
最值得注意的是,今年的 DORA 报告发现,人工智能采用率的提高使交付稳定性降低了 7.2%,交付吞吐量降低了 1.5%。
人工智能对软件开发生命周期的影响是可衡量的——包括代码质量提高 3.4% 和代码审查速度提高 3.1%。但目前这些好处还没有完全转化为交付。
“这绝对不是一个公平的权衡。数据无法真正告诉我们原因,”Harvey 说。“你没有看到这些人工智能的影响完全贯穿始终。”
人类开发人员能否维护人工智能生成的代码?
由于每个组织都是独一无二的,因此 DORA 报告提供了数据、趋势和随后的假设,研究人员希望团队在他们的组织中进行测试。“我们知道软件交付非常复杂,我们怀疑人工智能可能在开发过程的早期阶段有所帮助,”Harvey 说,比如文档和代码审查,“但没有解决后期阶段的问题。在前期更改某些内容而不会产生反作用或无法在后期消化这些更改的能力可能会产生一些负面影响。”
目前对生成式人工智能在代码生成方面的关注很多,这属于软件开发生命周期的早期阶段。这也是开发人员表示他们希望花更多时间去做的事情,而不是他们希望自动化的内容。
“生成代码很少(如果有的话)成为将代码交付给用户的瓶颈,”Harvey 说。“一个假设是我们过早地使用了人工智能,我们有机会在后期使用它,比如通过自动化测试进行反馈。”
完整的测试自动化覆盖率是开发团队通常无法实现的目标,当更多代码在人工智能的帮助下创建时,这一点变得更加紧迫。
来自德国应用科学国际大学的一项新研究发现,由人工智能生成的代码虽然高度可执行,但对于人类程序员来说可读性和可维护性较差。
即使今年的 DORA 报告显示人工智能采用率增长了 25%,推动了代码质量感知的轻微提升,但更多代码的创建不可避免地会导致更多技术债务和更少的文档——根据对“2024 Atlassian-DX 开发者体验现状调查”的回复,这是导致生产力下降的主要原因。
DORA 团队提出了另一种理论:由于人工智能让我们比以往任何时候都创建了更多代码,我们可能在快速生产的过程中忘记了一些软件开发生命周期的最佳实践。
“我们从十年的研究中了解到,提高软件交付性能的方法是发布更小的变更,”Harvey 说。“人工智能帮助我编写了比过去更多的代码,对吧?所以也许,作为一个行业,作为一个团队,我们忘记了更小的批次更好,因为人工智能帮助我们生成了更大的批次。但更大的批次更难获得反馈。”
这使得大块代码的审批流程变得更慢,而且当代码通过审批时,它会将更不稳定的代码投入生产。
在 DORA 今年首次进行的定性一对一访谈中,发现开发人员并不真正了解他们的组织为什么要在人工智能上投入如此多的资金。
“感觉像是害怕错过:我的组织正在大力投入人工智能,因为其他所有人都这样做,他们担心如果我们不做人工智能,我们就会落后,”Harvey 说,他重复了同事Kevin Storer听到的内容。
这一点在个人层面上得到了印证,每个人都说他们使用人工智能主要是因为其他人都使用人工智能。
您的开发人员对人工智能有何看法?
绝大多数开发人员认为人工智能工具将在 2025 年更多地融入他们的工作流程,用于编写、测试和记录代码。事实上,根据该报告,他们中的大多数人已经依赖人工智能工具来完成许多常见的开发任务。
因此,重要的是要考虑人工智能在哪些方面有效,在哪些方面无效。
这也可能与之前关于开发者体验的报告相一致,即组织可能在错误的人工智能软件开发用例上进行了投资。
上述 Atlassian-DX 开发者体验调查发现,领导者认为人工智能是提高开发者生产力和满意度的最有效方法——而高达三分之二的开发人员尚未看到任何显著的人工智能生产力提升。
Harvey 说,即使是今年 DORA 报告中吹嘘的所谓人工智能胜利,也可能只是开发人员认为他们的代码和文档在人工智能的帮助下变得更好,但实际上可能并非如此。
他解释说,DORA 并没有与公司的代码库集成。它也没有直接询问:自从您开始使用人工智能以来,您的代码质量是否提高了?相反,它会问一些问题,例如:
您使用多少人工智能?
您的流程是什么样的?
在过去六个月中,您对主要服务或应用程序底层代码质量的满意度或不满意度如何?数据团队随后寻找这些看似独立的概念之间的模式。
Harvey 说,科技行业可能处于 J 曲线的底部,因为公司仍在摸索在软件交付生命周期的哪个阶段以及在哪个地方使用 AI。这也仅仅是 DORA 尝试衡量 AI 影响的开始,因此只有时间才能证明生产力、吞吐量和稳定性是否会很快提高。
在开发中使用 AI 的建议
我们所知道的是,并非所有人都全心全意地投入 AI。超过三分之一的受访者表示对 AI 生成的代码几乎没有信任。
2024 年报告还提供了五项建议,以培养开发人员对 AI 的信任:
制定并传达生成式 AI 使用政策。
投资于更快的反馈驱动因素,例如代码审查和自动化测试。
鼓励开发人员使用他们最了解的编码语言使用 GenAI,因为他们会更有信心发现弱点。
鼓励使用 GenAI,但不要强迫。
帮助开发人员设想与 AI 合作的未来角色,而不是 AI 取代他们的工作。
Harvey 说:“作为一个行业,我们还没有找到与 AI 信任的‘金发姑娘’”,介于默认信任 AI 生成的代码审查和完全不信任 AI 之间,因为我们害怕它会偷走我们的工作。
“中间的这个位置将永远在变化,我们也将永远试图找到合适的平衡点,即信任的正确程度。也许我们在代码审查过程中对 AI 过于信任,这加快了我们的代码审查速度,并导致稳定性下降。”
一些可衡量的 AI 成果
与此同时,DORA 报告为 AI 用户提供了一些好消息。
研究人员估计,AI 采用率提高 25% 与文档质量提高 7.5% 相关。这与 2023 年 DORA 报告相呼应,该报告发现高质量的内部文档对组织绩效的影响几乎是 13 倍。
这是一个明智的 GenAI 早期应用,因为大型语言模型 (LLM)非常擅长解释复杂主题。但这并非唯一的成果。
Harvey 说:“我们看到,采用更多 AI 功能并使用更多 AI 的工程师或团队往往拥有更好的工作流程;他们看到个人生产力水平更高。”
“然而,我们没有看到的是,这种生产力和时间以及工作流程在能够快速安全地交付软件方面产生良好的下游影响。事实上,当我们看到团队增加 AI 的采用率时,它实际上对他们的软件交付绩效指标有害。”
该报告发现,AI 对工作流程、生产力和工作满意度具有“重大而有益的影响”。如果一名科技工作者将 AI 采用率提高 25%,这将转化为生产力提高 2.1%。在企业规模上,这 2% 的提高意义重大。
特别是,该报告指出,“AI 能够综合来自不同来源的信息并在单个位置提供高度个性化的响应”可以提高工作流程,同时减少上下文切换。
从定义上讲,这意味着 AI 已经改善了开发人员体验。
更紧密的反馈循环提高绩效
DORA 2024 重申了去年的观点,即以用户为中心仍然至关重要。反馈循环越紧密,您就越有可能构建用户真正想要使用的产品。
Harvey 说:“我们想要快速软件交付的原因是我们与用户的联系并不紧密。我们没有一个很好的紧密循环[用于]我们发布的每个功能或每个更改。这有点像实验。我们需要了解用户将如何对它做出反应。”
“因此,我们交付的速度越快,我们就能越快地关闭反馈循环,从而提高我们的以用户为中心。但实际上,仅仅考虑用户是谁并围绕这一点进行对话也有助于推动事情发展。”
2023 年 DORA 报告发现,以用户为中心程度更高导致组织绩效惊人地提高了 40%。
今年的报告发现,优先考虑最终用户体验的组织不仅会生产出更高质量的产品,而且这些组织的开发人员生产力更高、满意度更高,并且不太可能出现倦怠。
平台工程:对 DevEx 的混合影响
今年 DORA 的三大深入研究支柱——AI、平台工程和开发者体验——有一个共同点:将开发者视为最终用户。具体来说,平台工程的成功取决于平台即产品的关注点,您需要与内部开发者客户建立更紧密的反馈循环。
今年的报告首次尝试量化内部开发者平台的影响:
IDP 用户的个人生产力提高了 8%。
IDP 用户的团队绩效提高了 10%。
使用 IDP 时,组织的软件交付和运营绩效提高了 6%。
IDP 关注自助服务,支持开发者独立性,这极大地提高了个人和团队层面的生产力。此外,拥有专门的平台工程团队可以将软件开发团队的生产力提高 6%。
但同样,与 AI 类似,更加关注平台工程并不能帮助组织的核心 DORA 指标:
吞吐量下降了 8%。
更改稳定性下降了 14%。
DORA 团队假设吞吐量可能下降,因为 IDP 实际上可以增加系统和团队之间的交接次数。但报告预测,虽然吞吐量下降,但完成工作的效率可能总体上有所提高。
报告的作者认为,稳定性大幅提高可能是因为平台使团队能够更快地进行实验和交付更改,从而导致更改失败和返工的比率更高。但是,他们也认为,这表明平台没有帮助提高质量,或者团队没有加入并使用平台的全部功能,例如自动化测试。
无论原因如何,这种由于平台导致的更改稳定性下降与开发者倦怠的增加相关。这也可能是平台工程团队整体倦怠的迹象。报告认为,更改稳定性和倦怠是平台工程计划的预测指标,当内部开发者平台被视为解决这些问题的方案时。
AI 和平台工程可能是影响开发者体验的两个最重要的趋势。然而,两者都处于Gartner 的幻灭期,实验通常会失败。
“我们还没有看到它们改善软件交付性能,”Harvey 说。“我们还没有看到它们在组织绩效方面带来更好的结果。作为行业,我们有责任确保我们正在接收来自 DORA 的这些信号,并应用它们,并利用它们来帮助改变我们的工作方式。”
“这就是 DORA 的使命,帮助团队在变得更好的过程中变得更好。这是一个持续改进的旅程。”