不懂用户故事做不好敏捷开发!(一)

用户故事(User Story)是从用户的角度对系统功能的描述。所以,又被称为使用者故事。

用户故事最重要的特点在於每一 个用户故事都是一个“可独立分配”的需求单位。要达到“可独立分配”,就要从“用户”如何使用系统来表达用户故事。这样才让你实现到一个能让用户交流,端到端(用户界面到后端)的功能单位。

在敏捷开发中,需求最终会被描述成User Story。开发人员依照用户故事中的描述估测完成所需要的时间,并指定该User Story的优先级。这样,最终,所有的User Story组成了Product Backlog。

在敏捷中,用户故事是最基本的设计单元,它是从用户的角度出发对功能的一段简要描述。啰嗦一下,用户故事是轻量级的需求描述。用户故事没有什么强制性的语法。但是,按照大致符合这样一个形式来考虑用户故事是比较有益的:

用户故事从用户的角度描述用户渴望得到的功能和实现的价值。一个好的用户故事包括三个基本要素:

  角色:谁要使用这个功能。

  活动:需要完成什么样的功能。

  商业价值:为什么需要这个功能以及这个功能带来什么样的价值。

用户故事通常按照如下的格式来表达:

英文:

As a , I want to , so that .

中文:

作为一个<角色>, 我想要<活动>, 以便于<商业价值>

举例:

作为一个“网站管理员”,我想要“统计每天有多少人访问了我的网站”,以便于“我的赞助商了解我的网站会给他们带来什么收益。”

需要注意的是用户故事不能够使用技术语言来描述,要使用用户可以理解的业务语言来描述。

作为【用户的类型】,我希望可以【先这样做,然后那样做,就应该得到...的结果】以便【业务价值】。

例如:“作为购书者,我希望可以根据ISBN来找到一本书,以便能更快的找到正确的书。”

在做用户故事时,需要注意每个用户故事用的是用户的语言,它只描述一个功能(feature),而不要涉及设计或实现上的内容。

一般而言,每个用户故事的开发周期不要太长(1-5天),否则用户故事应当切分为多个子用户故事。

不需要一开始对所有的故事都进行详细的描述,但计划放在下一个sprint中的故事应该比较清楚。

在面对一个具体项目,不会把项目拆分成用户故事,就无法敏捷起来!真正的敏捷开发必须是基于用户故事的开发过程。

我们看到很多人在尝试敏捷时,只是简单地把项目的长周期拆分成短周期,这并不是真正的迭代,因为每个周期都没有可体验、可交付的东西,依然像瀑布一样在不断堆积半成品,这不是真的Scrum。

如果不是基于用户故事开发,测试驱动开发(TDD)和行为驱动开发(BDD)很难开展,因为缺乏具体用户场景的描述,很难写出具体、简明的测试用例,因而很难累积足够的自动化测试提高系统的可改性,内部质量、重构、持续优化便无从谈起。

如果不是基于用户故事开发,持续集成(CI)也意义不大,因为提交的代码并没有构成可交付的产品,其实并没有真的在集成。

用户故事和用户场景搭配起来使用,会起到更好的作用。用户故事反映了用户面对的问题

用户场景的描述更多,包含了更多的信息,比一个用户故事更长、更丰富。用户场景尽可能接近现实,用文字表达会说话的典型用户。

用户场景举例:比如:人们每次去超市买东西,都要排好长时间的队伍进行结算,特别麻烦。有的时候就会有人放弃结账,不买了,或者找到另外的超市购买,这样,对于超市来说,就会有损失。

那么针对这个用户场景,用户故事可以这么来写:作为一个消费者,我希望在超市买东西结账的时候,可以不用排那么长的队,我可以快速结账,以便节约出时间干些更重要的事。

每次的评审会议,其实也是对用户故事进行评审。

敏捷开发中的用户故事一定要重视,通过用户故事,形成用户故事地图,这样客户对整个产品就会有一个更直观的价值体验。

关于用户故事地图,有一本书写的挺好。

欢迎关注我们的公众号,在公众号回复“用户故事”,您将知道是哪本书。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,302评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,232评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,337评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,977评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,920评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,194评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,638评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,319评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,455评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,379评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,426评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,106评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,696评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,786评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,996评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,467评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,043评论 2 341

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,280评论 25 707
  • 什么是Scrum敏捷开发 Scrum是敏捷开发的一种,是一种以人为本,迭代式增量软件开发的过程,以英式橄榄球争球队...
    Monica_Wang阅读 18,679评论 4 53
  • 5.1 敏捷分析   敏捷分析(Agile Analytics)是一种开发风格,在它的指导下,用户、利益相关者以及...
    Gaius_Yao阅读 3,169评论 0 7
  • 每年的3.15,大伙儿似乎都格外的兴奋,各路大军打假的劲头高涨。 网络上、电视上……铺天盖地,都是这个话题。似乎全...
    鹿在鸣阅读 159评论 0 0
  • 上次参加了为爱阅读100天,深深感受到亲子阅读的力量,100天收获太多,现在孩子每晚必须要读睡前故事,以书的形式来...
    虫虫爱绘本阅读 236评论 0 0