返回资讯中心
外部精选
软件工程
#开发实践#Artificial Intelligence, Development Approaches, Generative AI, Software Development

开发者需要一份Agentic宣言

来源标题:Software developers need an Agentic manifesto

文章认为编程智能体正在改变软件开发的一切,但业界尚未搞清楚如何更新开发方法论、如何组织团队来利用它们,目前只是触及表面。作者以Waterfall方法为例回顾了传统开发流程的局限,并质疑Agile是否已死或即将复兴。

InfoWorld2026/11/11 · 今天25 分钟阅读

以下正文由 AI 翻译自 InfoWorld(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

文章标题:软件开发者需要一份智能体宣言

我无法确定敏捷开发是已经完全消亡,还是即将迎来大规模回归。又或者瀑布模型会回归。谁知道呢?

编码智能体正在改变一切——而我认为我们还没有完全弄清楚它们将如何更新我们的方法论,或者我们将如何组织自身以利用它们。我们才刚刚触及表面。

在这个行业待得久的人会记得开发软件的瀑布方法。因为编码是任何项目中最困难的部分,瀑布方法要求你在开始写代码之前就把一切弄清楚。你会写一份庞大的规格说明,详细描述一切,然后把它交给开发团队。开发团队按照规格说明构建,并将软件交给测试团队进行验证,最后项目交付给客户。

别管等到东西构建并测试完成时,客户想要的东西可能已经发生了巨大变化。如果客户在规格说明写完之后决定这里要一个小部件、那里要一个链轮?那好吧,那将是一个正式的变更请求,需要花费更多的时间和金钱,非常感谢。

是的,他们当年真的是这么做的。

瀑布坏,敏捷好

没过多久大家就发现瀑布方式行不通。项目几乎总是延期,而且完全不是客户想要的。必须有更好的办法,最终一群软件界的泰斗真的聚在一个房间里,写下了敏捷宣言。他们认为你不必如此僵化才能真正完成事情。这在当时相当具有革命性。

敏捷宣言帮助普及了 Scrum 等方法以及其他敏捷实践,这些当然一直备受争议。我们软件开发者喜欢对如何写软件指指点点,但尽管有海量的文字讨论敏捷是什么、不是什么,我们普遍都同意瀑布方法应该被扔进历史的回收站。

但现在呢?我有些怀疑。瀑布方法被开发出来的原因之一是实现太难了——而且是最主要的瓶颈。现在实现变得容易了,不再是瓶颈,那这应该如何改变我们开发软件的方式?

我要说,这必须彻底改变我们对流程的看法。但怎么改?

也许瀑布方法真的会大规模回归。如果规格说明成为应用的定义,而代码可以在极短的时间内生成,那么写一份完整详尽的规格说明,然后让编码智能体在几小时或几天内产出成品,难道不合理吗?

如果编码变得微不足道,我们是否可以迭代规格说明而非实现?换句话说,我们何不在规格说明上运用敏捷方法论,根据客户反馈和编码智能体的实现方式来更新规格说明?

如果开发流程是这样的呢:

  • 写一份规格说明
  • 让客户认可规格说明
  • 用编码智能体构建应用
  • 获取客户对最终应用的反馈
  • 根据反馈更新规格说明
  • 回到第2步
  • 重复直到客户满意

在这里,客户对规格说明的变更和实现都签字确认。

或者迭代是这样的:

  • 写一份规格说明
  • 用编码智能体构建应用
  • 获取客户对最终应用的反馈
  • 根据反馈更新规格说明
  • 回到第2步
  • 重复直到客户满意

在这个版本中,客户从不看规格说明,只看到可用的应用,但你把规格说明——而非代码——当作真正的唯一真相来源。

新方法论的灵魂

退一步想,这到底是什么东西?你专注于规格说明——基本上是在交付软件之前把它弄对。那是瀑布。但你在迭代并沿途获取客户反馈,那是敏捷的基础。

我们已经把这类东西叫做“规格驱动开发”。有趣的是,这个概念违反了敏捷宣言的价值观之一,即“可工作的软件胜过详尽的文档”。但如果可工作的软件可以在短时间内生成,这个价值观还有必要吗?在某个时刻,我们甚至能区分可工作的软件和详尽的文档吗?

如果规格说明成为被迭代的对象,它不就成了应用的源代码吗?你不断微调规格说明,它就成了应用的定义。智能体生成的代码变得等同于机器码——不是你通常需要操心的事情。

如果规格说明成为应用的定义,我们需要对文档进行版本控制吗?在修改它之前要做拉取请求和代码审查吗?如果我们选择在规格说明的每次迭代时都重新实现,我们甚至需要对生成的代码进行版本控制吗?

在客户反馈和规格说明更新之后,你是让编码智能体更新它已经生成的代码,还是让它从头重做整个应用?

我可以看到实现部分有几种走向。首先,你可以直接放弃每次的实现,让智能体每次都从头重建应用。这可能是风险最大的选项,因为编码智能体具有非确定性,但可能可行。

其次,你可以将新的规格说明应用到之前的实现上,用变更来更新它。编码智能体可以沿着同一条路径继续,边做边改。这跟我们今天做的事情类似。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →