什么是用户故事?
用户故事是从用户的角度来描述用户渴望得到的功能。一个好的用户故事包括三个要素:
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? 什么是User Story? 好的User Story有哪些特点? User Story的生命周期是什么样的? 切分User Story的小技巧
对与敏捷开发技术,对于user story 的分析是很重要的
User Story在敏捷开发过程中的应用 在这本书中,Mike Cohn提供了一种如何编写User Stories以及如何在软件开发生命周期中运用它们的详尽蓝图。
敏捷开发使用用户故事描述需求
用户的故事 ###我的第一个node.js项目一个基于堆栈的实时Web应用程序,允许用户创建故事并阅读它们。 用户使用jwt软件包模块注册/登录后,便会进行正确的身份验证。
用户故事介绍User Story的目标是设计和展示一个可扩展的后端基础设施,提供一个 Web 界面,允许用户以简单直观的方式请求新功能并提供反馈。 用户可以在他们的故事中附加文件来解释他们想要什么。 然后管理员可以...
user story在敏捷开发过程中的应用
人机交互+记事本设计+界面设计+需求设计+概念设计+userstory 逻辑设计 从User Story的描述得知用户期望的电子记事本是记事本、日历以及通讯录的综合,因此可以尝试将三者结合起来,通过超链接实现用户的需求。
用户建模方法的使用,不是很全^_^;但关键部分很明确,是很好的用户为中心的设计的指导材料
用户的故事这只是MEAN教程的结果。
用户故事图谱UserStoryMapping.传统的产品待办项列表(ProductBacklog)相对于传统管理办法是一个巨大的进步,但是仍然存在一些问题:只见树木不见林重要的待办项容易淹没在各种细节中看不到全貌因而难以排列优先级 ...
本文主要讨论敏捷软件开发中的用户故事(UserStory)估算。估算方法有很多,但大体上分为绝对估算和相对估算。在本文中,“绝对估算”就是指以绝对时间(如小时或天)为单位进行估算。而“相对估算”就是通过用户...
User Stories Applied: For Agile Software Development 用户故事与敏捷方法 --带目录、可搜索
User Story.NET 是极限编程项目的跟踪器和管理器。 它跟踪项目的用户故事或用户故事。 它目前是在 Microsoft SQL 服务器上用 ASP.NET / C# 编写的。
本文来自于冰块IT观察,什么是用户故事地图?本文结合这一次实战工作坊的实际案例,给大家条分缕析。我们下面从有关需求的常见问题出发,来看一看我们经常会遇到什么样的问题。开始之前,我们对每位参加的学员做了...
用户故事方式来介绍产品规划,英文版,一边学英文,一边学产品!
一个完整的产品Backlog=估点的用户故事(UserStory,之后统称为Story)+优先级+验收标准。那为什么Story是作为描述产品Backlog最好的形式?我们又如何编写有效并且粒度合适的Story来帮助团队成员在理解需求上达成一致...
用户的故事使用 NodeJS、Angular 和 Mongo DB 的用户故事应用程序