什么是用户故事?
用户故事是
从用户的角度来描述用户渴望得到的功能。一个好的用户故事包括三个要素:
- 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)?
分享到:
相关推荐
硝烟中的scrum 和 xp —— 我们如何实现scrum 李剑译 本书由InfoQ中文站免费发放。
Getting Agile with Scrum Mike Cohn Scrum is one of the leading agile software development processes. Over 12,000 project managers have become certified to run Scrum projects . Since its origin on ...
这是一本微软出版的书,着重讲述敏捷编程的软件工程管理。 语言:英文
个人准备的介绍Agile意涵和Scrum 方法 的讲解PPT,可以用来理解Agile 和Scrum 之间的关系,给新人讲解
ORACLE-Agile-PLM方案介绍.ppt
Introduction to Scrum 3 Roles: Product Owner : Responsible for defining the features that are needed in the product. Has the bright ideas that turn into products. ScrumMaster: Servant leader to the...
Agile-PLM系统简介.pdf
An anthology of essays on testing approaches tools and culture by testers for testers
Succeeding with Agile - 英文
Wi-Fi-Agile-Multiband-Technical-Specification-v1.4
Agile-Data-Warehouse-Design-From-Business-Models-to-BI-Models 敏捷数据仓库开发, presentation文档
原生动态sql解析支持 依靠agile-sql(动态sql解析器)实现jpa中对sql语法段的动态解析,弥补其在动态sql解析方面的短板。面对复杂查询语句将不再是难点。内置slq分页与jpa分页 JPA风格的Do类对象操作形式分页与原生...
agile-bpm-basic-master.zip
python库。 资源全名:agile-analytics-0.5.tar.gz
PMP还是Agile-Scrum-Master? 那个认证最有用?
标签:agile-eci-base.jar.zip,agile,eci,base,jar.zip包下载,依赖包
多个敏捷团队之间的版本控制(Agile-version-control-with-multiple-teams-InfoQ-v1.3)
AGILE-~1.ZIP
The Essence of Agile - Dean Leffingwell(English)
2007-ZENIC-Agile-Beam Phased Array Radar for Weather Observations