早期用户故事写在卡片上,只需一个句子。随着越来越多的系统和产品采用敏捷开发,对于有些复杂长生命周期的系统和产品而言,用户故事的内容值得积累,以便后续追查和修改。另外一个情形是为了确保用户故事真的完成,需要在前期就明确其验收条件(也翻译为接收条件),因此曾几何时开始,用户故事的写法成了 用户故事经典句式+验收条件。
在https://blog.versionone.com/agile-acceptance-criteria/ 上提供了如下一个故事的样例。

As an executive, I want to be able to filter the dashboard by department so that I can isolate data by a specific department.【翻译:作为一个高层管理者,我想要根据部门来查看仪表板,这样我区分不同部门的表现。】

Acceptance Criteria:【验收条件】
● Given the Executive Dashboard default view, when I select the department drop-down, I have the ability to select a specific department to so only that data throughout the dashboard. 【给定:在高管仪表板缺省视图上,当:我选择部门下列列表时,然后:我可以选择一个指定的部门,这样只有这个部门的数据呈现到仪表板】
● Given the department drop-down, when I select a specific department, the entire dashboard filters to display only that department data.【给定:部门下拉列表,当:我选择一个部门,整个仪表板只显示这个部门数据】

遗留需讨论的问题有
1. “Hey Product Owner, does the Executive need to be able to Multi-select several departments?”
2. “How about grouping by division?”
3. “who can access the Executive Dashboard”

以上的故事正文就是故事经典句式所带来的一句话,加入了2个GWT。
利用上述格式,如果各类情况出现多的话,就会需要许多条GWT。

笔者综合用例规约写法,认为采用讲故事方法可以带来更好的故事表达方式。方法是把功能性验收条件采用正常步骤和异常步骤组合来表达,把非功能性验收条件作为非功能性要求来表达。具体而言,采用如下的故事格式。
故事标题:考虑卡片尺寸
故事简要说明:采用经典的故事一句话说明
故事起点:说明故事从哪里开始,其上下文
正常步骤:
1,采用流水号编号
2,此为示例
异常步骤:
1a,根据正常步骤编号来说明哪个正常步骤出现异常。
非功能性要求: 这里说明非功能性要求,功能性要求在上述步骤中说明

按照笔者的故事叙述方法(也称为讲故事方法,Story telling),试着来改写下以上故事,看看两个不同方法的比较。【此括号为说明,不是故事的内容】
Title标题: filter the dashboard by department
根据部门来查看仪表板
【简短的故事标题有利于看板展现和交流】
Brief 简介
As an executive, I want to be able to filter the dashboard by department so that I can isolate data by a specific department.
作为一个高层管理者,我想要根据部门来查看仪表板,这样我区分不同部门的表现。

Start Point 故事起点: the dashboard is shown
仪表板已经得到展现。【明确整个故事的起点,有利于展开后续的故事情节】
Normal Steps 正常步骤
【这下面的步骤是达成故事成功进行的,达成故事的目的】
1. executive select the department drop-down
2. system list all departments in drop-down
3. executive choose a specific department
4. the entire dashboard filters to display only that department data.
○ 4.1 department data is grouped by division(@furture,此标记意味着本次不包括,未来再考虑).
1,高管选择部门列表
2,系统列出所有部门名称
3,高管选择某个部门
4,仪表板只显示这个部门的数据
4.1 根据大区分组来查看部门数据(@未来)
Abnormal Steps:异常步骤
【这下面的步骤是上述正常步骤中可能碰到的异常步骤,3a意味在是第3步正常步骤出现的第1个异常情况】
● 3a executive choose 2+ departments by shift click or multi-selection, only first department will be choosen
3a,高管通过shift click或者多选,选择了2+个部门,系统只处理被选中的第1个部门

对于who can access the Executive Dashboard这个问题,本用户故事的起点是dashboard is shown,因此这个问题不在这个用户故事的范围之内,应当是在show dashboard那个故事当中。

综上,新的故事写法就说明完成了。需要说明的是虽然模仿了用例规约的写法,但与用例规约最大的差别是故事叙述不强制要求全面完整,而是按照敏捷拥抱变化的思想,在过程中按需补充。
这样做法明显的好处有:
1,对比GWT写法,所用文字更加简练,而且按步骤阅读,可读性更好
2,在WIKI类工具支持下,可以非常方便的向下分解,可以容易地把大故事拆分成小故事。

让用户故事真的像故事那样相关推荐

  1. 嚇人的五篇鬼故事‥真的頗恐怖

    嚇人的五篇鬼故事‥真的頗恐怖你怕不怕? 嚇人的五篇鬼故事 1.暗撫 的手 小孩生日,爸爸媽媽很開心, 於是幫他拍錄像. 小孩在床上跳啊,跳啊... 卻不小心摔到地上死了. 爸爸媽媽很傷心 過了幾個月, ...

  2. 如何撰写品牌故事?品牌故事软文撰写技巧分享

    你听过哪些有温度的品牌故事?我首先想到的是香奈儿: 我的生活不曾取悦于我,所以我创造了自己的生活. 这是香奈儿的创始人可可·香奈儿给世人留下的一句话,也是她一生的真实写照. 她被后人看作女性解放和独立 ...

  3. 68个经典励志小故事|哲理小故事,让你终身受益(2)

    人生路上,你是不是常被一些莫名奇妙的问题困扰?生活的迷茫.职场的紧张有时候会压得你喘不过气来,也许本篇文章的68个经典励志小故事和哲理小故事能缓解你的压力,同时给你一点启发,一些感悟,这些励志故事和哲 ...

  4. 家长育儿必备,孩子身边的故事大王《故事口袋-听听》免费下载

    "故事之于孩子,就像牛奶,得天天喝,饿了就喝,像阳光和空气,需要随处可见,触手可及!" --<喂故事长大的孩子>台湾著名亲子作家汪培珽 [听故事,有需求] 很多孩子都喜 ...

  5. 二冲港交所,嘀嗒出行“顺风车领头羊”的故事真的动听吗?

    天花板越走越窄的嘀嗒出行,"二战"港交所能成功吗? 一直以"小而美"模式生存于共享出行赛道上的嘀嗒出行,重新向港交所递交招股书.招股书显示,在2019年,嘀嗒出 ...

  6. 敏捷的Scrum用户体验设计爱情故事

    For those who are working in a software development environment, the word "Agile" is omnip ...

  7. java游戏应龙女魃转世_女魃和应龙真的有故事?应龙与女魃的爱情故事揭秘

    导语:在中国神话故事中,爱情的元素是必不可少的.应龙和女魃都是神话中的人物,看似两者关系不大,但是据说他们也发生了一段故事,下面和探秘志一起看看应龙与女魃的爱情故事吧. 应龙和女魃分别是什么 在中国古 ...

  8. 献结程序员的一个故事——管道的故事

    管 道 的 故 事 在新经济里,如何让一个人都可以建立一个持续世袭收入的管道? 你可以成为邻家的百万富翁! 亲爱的读者: 一百年前,普通人几乎不可能成为百万富翁.来看看这份在20世纪所做的生活水平状况 ...

  9. 关于友情的励志故事------火炉的故事

    听过一个故事: 一位抱柴火的人坐在寒冷的夜里,对着一只因缺柴而熄灭的大火炉叫道:"你什么时侯给我以温暖,我什么时侯才会给你添柴."殊不知,你不先给火炉添柴,火炉怎会给你温暖? 我们 ...

最新文章

  1. Lintcode 973 解题思路及c++代码
  2. mysql varchar 225 和 varchar 60 区别
  3. 感悟:web前端工程师该如何定位
  4. Toast 使用方法大全
  5. 9个元素换6次达到排序序列_全面讲解十大经典排序算法(Python实现)
  6. singleton pattern的推荐实现
  7. [Luogu] P4626 一道水题 II
  8. JAVA输入jdb,解决 JAVA 单步调试键盘输入被 JDB 占用的问题
  9. 初次跑CNN进行掌纹识别遇到的问题
  10. 重装fedora17之后的一些配置
  11. dba怎么报考_2019年报考DBA需要什么条件,要求是不是很高?
  12. 找7的倍数和含有7的数问题
  13. php tip,jQuery tip提示插件详解
  14. fis3 的release -cwL
  15. k8s aggregated api的编写思路
  16. 城市三维地下管线管理系统
  17. esp8266 获取 NTP 实时时间
  18. java调用js匿名函数参数,js中匿名函数和回调函数
  19. 论文阅读笔记|NNLP: A Primer on Neural Network Models for Natural Language Processing - Yoav Goldberg 2015
  20. Win10+vm15.5.6虚拟机+unlocker3.0.3+“Intel VT-x处于禁用状态”解决方案+安装Sketch软件+汉化(mac系统)

热门文章

  1. c语言天花板和地板,父母有两种,一种是天花板,一种是地板,你是孩子的啥?...
  2. 分类型变量预测连续型变量_终于弄清楚java的变量与类型了!
  3. Windows内核读写自旋锁EX_SPIN_LOCK
  4. python中延时函数_python中实现延时回调普通函数示例代码
  5. 配置token_Nginx常用的配置
  6. Linux配置基础命令
  7. servlet后台如何接受multpartfile_Servlet进阶教程(你不得不知道的Servlet知识点)
  8. 如何从零开始搭建知识图谱?
  9. nvidia-smi命令显示NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver
  10. java bs架构书_基于BS架构的图书借阅管理模块的分析与设计(JSP+MySQL)(新品)