如何使用 LLM 辅助用户故事编写
如何使用 LLM 辅助用户故事编写
用户故事 是敏捷开发中的一个重要组成部分,它帮助团队理解和实现用户需求。用户故事的编写不仅关注用户的价值,还需要通过验收条件明确需求的具体实现。在这一过程中,大语言模型(LLM)可以提供重要的帮助,特别是在定义验收条件和细化用户故事方面。本文将介绍如何使用 LLM 辅助编写用户故事,并结合示例进行说明。
1. 用户故事的特质
用户故事具有以下三大特质,被总结为 3C:
- Card(卡片):用户故事的物理载体,类似于索引卡。它简洁明了,关注用户价值和需求。
- Conversation(对话):通过对话传播不可言说的知识。对话有助于澄清用户故事的细节和背景。
- Confirmation(验收条件):定义用户故事完成的标准和期望行为,通常以 Given/When/Then 格式呈现。
2. 用户故事的编写流程
用户故事通常基于用户角色、整体解决方案和用户旅程进行拆分。以下是编写用户故事的标准步骤:
- 提取整体解决方案:根据业务背景和需求,提取整体解决方案。
- 设计用户旅程:根据整体解决方案设计用户旅程。
- 拆分用户故事:将用户旅程中的步骤拆分成具体的用户故事。
- 编写验收条件:为每个用户故事编写验收条件,以明确功能的期望行为。
3. 利用 LLM 辅助编写用户故事
LLM 可以帮助在以下几个方面优化用户故事编写:
3.1 提供整体解决方案和用户旅程
首先,您需要为 LLM 提供完整的业务背景信息,包括整体解决方案和用户旅程。这为 LLM 编写用户故事提供了必要的上下文。
示例:
- 整体解决方案:开发一个在线购物系统,包括用户注册、商品浏览、购物车、结算和支付功能。
- 用户旅程:用户在浏览商品时可以将商品添加到购物车中,并在结算时选择支付方式。
3.2 生成用户故事卡
提供用户故事的基础信息,LLM 将基于这些信息生成用户故事卡。用户故事卡通常包含角色、需求和目的。
用户故事卡示例:
作为一个注册用户,我希望能够将商品添加到购物车中,以便我可以在结算时购买这些商品。
3.3 使用 TQA(Think-Question-Answer)进行细化
TQA 模式帮助 LLM 主动提问以获取更多的细节,从而细化用户故事。
步骤 1:提供业务背景
向 LLM 解释整体解决方案和用户旅程。
业务背景示例:
我们正在开发一个在线购物系统。用户可以注册账户、浏览商品、添加商品到购物车、结算并支付。请基于这些信息生成用户故事。
步骤 2:生成用户故事卡
LLM 根据提供的信息生成用户故事卡。
用户故事卡示例:
作为一个注册用户,我希望能够将商品添加到购物车中,以便我可以在结算时购买这些商品。
步骤 3:提出问题以获取细节
LLM 主动提出问题以明确用户故事的细节。
LLM 提问示例:
为了更好地理解这个用户故事,我需要了解以下几个方面:
1. 用户在添加商品到购物车时是否需要选择数量?
2. 是否有商品类别的限制,例如是否支持所有商品还是仅支持特定类别?
3. 用户添加商品到购物车后,是否需要看到确认消息或其他反馈?
步骤 4:回答问题并完善用户故事
根据用户的回答,LLM 完善用户故事的细节,并编写验收条件。
用户回答示例:
1. 用户需要选择商品数量。
2. 支持所有商品类别。
3. 用户添加商品后需要看到一个确认消息。
完善后的用户故事示例:
作为一个注册用户,我希望能够选择商品数量并将商品添加到购物车中,并在成功添加后看到一个确认消息,以便我可以在结算时购买这些商品。
验收条件示例(Given/When/Then 格式):
Given 用户已登录并浏览商品页面,
When 用户选择商品并指定数量,然后点击“添加到购物车”按钮,
Then 商品应被添加到购物车中,并显示“商品已成功添加到购物车”的确认消息。
4. 处理 LLM 提出的问题
在 TQA 过程中,LLM 可能提出各种问题,我们可以根据问题的类型进行不同的应对:
-
基础概念或流程的误解:
- 应对方式:重新定义和修改业务背景,以确保 LLM 理解整体解决方案和业务流程。
- 示例:如果 LLM 提问关于“用户是否需要登录才能浏览商品”,这可能表明对整体解决方案的理解存在误解,需要重新确认业务背景。
-
操作的误解:
- 应对方式:重新修改用户故事,确保用户故事准确描述了操作流程。
- 示例:如果 LLM 提问“用户是否可以在结算后更改购物车中的商品数量”,这可能表明用户故事没有清晰描述相关操作,需要修改用户故事以包含这些细节。
-
交互细节的询问:
- 应对方式:在会话中直接回答交互细节问题,补充用户故事中的细节。
- 示例:如果 LLM 提问“用户点击‘添加到购物车’按钮后是否需要看到动画效果”,这属于交互细节,可以在对话中回答并补充到用户故事中。
5. 自动实现 TQA 的方法:Agent
在自动化 TQA 中,Agent 负责引导 LLM 提问并生成最终的用户故事和验收条件。以下是如何实现这一过程的步骤:
步骤 1:定义 Agent 的任务
确定 Agent 的任务,例如提问以获取详细信息并生成用户故事。
任务定义示例:
Agent 的任务是通过主动提问来获取用户故事的详细信息,并生成完整的用户故事和验收条件。任务包括设计问题列表、分析用户反馈并提供详细的用户故事和验收条件。
步骤 2:设计提问策略
制定策略,帮助 Agent 确定需要提问的具体内容。
提问策略示例:
Agent 应包括以下提问策略:
1. 识别用户故事的关键细节。
2. 提问以获取关于功能的具体要求。
3. 根据用户反馈生成验收条件。
步骤 3:实现自动化提问和回答
使用自动化工具(如对话系统)来实现提问和回答过程。
示例实现:
1. **用户输入**:我需要改进用户购物车功能。
2. **Agent 提问**:
- 用户是否需要选择商品数量?
- 支持所有商品类别吗?
- 需要显示确认消息吗?
3. **用户回答**:需要选择数量,支持所有商品类别,显示确认消息。
4. **Agent 生成用户故事和验收条件**:
- 用户故事:作为一个注册用户,我希望能够选择商品数量并将商品添加到购物车中,并在成功添加后看到一个确认消息,以便我可以在结算时购买这些商品。
- 验收条件:
- Given 用户已登录并浏览商品页面,
- When 用户选择商品并指定数量,然后点击“添加到购物车”按钮,
- Then 商品应被添加到购物车中,并显示“商品已成功添加到购物车”的确认消息。
步骤 4:评估和优化
定期评估 Agent 的表现,确保提问和回答的质量,并根据反馈进行优化。
总结
利用 LLM 辅助用户故事编写可以大大提升工作效率和准确性。通过提供整体解决方案和用户旅程作为业务背景,LLM 可以生成基础用户故事卡,并通过主动提问和回答进一步细化用户故事及其验收条件。针对 LLM 提出的问题,可以通过重新定义业务背景、修改用户故事或回答细节问题来优化用户故事。自动化实现 TQA 还可以通过定义明确的任务、设计提问策略和使用自动化工具来提高效率和精度。这样,团队可以更好地理解用户需求,并将其转化为具体的功能要求和验收标准。