category
生成式人工智能的可能用例似乎没有尽头。虽然这很令人兴奋,但也可能是压倒性的。这意味着团队在使用技术时需要有意识:重要的是要问生成性人工智能在哪里可以对团队的工作产生有意义的影响。
软件工程中一个有趣的应用是需求分析。这是一个经常具有挑战性但被忽视的步骤,如果处理不当,可能会产生许多负面的下游后果。
本文描述了我们与一位客户进行的一项试点,在那里,我们有一个团队验证了利用GenAI创建高质量用户故事可以缩短交付周期和提高需求分析质量的假设。在这个案例研究中,我们检验了这一假设;我们将解释我们做了什么以及我们发现了什么。
方法
定义范围和目标
在选择这个团队作为试点后,我们与他们一起举办了一个研讨会,以确定哪些任务可以用人工智能来支持。我们还与他们合作,确定使用人工智能可以产生什么影响。研讨会完成了两个主要步骤:
1.找到适合有意义的人工智能支持的任务
团队讨论了他们经常和/或有一定痛苦或困难的任务。然后,他们选择了一部分具有高价值和可行性的人工智能辅助任务。选择的任务之一是需求分析,因为团队在一个相对复杂的领域工作,并且由于遗漏了边缘情况或误解了需求,经常在开发过程的后期进行返工。
使用生成式人工智能进行需求收集实验
2.定义假设和预期结果
在研讨会的第二步,团队定义了他们希望通过使用人工智能实现的目标。以下是需求分析的假设:
表概述了生成式人工智能在需求中的应用
我们相信,使用GenAI来协助。.. .…我们会知道它是有价值的。
- 写史诗和故事
会导致…
- --减少流程后期的返工
- --更好地“定义完成”故事的实现
- --更快的交付周期
我们会知道它是有价值的
- --更短的交付周期(从“分析开始”到“完成”)
- --开发人员对故事的反馈越来越好
- --更少的开发人员问题和澄清
- --被屏蔽的故事更少
- --积压的工作永远不会是空的
- --测试过程中发现的遗漏要求更少
..需监控的风险
- --范围蔓延(AI给出了太多的想法)
- --冗长的故事,团队迷失在细节中
实施
我们利用服务工具包中的加速器来帮助实施人工智能辅助。HaivenTM团队助理是我们与客户一起使用的加速器,用于以精益的方式为软件交付团队试点使用人工智能辅助。在这种情况下,它为用户提供了AI功能,可以将可重用的提示与有关其领域和架构的上下文信息集成在一起。
该团队的业务分析师(BA)和质量分析师(QA)是该工具的主要用户。他们都有自己的经验,并且已经在这个团队工作了很长一段时间。在这个试点中,他们使用该工具将三部新史诗的要求分解为用户故事。每一部史诗都是关于为现有功能构建额外功能的。
学习内容
上下文是关键!
其中一个关键的教训是,团队需要多少背景才能提供有用的人工智能。Haiven在这方面很有帮助,因为它允许用户定义可重用的上下文描述,然后用户可以在与AI的每次对话中提取这些描述。这意味着他们不必在每次交互中重复相同的上下文信息。
生成式人工智能如何帮助团队收集需求
正如我们已经提到的,这个团队正在一个相对复杂的领域工作,史诗是关于扩展现有功能的功能。因此,最初,他们花了一些时间来描述AI的领域和架构,以便每次向AI寻求帮助时都可以重复使用。由此产生的上下文对逻辑和领域语言进行了总体描述,并指定了当前功能的实际工作方式,以允许人工智能帮助扩展这些功能。
这大大改善了他们得到的结果,但也表明,为了使人工智能在他们的情况下有用,需要进行初始投资。与编码助手类似,使用人工智能来改变现有需求比从头开始设计全新功能更难。
用户需要时间来适应人工智能的帮助
最初,用户在如何与人工智能有效交互方面遇到了困难。发现LLM反应的非确定性并理解其含义需要学习曲线。随着时间的推移,用户调整了他们对结果的期望,并越来越习惯于将人工智能作为助手,而不是为他们提供完美工件的软件。他们还学会了当他们发现初始输出不正确或有缺陷时,如何在聊天对话中要求人工智能纠正航向。
开发人员在与编码助理一起工作时经常报告“审查疲劳”,因此我们还询问了BA和QA在审查AI输出时的经验。他们报告说,审查这些情景并不太麻烦,至少以他们的经验水平来看是这样。
很难定量衡量影响
我们发现,衡量人工智能在这一领域的影响比衡量编码助手的影响更难。
- 这些任务的完成频率不如编码,因此改进它们不会对团队产生可以单独衡量的影响。
- 史诗是比故事或技术任务更不可比的工作单位;这意味着很难将它们与历史数据进行比较。
- 需求分析质量的指标之一是故事被阻止澄清的次数,或者在团队的工作流程中来回反弹的次数,因为它们不完整或不清楚。这类数据通常不会以非常精细的方式进行跟踪,因为这会使流程和任务板变得非常复杂。
然而,仅仅因为某些东西无法定量衡量,并不意味着它没有价值!以下关于质量和速度的观察是基于这种情况下人工智能用户的估计。
对质量和团队流动的影响
重申一下,部分假设是,使用人工智能进行需求分析将缩短交付周期,减少返工,并减少被阻止进一步澄清的故事。
英国航空公司报告称,由于人工智能助手的帮助,他们的准备工作更加有效和全面,因此他们可以更有信心地与开发人员进行讨论。他们能够回答开发人员在评估会议上提出的问题,而不必再去填补分析中的空白。
QA发现,一旦上下文定义明确,人工智能生成的验收标准和测试场景就比它们自己生成的要好。他们估计,当他们开始测试开发人员的工作时,他们发现的错误和返工原因比平时少了约10%,因为边缘情况场景在故事定义中得到了更好的覆盖。
对分析速度的影响
虽然三部史诗的样本量很难得出任何明确的结论,但该团队估计,尽管创建背景需要时间,但分析时间减少了约20%。预期是,随着上下文创建变得更加简化,上下文可以重用,这意味着未来节省的时间将更加显著。
结论与展望
总之,这个案例研究表明,人工智能可以为质量、速度和整体团队流动带来好处。在这个特定的组织中,该方法接下来将用于更多具有不同经验水平和不同流程的团队,以查看是否可以复制学习成果,以及是否可以进一步提高效率。
这一点——以及在软件团队中使用人工智能的其他经验——再次向我们证实,在考虑这个领域时,上下文编排是关键。
- 这里描述的团队在一个相对复杂和不寻常的领域工作,他们发现人工智能对他们没有真正的帮助,直到他们为其提供了对该领域背景的更详细的描述。对于在电子商务或客户数据管理等常见领域工作的团队来说,这一障碍要低得多,因为模型训练数据通常可以在这些领域的广泛用例中有所帮助,而无需额外的推动。
- Haiven支持半手动管理,并允许您重用上下文描述:该团队将域描述为提示的一部分,并为辅助应用程序的wiki文档的相关部分编制了索引。虽然这需要一些努力来建立,但它仍然是探索人工智能在这个领域潜力的一种简单易行的方法。然而,我们正在密切关注软件工具市场,以在更自动化和智能的上下文编排方面进行创新,从而最好地咨询我们的客户如何在他们的软件团队中充分利用人工智能。
- 代码库包含有关应用程序如何工作的最终真相。它总是比可能过时或不准确的文档或描述要好。除了本案例研究的范围之外,还有一些有趣而强大的方法可以为人工智能提供我们与客户一起使用的代码库的上下文,这让用户可以在不需要理解或浏览代码的情况下询问有关该代码库的问题。该团队在这种情况下没有使用这样的工具,但潜力是显而易见的,特别是在指定对现有功能的更改方面。
- 登录 发表评论
- 5 次浏览
最新内容
- 2 hours ago
- 3 hours ago
- 3 hours ago
- 3 hours ago
- 6 hours ago
- 8 hours ago
- 8 hours ago
- 1 week 2 days ago
- 1 week 2 days ago
- 1 week 2 days ago