小批量工作如何提升AI软件交付

在任何需要反馈循环,或者希望快速从决策中学习的领域,小批量工作都是一项至关重要的原则。尤其在 AI 软件开发和持续交付场景中,小批量工作能够让团队更快验证假设,判断某项改进是否可能达到预期效果;如果效果不佳,也能及时调整方向,或重新审视最初的假设。

虽然本文中的原则适用于组织转型、流程改进等各类变革场景,但本文将主要聚焦于软件交付,以及 AI 时代下小批量开发为什么变得更加重要。

小批量工作如何提升AI软件交付

小批量开发是精益产品管理的重要组成部分。结合价值流工作可视化、团队实验和客户反馈可视化等能力,小批量开发能够预测软件交付绩效和组织绩效。

在生成式人工智能时代,这项能力变得更加关键。DORA 的研究表明,小批量工作能够放大 AI 应用对产品绩效的积极影响,并有助于将 AI 对组织摩擦的中性影响转化为正向影响。

团队之所以会以大批量方式开发,其中一个原因是变更交接的固定成本很高。在传统的软件开发分阶段模式中,从开发到测试,或从测试到运维的交接,往往涉及整个版本发布。这类发布可能需要数十人甚至数百人的团队投入数月时间。采用这种传统方式时,团队可能需要几周甚至几个月,才能收到关于变更效果的反馈。

相比之下,现代软件交付实践强调跨职能团队和轻量级流程,使软件可以在几分钟内完成从开发、测试、运维到生产环境的完整流转。但这种快速迭代,需要团队以小批量方式处理代码和变更。

小批量工作有很多好处:

  • 它可以缩短获得变更反馈所需的时间,让问题分类和修复变得更容易。
  • 它能够提升效率和团队积极性。
  • 它可以避免组织陷入沉没成本谬误。
  • 它为 AI 应用提供了一道安全网。AI 应用可能会带来软件交付稳定性的风险;小批量开发是应对这一风险的关键措施,可以确保 AI 带来的速度提升真正转化为价值,而不是制造混乱。

你可以在功能层面和产品层面应用小批量方法。例如,最小可行产品,也就是 MVP,是一种产品原型,它只包含足够验证产品和商业模式假设的功能。

持续交付建立在小批量开发之上,强调尽早将每次变更纳入版本控制。持续交付的目标,是改变软件交付流程的经济模型,使小批量开发成为可能。这种方法能够为团队提供快速、全面的反馈,从而帮助他们持续改进工作方式。

为什么AI时代更需要小批量工作

在使用 AI 编码助手时,小批量开发规范尤其重要。AI 擅长快速生成大段代码,但大规模变更往往难以审查、测试和安全集成。通过强制采用小批量开发,团队可以把开发人员的注意力从“生成更多代码”转向“更有意识地拆分、验证和集成代码”。

AI 带来的问题并不只是代码生成速度变快,而是团队是否有能力吸收这种速度。如果团队仍然采用大批量变更、大规模拉取请求和低频集成的方式,那么 AI 生成的代码越多,审查、测试、回滚和维护压力就越大。小批量工作能够把这些风险控制在更小范围内,让团队更快发现问题、更快修复问题,也更容易判断 AI 生成内容是否真正带来了价值。

如何进行小批量开发

在规划新功能时,应尽量将其拆分成可以独立完成、且耗时较短的工作单元。我们建议,每个功能或工作批次都遵循敏捷开发中的 INVEST 原则:

独立性。 尽量让各个工作批次彼此独立,使团队可以按任意顺序处理它们,并且能够独立于其他工作批次进行部署和验证。

可协商。 每一批工作都应该是可迭代的,可以根据收到的反馈重新协商和调整。

有价值。 每个独立工作批次都应该是可用的,并能为利益相关者创造价值。

可估算。 每个工作批次的信息应该足够充分,便于团队估算工作范围。

小批量。 在一个冲刺周期内,团队应该能够在较短时间内完成一批工作。这意味着每批工作通常只需要几个小时到几天。

可测试。 每一批工作成果都应该能够被测试、监控和验证,确保其符合用户预期。

当功能规模合适时,你可以进一步把功能开发拆分成更小的批次。这个过程可能比较困难,也需要经验。理想情况下,开发人员应该每天至少将多个可发布的小变更提交到主干分支。

关键在于,尽量从服务层或 API 层开始开发,而不是从 UI 层开始。这样,你就可以为 API 添加一些最初对用户不可见的功能,并将这些变更提交到主干分支。你还可以把这些变更部署到生产环境,而不让用户直接看到。这种方法被称为“暗发布”,它允许开发人员提交已经完成、但尚未对用户完全开放的小批量代码。

随后,你可以针对这些变更运行自动化测试,以验证它们是否按预期运行。这样,团队仍然可以保持较快速度,并且基于主干分支进行开发,而不是依赖长期存在的特性分支。

在实际落地时,小批量工作不能只停留在开发者个人习惯层面,还需要进入团队的研发管理流程。借助 PingCode 这类研发管理工具,团队可以把目标、需求、评审、开发、测试、发布和 Wiki 复盘串联起来,并与代码仓库、CI/CD 等工具打通,让每个小批次从提出、实现到验证都可追踪、可度量、可复盘。

你也可以使用功能开关来实现暗发布。功能开关是一种基于配置设置的条件语句。例如,你可以控制某个 UI 元素是否可见,或者启用、禁用某段服务逻辑。功能开关的配置可以在部署时读取,也可以在运行时读取。通过这些配置,团队可以切换系统更底层的新代码行为。

你还可以使用类似的“抽象分支”技术,在不使用长期特性分支的情况下,对系统进行更大规模的变更,同时继续基于主干进行开发和发布。

在这种工作方式中,只有当工作批次被部署到生产环境,并开始收集反馈以验证变更后,才算真正完成。反馈来源可以非常广泛,包括用户反馈、系统监控、质量保证和自动化测试。团队的目标是优化速度,缩短变更交付给用户的周期,从而尽快验证假设。

小批量工作中的常见陷阱

将工作拆分成小批次时,团队通常会遇到两个常见陷阱。

陷阱一:没有把工作拆得足够小

你的首要任务,是以有意义的方式拆分工作。我们建议,不要等到完整功能完成后才提交代码。每个功能的开发时间最好不要超过几天。任何需要超过一周才能完成和验证的代码批次,都已经太大了。

在整个开发过程中,你必须持续分析:如何把一个想法拆分成可以迭代开发、逐步验证的增量。

在 AI 工具使用场景中,这个陷阱尤其常见,因为许多 AI 工具默认会倾向于生成大型、完整的功能。团队应避免制造大量庞大的拉取请求。审查一大段机器生成代码所需的认知负担,可能比审查人类编写的代码更高。

陷阱二:先小批量开发,再重新组合成大批量交付

有些团队表面上采用了小批量开发,但随后又把这些小批次重新组合起来,等到最后才统一发送给下游团队进行测试或发布。

这种重新组合会延迟反馈。团队不仅会更晚发现变更是否存在缺陷,也会更晚知道用户和组织是否认可这些变更。换句话说,问题并不是工作一开始没有被拆小,而是拆小之后又被重新打包成了大批量交付。

如何降低工作批次规模

将工作拆分成可以在数小时内完成的小批次,通常也能让这些批次在不到一小时内完成测试和部署。关键在于,把工作拆解成可以快速开发的小功能,而不是在分支上长期开发复杂功能,然后再进行频繁发布。

为了改进小批量开发,你可以检查当前环境,确认以下条件是否成立:

  • 工作是否被拆分得足够灵活,使团队能够更频繁地发布产品版本?
  • 开发人员是否擅长把工作拆成几个小时内可以完成的小改动,而不是需要几天才能完成的大任务?

要成为小批量开发方面的高水平团队,需要确保所有开发团队都具备这些能力。这也是持续集成和主干开发的必要条件。

如何衡量工作批次大小

当你对持续集成和监控有了足够理解后,就可以制定一套方法,用于衡量系统和开发环境中的小批量开发能力。

你可以从以下几个问题开始:

应用功能是否被拆解成支持频繁发布的形式? 发布频率如何?不同团队的发布节奏有何差异?生产环境中的交付延迟是否与大型功能有关?

应用功能是否被拆分成多个部分,使开发人员能够在一周或更短时间内完成? 有多少功能可以在一周或更短时间内完成?哪些功能无法在一周或更短时间内完成?团队能否在完整功能完成之前,就先提交并发布部分变更?

MVP 是否被明确定义,并成为团队目标? 工作是否被拆分成能够支持 MVP 和快速开发的功能,而不是复杂冗长的流程?

最终,你的衡量方式取决于以下因素:

  • 你对组织内部流程的理解。
  • 你为减少浪费设定的目标。
  • 你找到的降低开发过程复杂性的方法。

小批量工作的核心,不只是把任务切小,而是让每一次变更都能更快进入反馈循环。尤其在 AI 加速软件开发的背景下,真正重要的不是生成更多代码,而是让每一批代码都更容易理解、审查、测试、集成和验证。只有这样,AI 带来的速度才会转化为更稳定的软件交付能力和更高的组织绩效。

归根结底,小批量工作是 AI 时代提升软件交付能力的重要基础。它帮助团队在更短周期内验证假设、降低变更风险、减少交付混乱,并把 AI 编码助手带来的速度优势转化为真实的产品价值和组织绩效。

文章包含AI辅助创作,作者:guo,如若转载,请注明出处:https://docs.pingcode.com/baike/5247509

(0)
guoguo
免费注册
电话联系

4008001024

微信咨询
微信咨询
返回顶部