什么是用户故事?
用户故事是
从用户的角度来描述用户渴望得到的功能。一个好的用户故事包括三个要素:
- 1.角色:谁要使用这个功能。
- 2.活动:需要完成什么样的功能。
- 3.商业价值:为什么需要这个功能,这个功能带来什么样的价值。
用户故事通常按照如下的格式来表达:
英文:As a <Role>, I want to <Activity>, so that <Business Value>.
中文:作为一个<角色>, 我想要<活动>, 以便于<商业价值>
举例:作为一个“网站管理员”,我想要“统计每天有多少人访问了我的网站”,以便于“我的赞助商了解我的网站会给他们带来什么收益。”
需要注意的是
用户故事不能够使用技术语言来描述,要使用用户可以理解的业务语言来描述。
Ron Jeffries的3个C
关于用户故事,Ron Jeffries用3个C来描述它:
- 卡片(Card) - 用户故事一般写在小的记事卡片上。卡片上可能会写上故事的简短描述,工作量估算等。
- 交谈(Conversation)- 用户故事背后的细节来源于和客户或者产品负责人的交流沟通。
- 确认(Confirmation)- 通过验收测试确认用户故事被正确完成。
用户故事的INVEST原则: INVEST = Independent, Negotiable, Valuable, Estimable, Small, Testable。一个好的用户故事应该遵循INVEST原则。
- 独立性(Independent)— 要尽可能的让一个用户故事独立于其他的用户故事。用户故事之间的依赖使得制定计划,确定优先级,工作量估算都变得很困难。通常我们可以通过组合用户故事和分解用户故事来减少依赖性。
- 可协商性(Negotiable)— 一个用户故事的内容要是可以协商的,用户故事不是合同。一个用户故事卡片上只是对用户故事的一个简短的描述,不包括太多的细节。具体的细节在沟通阶段产出。一个用户故事卡带有了太多的细节,实际上限制了和用户的沟通。
- 有价值(Valuable)— 每个故事必须对客户具有价值(无论是用户还是购买方)。一个让用户故事有价值的好方法是让客户来写下它们。一旦一个客户意识到这是一个用户故事并不是一个契约而且可以进行协商的时候,他们将非常乐意写下故事。
- 可以估算性(Estimable)—开发团队需要去估计一个用户故事以便确定优先级,工作量,安排计划。但是让开发者难以估计故事的问题来自:对于领域知识的缺乏(这种情况下需要更多的沟通),或者故事太大了(这时需要把故事切分成小些的)。
- 短小(Small)— 一个好的故事在工作量上要尽量短小,最好不要超过10个理想人/天的工作量,至少要确保的是在一个迭代或Sprint中能够完成。用户故事越大,在安排计划,工作量估算等方面的风险就会越大。
- 可测试性(Testable)—一个用户故事要是可以测试的,以便于确认它是可以完成的。如果一个用户故事不能够测试,那么你就无法知道它什么时候可以完成。一个不可测试的用户故事例子:软件应该是易于使用的。
转自:
什么是用户故事(User Story)?
分享到:
相关推荐
评估故事的规模通常采用故事点(Story Points),它是一种相对单位,可以基于理想人天(Ideal Man-days)来估算,即在不受打扰的最佳状态下完成故事所需的人力和时间。Sprint的长度通常为2到6周,开始时进行Sprint...
User Stories Applied: For Agile Software Development <br>by Mike Cohn <br>Publisher: Addison-Wesley Professional (March 11, 2004) <br> Agile requirements: discovering what your users...
用户故事(User Story)是敏捷开发中一种重要的需求表达方式,它以简洁明了的语言描述了用户的期望或需求,格式通常是:“作为一个[用户角色],我想要[做某事],以便于[达到某个目的]”。用户故事不仅有助于团队理解...
Agile User Story Mapping 敏捷和 Scrum 使用Scrum/LeSS/Nexus 流程画布进行单页 Scrum 项目管理。使用用户故事地图,亲和力表,Sprint 待办清单,Scrum 板和燃尽图管理待办事项。 了解更多 » CX & UX Design ...
敏捷开发手册还提到了用户故事(User Story),这是一种描述需求的方式,它将客户价值放在首位,从而编写出符合用户价值的用户故事。故事板(Story Board)和看板(Kanban)是敏捷开发中常见的工具,用来追踪项目...
在实践中,DevCloud强调敏捷生命周期管理,如客户联合敏捷、全功能团队、服务/微服务团队自治、产品管理、Epic-Feature-UserStory的需求管理、Scrum流程等。持续交付方面,通过服务/微服务架构、代码分支策略、持续...
在团队层面,它遵循Scrum的基本结构,通过产品负责人(Product Owner)和团队成员共同完成用户故事(User Story)的细化和实现。在计划层面,产品经理(Product Manager)将投资策略转化为具体的功能(Feature),并...
14. **用户故事 (User Story)**:在敏捷开发中,用户故事是从用户角度描述功能需求的一种方式,帮助团队理解最终用户的需要。 15. **极限编程 (Extreme Programming, XP)**:XP是一种敏捷方法,强调对客户需求的...