敏捷开发与项目管理

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

2020-01-09  本文已影响0人  XBruce

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都应该是模块化的,因为它们捕获了业务功能。如果描述正确的话,不应该发生由于技术上的依赖关系而产生冲突。

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

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

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

上一篇 下一篇

猜你喜欢

热点阅读