这是敏捷开发用户故事系列的第二篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九)

敏捷开发中的用户故事采用的语法模式看似简单,却蕴含着深刻的思想。

“作为一个……,可以……,以(以便)……”不同于一般专注于功能的需求条目描述方法,三个……把角色、功能、价值跃然纸上。然而使用不当,却有可能形似而神不似。

下面就三个部分分别举出一个例子。

网络游戏的排行榜功能

“作为一个玩家,可以通过显示排名,以便让自己在服务器中的地位获得认可。”

这个功能可以激发玩家的“斗志”,鼓励购买道具,是个不错的想法,但实现起来却有技术问题:服务器中的玩家太多了,实时查看排名非常不现实。另一个问题是小虾米们其实对自己的排名不太关心,即使关心,也不会为了提升排名去购买道具,只有一批(也有上百个)顶级大佬才会真正受此蛊惑。

这个故事后来被改为:每周重新排名一次,而且只显示TopXXX(很像csdn的“排名两万以外”)。所以如果写成故事,就变成:

“作为一个排名靠前的付费玩家,可以通过显示排名,以便让自己在服务器中的地位获得认可(以刺激消费)。”

当然,对小虾米们也有刺激消费的方法,比如打怪掉落了一个很棒的道具,却要花钱买打孔材料和镶嵌宝石,即使用保健因素而非激励因素让他们消费,那是另外一个故事了。笔者曾经体验过的一个游戏中有帮派战争,大号会争当“连斩狂客”,小号则有“寻宝冠军”可得,且人人均有积分,因此各层人物都争相参加。

这个故事让我们理解到:“用户”这个词太笼统了,如果他们的“价值观”差别很大,就要分别为他们写故事,才能吸引他们使用功能,达成价值观。

权限查询功能

“作为管理员,可以查询所有用户的权限,以了解所有用户的权限”。

一种很常见的写之无味不写不行的故事,因为好像功能=价值。其实管理员不会平白无故地查看所有用户权限的,多半有其目的:有人反映自己访问不了某个文件,有个项目死活加不上新用户,有人刚刚离职,有三个外包团队的人需要在最近三个月在项目中作为成员一起工作……

知道这些就好多了,当点击“权限”这个tab后,多半不会出现“所有用户的权限”(倘若想想有10000人的企业),而是继续出现几个子链接:查询个人权限,项目成员,人员离职,限时权限(外包人员管理)……

当然,这需要一大堆故事了,但如果一个给客户带来明确价值操作友好的产品正是我们所追求的,我们极有可能选择开发其中最高价值的几个,然后再留下之前那个“万能”但又什么都干不太好的。

这个故事让我们理解到:功能不等于价值,要理解用户操作功能的业务目的,不要随意抛出万能的功能。

杀毒软件的防打扰功能

“作为一个用户,可以选择‘认可所有相似操作’,以便同意或禁止连续的相似操作。”

这看起来也是个很不错的功能,但笔者曾经在安装软件的时候用到这个功能,尽管选择了“认可所有相似操作”,窗口仍然跳个不停,直到后来仔细查看弹出的信息,原来在软件安装过程中要进行很多“不相似”的操作:修改注册表,创建C盘目录,向system32中拷贝dll……而这个杀毒软件在处理的时候,连注册表不同位置的修改都认为是“不同的操作”。

要改好这个故事,就要从最后的客户价值入手。比如如果安装软件是最常见的需要“认可所有相似操作”的过程,就可以写一个这样的故事:

“作为一个用户,可以在安装软件时选择‘认可本次安装操作’,以便一键完成正常的安装操作。”当然何为“正常”的操作需要额外说明,但整体客户价值却更精准地表达出来了。

这个故事让我们理解到:“客户价值”是要从客户的角度来理解的,否则极可能跑偏。

编者注:本博客是以前的旧文,因符合本系列内容,稍加修改穿插于此。

点击下载免费的敏捷开发教材:《火星人敏捷开发手册》

转载于:https://www.cnblogs.com/spring3/archive/2011/09/16/2401417.html

敏捷开发用户故事系列之二:如何面向客户价值编写故事相关推荐

  1. 敏捷开发日常跟进系列之二:燃尽图(中)

    这是敏捷开发日常跟进系列的第二篇(栏目目录). 迭代及燃尽图的目标 燃尽图的目标是完成迭代的目标,迭代的目标是什么呢? 1. 按产品经理的要求,交付计划会中计划的用户故事 2. 尽量完成1 之后还会看 ...

  2. 敏捷开发产品管理系列之二:产品版本规划

    本文是敏捷开发产品管理系列的第二篇.(序言及设立迭代目标,产品版本规划,产品用户群规划,新产品研发,预估会议,Product Servant,Product Owner团队,产品线管理) 本文是一篇旧 ...

  3. 敏捷开发团队管理系列之二:程序与测试团队I

    这是敏捷开发团队管理系列的第二篇.(之一,之二,之三,之四) 几个真实案例 这几个团队都是我自己亲身经历的团队,从质量的角度来分析敏捷团队的工作方式. 第一个是一个较为大型的团队,约有25-30人,研 ...

  4. 敏捷开发用户故事系列之一:何为用户故事

    这是敏捷开发用户故事系列的第一篇.(之一,之二,之三,之四,之五,之六,之七,之八,之九) 全系列将涉及何为用户故事,面向客户价值编写故事,用户建模,产品待开发项的分类,故事颗粒度,故事的组织结构,等 ...

  5. 敏捷开发用户故事系列之八:验收标准

    这是用户故事系列的第八篇.(之一,之二,之三,之四,之五,之六,之七,之八,之九) 要想不在评审会上得到"惊喜",Product Owner最好提前约定好用户故事的验收标准,而且每 ...

  6. 敏捷开发用户故事系列之五:用户故事的分类

    这是敏捷开发用户故事系列的第五篇.(之一,之二,之三,之四,之五,之六,之七,之八,之九) 引子 在之一.之二.之三中,我们曾经提到了"作为一个--可以--以便--"的用户故事描述 ...

  7. 敏捷开发用户故事系列之四:优先级排序

    这是敏捷开发用户故事系列的第四篇.(之一,之二,之三,之四,之五,之六,之七,之八,之九) 优先级排序听起来是一个很简单的工作,一个字段无外乎"重要/一般--",调整一下然后按排序 ...

  8. 敏捷开发用户故事系列之三:用户建模

    这是敏捷开发用户故事系列的第三篇.(之一,之二,之三,之四,之五,之六,之七,之八,之九) 用户建模的目的,是为了更好地分析用户行为和用户价值,并因此获得商机. 用户建模四部曲 有一次培训中,分组建模 ...

  9. 敏捷开发用户故事系列之七:用户故事与MVC

    这是用户故事系列的第七篇.(之一,之二,之三,之四,之五,之六,之七,之八,之九) 用户故事和MVC没有关系,因为MVC是实现方法,因此在思考用户故事的时候,不要一下就想到实现方法,很容易把故事写坏. ...

最新文章

  1. imagick API 中文说明
  2. Failure Groups in ASM
  3. maven项目没有错,但是在项目头上有红叉的解决方法
  4. CF949A LFYZOJ#111 Zebras
  5. MATLAB-M文件
  6. UE4学习-设置地图,创建材质
  7. 消费类电子认证测试资料清单
  8. php 递归展现城市信息,PHP 递归兑现层级树状展现数据
  9. java21个知识点重点_java21个知识点重点
  10. 原来Rproj还可以这么使用
  11. 【mysql】悲观锁和乐观锁的实现原理
  12. Asp.Net Forums研究文章集合(收藏)
  13. Python+数据分析+机器学习,数据科学家最少必要知识库!
  14. 计算机常见软件故障及处理,计算机常见软件故障处理
  15. 飞秋教程(飞秋应用管理器)
  16. 菜鸟蜕变成高手之菜鸟血淋淋的总结
  17. 【电脑常用办公软件】万彩办公大师教程丨截屏大师工具的应用
  18. 日历控件CalendarView的使用
  19. 多种导出方式,教你快速将每个快递信息导出CSV表格
  20. Python 调用 ImageMagick 将常规图片转成 .ico 图片

热门文章

  1. 两点C#的propertyGrid的使用心得
  2. 多文件目录下makefile文件递归执行编译所有c文件 很不错
  3. android自动关闭uvc相机服务,android 调用系统相机崩溃的解决方案
  4. oracle隐式转换函数,隐式数据类型转换案例一则
  5. 用c++做贪吃蛇_用世界公认的变态羊毛做袜子!不用插电恒温37°C,还能抑菌99%...
  6. 本地php后台密码恢复默认,找回wordpress后台管理密码的PHP脚本方法
  7. 参数变化_PDP驱动波形参数分析
  8. 专有云传统HSF升级Pandora Boot开发
  9. 5G与WiFi 6之争,对物联网意味着什么
  10. sqlserver日期dateadd及STUFF等应用