一、什么是用户故事
用户故事描述了对用户、系统或软件购买者有价值的功能。一个好的用户故事包括三个要素:
1.角色:谁要使用这个功能。
2.功能:需要完成什么样的功能。
3.价值:为什么需要这个功能,这个功能带来什么样的价值。
二、如何编写用户故事
故事应该很清晰地体现对用户或客户的价值,最好的做法是让客户团队来编写故事。客户团队应包括能确定软件最终用户需求的人,可能包括测试者,产品管理者,真实用户和交互设计师。因为他们处于描述需求的最佳位置,也因为随后他们需要和开发者一同设计出故事细节并确定故事优先级。
为了构造好的用户故事,我们关注六个特征。一个优秀的故事应该具备以下特点:

a.独立的(Independent)— 我们要尽量避免故事间的相互依赖。在对故事排列优先级时,或者使用故事做计划时,故事间的相互依赖会导致工作量估算变得更加困难。通常我们可以通过两种方法来减少依赖性:1.将相互依赖的故事合并成一个大的、独立的故事;2.用一个不同的方式去分割故事。
b.可讨论的(Negotiable)— 故事卡是功能的简短描述,细节将在客户团队和开发团队的讨论中产生。故事卡的作用是提醒开发人员和客户进行关于需求的对话,它并不是具体的需求本事。一个用户故事卡带有了太多的细节,实际上限制了和用户的沟通。
c.对用户或客户有价值的(Valuable)— 用户故事应该很清晰地体现对用户或客户的价值,最好的做法是让客户编写故事。一旦一个客户意识到这是一个用户故事并不是一个契约而且可以进行协商的时候,他们将非常乐意写下故事。
d.可估算的(Estimable)—开发团队需要去估计一个用户故事以便确定优先级,工作量,安排计划。但是让开发者难以估计故事的问题来自:1.开发人员缺少领域知识;2.开发人员缺少技术知识;3.故事太大了。
e.小的(Small)— 一个好的故事在工作量上要尽量小,最好不要超过10个理想人/天的工作量,至少要确保的是在一个迭代或Sprint中能够完成。用户故事越大,在安排计划,工作量估算等方面的风险就会越大。
f.可测试的(Testable)— 故事必须是可测试的。成功通过测试可以证明开发人员正确地实现了故事。如果一个用户故事不能够测试,那么你就无法知道它什么时候可以完成。一个不可测试的用户故事例子:用户必须觉得软件很好用。
三、用户角色建模
在很多项目中,需求分析人员只是从一个角度编写用户故事,这样往往容易忽略一下需求(故事)。所以在编写用户故事前识别用户角色和虚拟人物有很多好处。
角色建模的步骤:
1.通过头脑风暴列出初始的用户角色集合:每个人要做的只是尽量在卡片上写出自己想到的角色。
2.整理最初的角色集合:对于有重叠的角色,把它们相应的卡片重叠在一起。
3.整合角色:在角色分组完成后,试着整合及浓缩角色。
4.提炼角色:一旦我们整合好角色,并且对角色之间的关系有了一个基本的了解,就有可能通过给每个角色定义一些特征来建立角色的模型。

虚拟人物,可以考虑一两个主要的用户角色写下虚拟人物定义,从虚拟人物的角度描述会使故事变得更加生动。例如:

四、如何搜集故事
带薪学习期间,第一个学习外的工作内容。那我是站在“用户”、“顾问”这两个角色上写出了一个接一个的用户故事去帮助技术人员…

考虑每个故事,然后问类似下面的一些问题:
1.关于这个故事,程序员还需要知道什么?
2.对怎么实现这个故事,我的想法是什么?
3.有没有一些特殊情况会使这个故事有不一样的行为?
4.这个故事在什么情况会出错?

五、优秀的用户故事准则
优秀用户故事的一些准则:
1.试着让故事的大小能够在使用后让用户感到可以去喝杯咖啡休息一下;
2.不要让故事过早涉及用户界面;
3.实际编写故事时,要包括用户角色;
4.用主动语态编写故事;
5.为单个用户编写故事;
6.让客户编写故事,而不是开发人员;
7.用户故事要简短,它们只是提醒开发人员和客户进行对话;
8.不要给故事卡添加编号。
六、故事卡效果

PS:
a.卡片背面书写完成用户故事的规则和完成标准,格式为:Given…When…Then。(given一个情景,when一个条件,then一个结果)
b.例子,一个站在买家立场的用户故事: 作为一个买家,我希望能浏览所有同类商品的图片和价格,这样我能全面地比价并找到最适合我的商品

第一次接触到用户故事,很多都是参考资料跟一些博客整理出来的,希望这篇可以帮助大家节省时间再去搜索。

用户故事讲解(看最后的例子,你应该就知道怎么样写用户故事了)相关推荐

  1. 自媒体全是带节奏的标题党,不是创作者不行,而是用户们想看

    一直以来标题党们,都占据着流量池里,很大的一部分.不论是大鱼号UC的"震惊部",还是QQ看点的"青铜这样,白银这样,而王者巴拉巴拉".都充斥着满满的套路味道,就 ...

  2. var和let和const_用故事讲解JavaScript的var,let和const变量

    var和let和const by Prarthana S. Sannamani 通过Prarthana S.Sannamani 用故事讲解JavaScript的var,let和const变量 (Jav ...

  3. linux小红帽实验心得,小红帽的故事心得 看过之后90%的人都会写

    3 小红帽的故事心得范文推荐 小红帽的故事心得范文一 今天,我读了<小红帽>,非常有感受,我想在此跟大家讲一讲. 一天,小红帽去奶奶家,在路上遇到了狡猾的灰狼,他骗了小红帽和她奶奶,在小红 ...

  4. 产品:详解史诗、用户故事、拆分、验收标准、待办事项、用时预测、故事卡

    目录 一.史诗(Epics) 二.拆分 (break down ):史诗-用户故事 三.验收标准(Acceptance Criteria) 四.待办事项列表(Backlog) 1. 优先级(Prior ...

  5. html5蚂蚁森林种树效果,蚂蚁森林种树1314万棵:写个故事你也能去看

    原标题:蚂蚁森林种树1314万棵:写个故事你也能去看 [PConline资讯]截至2017年底,支付宝的蚂蚁森林已累计种植和维护真树1314万棵,守护12111亩保护地,分别位于内蒙古阿拉善.鄂尔多斯 ...

  6. Centos 建立一个新用户 详细讲解

    转载: http://www.centoscn.com/CentOS/help/2013/0725/597.html 建立一个新用户 修改用户的个人设置 文件目录的权限设置 两个重要文件:passwd ...

  7. java比go难学_为什么Go比Java快这么多?看完这个例子就懂

    一,前言 本次小测试并不是试图说明Go是java的替代,Go lang和Java本就不是实现相同类型任务的语言 :Java是企业开发语言,而Go是系统编程语言.为什么Go比Java快这么多?看完这个例 ...

  8. 从用户观点对计算机如何分类,从用户的观点看操作系统是

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 从用户的观点看操作系统是用户与计算机之间的接口.从方便用户使用的角度看,操作系统是一台虚拟机,是对计算机硬件的首次扩充,隐藏了硬件 ...

  9. 最暖的10个小故事,看完心都融化了

    最暖的10个小故事,看完心都融化了 1 他们一家搬了新家,隔壁的男主人是位人民警察. 他的孩子平常有点咋咋呼呼,每次放学回家,都会很用力地敲门,边敲边喊:"爸爸,快给我开门." 即 ...

  10. 4399AT自动化工具多设备不同用户登录讲解

    本期主要讲关于4399AT的多设备兼容测试,也就是多设备运行和账号分配,对于多设备运行,是基于appium框架运行,所以是通过多线程启动不同server端口,进行多设备运行,在这期间要注意变量的变化: ...

最新文章

  1. @class和#import
  2. js解决异步的方法汇总
  3. html背景图片自适应纵向,HTML5 body设置全屏背景图片 如何让body的背景图片自适应整个屏----实战经验...
  4. Centos6 安装RabbitMq3.7.7
  5. java四则运算器算法_java写的四则运算器
  6. 为什么EClipse不显示错误
  7. 话里话外: 信息化与高层参与度的关系
  8. Guava入门~MoreObjects
  9. C++ Primer 第五版读书笔记
  10. 轻快pdf阅读器 电子书阅读软件电脑版
  11. 《第一行代码第三版》总结篇
  12. word2vec模型
  13. 开关电源—Buck电路原理及其仿真
  14. java小红球下载_小红球闯关
  15. web前端大作业 (仿英雄联盟网站制作html css javascript) 学生dreamweaver网页设计作业
  16. 分区命令详解:用Fdisk命令硬盘分区
  17. F5 Networks:应用交付的“4G”挑战
  18. 如何搭建自己的微信公众号?
  19. linux下/proc/pid/maps和pmap命令详解
  20. elementUI表格气泡乱串、闪烁、位置偏移问题解决(自制气泡,计算位置,箭头永远指向当前元素)

热门文章

  1. SQL Server2005+SQL Server2000下载
  2. 华为数通HCIA——网络架构
  3. 控制教程 —— 介绍篇:3.PID控制器设计
  4. 遥感大辞典_学遥感必读的十本书
  5. 如何运用创客匠人微信小程序实现引流拓客?
  6. 为什么老实人很难当上领导?因为他们身上有这个致命弱点
  7. 使用python调用浏览器实现自动转发微博
  8. 计算机操作系统第4版期末复习
  9. xposed 入门之修改手机 IMEI
  10. 画图软件gliffy