如何编写用户故事

如何编写用户故事

用户故事与功能需求的关系

在软件开发过程中,用户故事功能需求代表了不同的思考方式和侧重点:

  1. 用户故事:关注用户的视角,侧重于问题的定义。它强调的是“角色-价值对”,即“谁需要什么价值”。用户故事描述的是用户的需求和期望的结果,而不是具体的实现方式。

  2. 功能需求:聚焦于如何实现用户故事中描述的需求。功能需求具体描述了系统的功能和行为,是实现用户故事的方法之一。

用户故事的常用格式

用户故事的经典格式为:“作为 <角色>,我想要 <功能>,以便于 <价值>。”

  • 角色:描述用户是谁。
  • 功能:用户希望实现的操作或行为。
  • 价值:用户希望通过该操作实现的目标或收益。

示例

  • 用户故事:作为一个在线购物者,我想查看产品评价,以便于做出更好的购买决策。

用户故事的特性:Card、Conversation 和 Confirmation

用户故事的三个关键特性分别是:Card(卡片)Conversation(对话)Confirmation(确认)

  1. Card(卡片):用户故事应当简洁明了,通常以卡片形式记录,只包含核心的信息和目标。

  2. Conversation(对话):用户故事是沟通的起点,开发团队通过与用户的对话来澄清需求细节,补充卡片中未详细说明的部分。

  3. Confirmation(确认):通过验收标准来验证用户故事是否实现了预期功能,确保开发的结果与用户需求一致。

这三部分构成了用户故事的核心特性,反映了用户故事作为管理不可言说知识的工具:通过对话和确认补充卡片中的简要描述。

如何有效编写用户故事

1. 角色-价值与功能的区别

在用户故事中,角色-价值对是固定的,而功能是可协商的。这意味着用户故事的重点在于用户角色的目标和价值,而功能是实现这些目标的具体方式,可以根据实际情况进行调整。

示例说明

  • 用户故事:作为一个在线购物者,我想查看产品的评价,以便于做出更好的购买决策。
    • 角色:在线购物者。
    • 价值:做出更好的购买决策。
    • 功能(可变):查看产品的评价。这一功能可以通过文字评论、评分系统、视频评论等多种形式来实现。
2. 找到真正的价值

为了找到用户故事的真正价值,可以不断追问“为什么”,以深入挖掘用户的深层需求,确保价值陈述具体且直接相关。例如,从“查看评价”深入探讨到“做出更好的购买决策”,明确角色的核心目标。

3. 编写有意义的价值陈述

价值陈述应对用户而言有实际意义,并避免用功能性语言来描述。例如,“做出更好的购买决策”是清晰的价值陈述,而“查看评价”只是实现这一目标的方法。

用户故事拆分的关键

用户故事拆分的关键在于理解不同用户角色的目标,并围绕这些目标设计整体的业务解决方案。整体解决方案应包含以下要素:

  1. 核心概念:定义业务中的关键实体和概念,如订单、支付、评价等。

  2. 关键规则:规定系统的行为和逻辑,如评价审核规则、支付成功后才能发货等。

  3. 主要流程:明确角色如何在系统中实现其目标的步骤,如购物流程、下单流程等。

根据整体解决方案,我们可以设计不同角色的用户旅程,并从中拆分出具体的用户故事。

用户故事拆分步骤
  1. 找到不同用户角色的目标

    • 识别系统中的主要用户角色,并明确每个角色的核心目标。这些目标代表了用户在系统中希望实现的价值。
    • 例如,在一个电商系统中,角色可能包括购物者、卖家和管理员,各自的目标不同:
      • 购物者的目标:做出更好的购买决策、快速下单、确保订单安全。
      • 卖家的目标:有效管理库存、快速处理订单、提高商品曝光率。
      • 管理员的目标:监控系统安全、维护用户数据、确保交易合法。
  2. 设计整体解决方案

    • 根据用户角色的目标,设计一个整体的业务解决方案。整体解决方案应包含:
      • 核心概念:定义业务中的关键实体和流程,如订单、支付、评价等。
      • 关键规则:规定系统的行为和逻辑,如评价审核规则、支付成功后才能发货等。
      • 主要流程:明确角色如何在系统中实现其目标的步骤,如购物流程、下单流程等。
  3. 设计不同角色的用户旅程

    • 基于整体解决方案,为不同用户角色设计用户旅程,描述角色在系统中的具体操作路径。
    • 例如,购物者的用户旅程可能包括:浏览商品 -> 查看评价 -> 加入购物车 -> 下单 -> 支付。
  4. 从用户旅程上切分用户故事

    • 将用户旅程拆分为独立的用户故事,每个故事代表旅程中的一个步骤,或者满足整体解决方案中的某个规则或流程。
用户故事拆分示例

背景:设计一个在线购物平台的整体解决方案。

  • 购物者的目标:快速找到合适的商品、了解商品评价、顺利完成购买。

  • 整体解决方案:包含浏览商品、查看评价、添加到购物车、下单、支付等主要流程。

  • 用户旅程设计

    • 购物者旅程
      1. 浏览商品列表。
      2. 查看商品详情和评价。
      3. 将商品加入购物车。
      4. 下单并完成支付。
  • 切分用户故事

    1. 作为购物者,我想浏览商品详情,以便于了解商品的特点和价格。

      • 目标:帮助购物者快速了解商品。
      • 核心概念:商品信息。
      • 流程:展示商品详细信息。
    2. 作为购物者,我想查看商品的评价,以便于做出更好的购买决策。

      • 目标:做出更好的购买决策。
      • 核心概念:评价系统。
      • 流程:展示用户评价和评分。
    3. 作为购物者,我想将商品加入购物车,以便于稍后下单购买。

      • 目标:灵活购物,方便决策后下单。
      • 核心概念:购物车。
      • 流程:将商品加入购物车,暂存待购。
    4. 作为购物者,我想完成订单支付,以便于尽快获得商品。

      • 目标:顺利完成购买,获得商品。
      • 核心概念:支付流程。
      • 流程:支付成功后生成订单。

用户故事作为不可言说知识的管理工具

用户故事不仅是一种需求表达方式,更是一种不可言说知识的管理工具。通过简洁的描述引发对话,团队通过讨论来补充用户故事中的细节,从而更深入地理解用户的实际需求。

LLM 在用户故事编写和拆分中的应用

LLM(大语言模型)可以大大提升用户故事编写和拆分的效率。它可以快速生成用户故事、分析用户目标、设计用户旅程,并从旅程中拆分出独立的用户故事。

LLM 应用示例
  1. 输入用户需求

    用户需求:购物者希望查看产品评价,以便于做出购买决策。
    
  2. LLM 生成用户故事

    输出:
    - 作为一个购物者,我想查看产品的评价,以便于做出更好的购买决策。
    
  3. 识别角色和价值,设计整体解决方案

    输入:分析用户故事的角色和价值,找出目标和相关规则。
    输出:
    - 目标:帮助购物者获取信息做决策。
    - 规则:评价应真实、易读、及时。
    
  4. 设计用户旅程并生成用户故事

    输入:设计购物者的用户旅程,并根据每一步生成用户故事。
    输出:
    - 用户旅程:浏览商品 -> 查看评价 -> 选择购买。
    - 用户故事拆分:
      1. 作为购物者,我想浏览商品的详细信息,以便于了解商品特点。
      2. 作为购物者,我想查看商品的评价,以便于做出更好的购买决策。
      3. 作为购物者,我想快速完成支付,以便于尽快获得商品。
    

用户故事的三种写法

通过 LLM,可以根据

以下三种方式撰写用户故事:

  1. 满足用户角色的目标

    • 示例:作为一个购物者,我想查看产品的评价,以便于做出更好的购买决策。
  2. 满足整体解决方案的规则或流程

    • 示例:作为一个购物者,我希望系统在支付后自动生成订单,以便于顺利完成购买流程。
  3. 促进用户旅程的下一步

    • 示例:作为一个购物者,我想将商品加入购物车,以便于在浏览多个商品后一起购买。

通过这种方法,用户故事能更加贴近实际用户需求和系统功能,从而提升软件开发的效率和用户满意度。

在 LLM 时代如何有效编写用户故事

  1. 聚焦角色-价值对:利用 LLM 生成用户故事时,确保故事反映角色的目标和价值,功能的具体实现可以灵活调整。

  2. 逐步生成解决方案:从用户故事出发,分析用户目标和价值,利用 LLM 辅助生成多样化的功能需求作为解决方案。

  3. 不断迭代和优化:借助 LLM 快速生成不同版本的用户故事和功能需求,反复调整,确保用户故事与用户需求紧密匹配。

总结

在 LLM 时代,用户故事的编写应始终优先聚焦于问题定义,即角色-价值对,避免直接陷入解决方案的细节。通过有效地拆分用户故事,设计合理的整体解决方案和用户旅程,能够确保开发工作始终围绕用户的核心需求展开。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值