美文网首页敏捷开发与项目管理
[Scrum敏捷开发之] User Story三要素详解

[Scrum敏捷开发之] User Story三要素详解

作者: XBruce | 来源:发表于2020-01-09 11:06 被阅读0次

User Story的三个组成部分:

  • 价值声明
  • 设想
  • 验收标准

其格式通常如下所述:
As a...[Who]...I want to...[What Functionality Desired]...in order to...[Why It's Important].

"Who" 指直接使用产品或者使用产品输出信息的人。重要的是,如果这个用户在项目章程中没有明确定义,那么将由PO在得到stakeholders一致同意的情况下添加进章程。这确保了在将术语“End User”放入值语句的[Who]部分时,有一个清晰的理解。通常“End User”太模糊了。它应该是一个描述性的标题,如“研究图书馆员”或“战斗机副驾驶”等。

"What" 应该是正在构建的组件的最重要方面。通常因为产品特性服务于多个用户和并且有不同的需求和期望,所以不同的用户描述看起来是相互竞争的。当新产品特性或组件创建了多种类型的值或输出时,请确保将值语句中的值作为优先级。当新的产品特性或组件创建了多种类型的价值或输出时,请确保将优先级最高的放到价值声明中。优先级很重要,因为一个为所有角色做所有事情的产品,最终会无法对任何角色提供好的服务。
最重要的是,“What”或“功能需求”应该以业务术语中陈述,比如:
I want to Login Using My User Name and Password --- WRONG!
I want to access my account --- RIGHT!

"Why It's Important" 部分的定义是大多数User Story的败笔。这对于经验不够丰富和刚开始接触Scrum的团队来说是真实存在的。最容易犯的错误就是简单地用另一种方式重申“What”。正确的姿势应该如下:
比如: "I want to log in to access my account." 如上所述,其中恰当的 "What" 为 "access my account." 那么“Why”呢:

  • 为了查看通知
  • 为了分配任务
  • 为了查看心仪球队的排名

这一点至关重要,“Why”关乎Feature和功能,其他不那么重要的则属于假设。

其他要点:

  • 设想包含一系列
    • 由用户故事创建的不太重要的价值
    • 捕捉关于“为什么User Story重要”的一些细节
    • 识别从前到后所有任务/工作/组件等可能存在的约束条件
    • 识别所有的标准/影响/参考的架构等
    • 这个User Story为什么重要的其他原因
    • 可以限定验收标准以及价值声明
    • 唯一不需要列在这里的信息是由DoD定义的标准规程
  • 验收标准-并不是重申价值声明
    • 需要清晰的定义最主要的测试用例
    • 必须指定产品增量应该满足的性能或负载要求
    • 必须全面详细的描述用以结束完成该Story的所有测试

最后,需要注意的是,所有的User Story都应该是模块化的,因为它们捕获了业务功能。如果描述正确的话,不应该发生由于技术上的依赖关系而产生冲突。

Product Backlog中的User Stories由Product Owner负责维护,一旦转移到Sprint Backlog,那么将由研发团队维护。研发团队可以更新Story的备注,但是不可以更改价值声明/设想以及验收标准,除非得到 PO和团队成员的一致同意。

所有的用户故事由项目的DoD来支配。虽然DoD关注的是结束一个故事的流程,实际上它也是用户故事隐含的“第四要素”,DoD捕捉用户故事中定义的完成该故事的所有需求,比如:

  • Standard approvals,
  • Stakeholder评审
  • Prototyping (if required)
  • Documentation (for sustainability, reporting, etc.)
  • Design constraints (for compliance, integration, etc.)

这样,DoD有助于将声明和描述模块化到一个用户故事中。但它也提供了一套关于质量控制和可持续性的清晰的期望。

相关文章

  • [Scrum敏捷开发之] User Story三要素详解

    User Story的三个组成部分: 价值声明 设想 验收标准 其格式通常如下所述:As a...[Who]......

  • 《长安十二时辰》之敏捷开发Scrum

    《长安十二时辰》之敏捷开发Scrum 敏捷开发 长安十二时辰 我做事,不讲规矩 scrum 本是用于开发、交付和持...

  • 敏捷开发之Scrum扫盲篇(转载)

    敏捷开发之Scrum扫盲篇 现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落...

  • 火星人敏捷开发手册笔记

    火星人敏捷开发手册笔记 Scrum敏捷开发方法 Scrum敏捷开发过程由多个冲刺(sprint)组成,每个冲刺表示...

  • 用户故事的前世今生

    “用户故事”(User story)是敏捷开发中产品需求方面一个重要实践方法,每一个参与敏捷开发的成员都需要了解、...

  • 敏捷测试

    1. 敏捷开发测试背景知识 敏捷是什么? 敏捷宣言 1.1 Scrum过程 Scrum概览 - Scrum是一种兼...

  • 敏捷开发思维(一)

    敏捷开发(Agile Scrum Methodology)背景: Agile Scrum Methodology ...

  • 测试知识

    敏捷开发之Scrum Scrum开发流程中的三大角色:产品负责人(Product Owner),流程管理员(Scr...

  • 关于Daily Scrum每日站会

    敏捷项目管理-Scrum 什么是Scrum? Scrum是专注于迭代式软件开发管理的敏捷项目管理方法。 项目团队构...

  • [Scrum敏捷开发之] Sprint开发过程详解

    首先,讲解下Sprint开发过程的一些原则: 每日站会 - 面对面的交流,省去协调“日程安排”需要的时间 全员参加...

网友评论

    本文标题:[Scrum敏捷开发之] User Story三要素详解

    本文链接:https://www.haomeiwen.com/subject/mdmsactx.html