你的用户故事,是“用户”故事么?

在敏捷开发过程中,我们经常会听到,用户故事(user story),我们也会用用户故事的方式来拆解细化需求,我们是否有想过,为什么用用户故事,什么样的用户故事才算是用户的故事?

为什么要有用户故事

你是不是遇到或听说过这样的场景,用户想要A,产品经理理解为B,开发同学理解为C,各自讨论达成一致之后,最终我们得到了一个完美无缺的D,什么缺点都没有,就是不是用户想要的东西。因此,我们需要一个叫用户故事的东西,作为基础,我们可以一起讨论,讲需求从每个人的头脑中可视化出来,从而更好的达成一致。

什么是好的用户故事

好的用户故事有他的标准在,3C原则,INVEST原则。

01 3C原则

  • 卡(Card):用户故事卡,在一张卡片上能够描述出主要需求,谁要做什么,产生什么价值

  • 确认(Confirmation):有验收,有测试,有完整的验收表征能确认这个故事被正确的交付,价值得以实现

  • 交谈(Conversation):用户故事作为交谈的基础,必须所有细节面面俱到,大家一起聊并达成一致,才是目的

图片

02 INVEST原则

  • 独立(Independent):每个用户故事都是可以独立交付的一个功能点,理想状态下不依赖于任何别的功能,不过也有例外,在一些非常长的流程性功能下,一定是先做第一步操作,才有第二步,因此独立也是相对的。这里的独立,是独立开发,独立验收,一些情况下,独立交付。

  • 可讨论(Negotiable):用户故事不是BRD,写啥是啥,面面俱到,结合3C原则,用户故事是为了达成一致,不是为了定义标准,可以根据具体的技术实现一起讨论,最终达成一致的交付结果。

  • 有价值(Valuable):不用多说,任何一个功能点如果找不到对应价值,我们就应该思考他存在的意义了,因此价值,是做一切的先决条件。

  • 可估算(Estimable):作为开发的依据,以及排期管理依据,他一定是可以被估算的,能估算的前提是我们有范围(上面提到),可沟通,达成一致,估算才有意义

  • 足够小(Small):小到可以在迭代内流转,不会一直停留在迭代的某一个泳道,小是相对的,需要平衡价值和独立。

  • 可测试(Testable):场景需要相对完整,流程也需要有完整节点,这样才能够满足测试。只有能够测试,才能确认功能的交付。

他们的顺序并不是INVEST,从价值的角度依次为VTSINE。

怎样写一个合格的用户故事

所谓好的用户故事总是相似的,不那么好的用户故事各有各的特色。在我们日常最多的用户故事中,看到最多的其实是INVEST中的T(testable),在As a, I want to, so that后面,跟着的是验收标准(Acceptance Cretirial), 有了验收标准,才是可执行的用户故事。因此,在说什么是好的之前,我们先说说什么是不好的,一起乐呵乐呵,切忌对号入座。

需求:物品加入购物车
案例1:开发文档拆写类
AC1: 物品展示页下发展示 加入购物车按钮,点击后物品被加入购物车,数量加1
AC2: 点击购物车按钮,展示购物车页面,展示加入物品
AC3:加入失败,展示通知:加入失败请重试
AC4: 场景:浏览物品,搜索结果,首页
案例2:论文类
AC1: 用户可以看到加入购物车的按钮
Given:用户在浏览物品详情页面
When:用户看到最下方
Then:用户可以看到一个黄色的按钮上面写着加入购物车且在页面的右下角
AC2:如果用户点击了加入购物车按钮,则商品可以被加入购物车
Given:用户在物品详情展示的页面停留
When:用户想要加入购物车并点击了加入购物车按钮
Then:用户看到物品被加入到购物车病情购物车数量加1
AC3:加入失败,展示通知:加入失败请重试
Given:网络不稳定或者其他不稳定因素出
When:用户想要加入购物车并点击了加入购物车按钮
Then:用户会看到一个通知,通知告诉他加入失败请重试,他可以点击知道了关闭页面,也可以点击关闭关闭通知
案例3:混合类
案例1 和 案例2 任意组合出来

上面三种用户故事,是我见到最多的用户故事,他们也能准确的表达出要实现的内容(当然,实现内容都说不清楚的,就不在这里列了,大概率例子列不下),但是他们是用户的故事么?从案例的名字其实就能看出来,案例1 其实就是拆分写了下需求文档,它并不是一个用户故事,案例2是用户故事,是一个啰嗦的用户,抓不住重点的用户。

那,到底如何判断?那到底什么才是一个好的用户故事?先举个例子,当然,当然也只是个例子,并不是毫无破绽的例子。

需求:物品加入购物车
As 消费者
I want to将物品加入购物车
So that 可以让我在购物车看到我想购买的东西,支持后续的合并付款
AC1:消费者可以看到加入购物车按钮
Given: 我在商品列表/商品详情页/商品搜索结果页
When:我查看商品
Then:我会看到加入购物车按钮 (见设计图)
AC2: 消费者可以将物品加入购物车
Given:我查看商品并看到加入购物车按钮
When:我点击按钮
Then: 我可以看到
1. 商品被加入购物车
2. 购物车商品数量加1
3. 购物车页面有这个商品
AC3: 失败处理
Given:网络原因或其他原因导致加入失败
When:消费者点击加入购物车按钮
Then:消费者可以
1. 看到消息:“加入失败,请重试”
2. 点击关闭/知道了按钮 关闭消息

看完这个例子,我们再来说说,什么样的用户故事,能算是一个相对合格的用户故事呢?为了满足管理,范围,估算,沟通的诉求,合格的用户故事,需要具备什么样的特征呢?

01 用户视角

用户故事,说白了,就是用户自己在讲故事,既然是用户讲故事,他关心的一定是,我在什么条件下,做了什么操作,得到什么结果,给我带来什么好处。因此,用户故事一定是站在用户的角度来思考功能的。所以,用户,是这个故事里的第一主语

02 简单

简单,用户故事描述的用户的故事,帮助开发,用户,产品达成一致。更多的是一个沟通依据,大家在这个用户故事的基础上进行讨论。大概没有人喜欢,在讨论前,看讨论话题看10分钟,理解话题10分钟。因此,能单词说明的不用句子,能短句的不用长句。再简单点,每句话别超过文档页面的1/2长度。

03 重点突出

用户故事,是功能描述,也不全是,不需要在用户故事里面描述颜色,字体,字号,大小,排布等,要知道,这个世界上有一个东西叫做设计图,有一类工具类似zeplin,清晰的可视化一切。因此,用户故事的重点在功能上,而不是页面设计。

最后,用户故事,不是说了什么样,看明白了就知道怎么落地了,需要反复的练习和打磨,没事儿的时候回头看看自己的用户故事,当你产生了不想看或看不懂的情绪和场景的时候,就说明,那个故事,不是一个好故事。

作者:兔小吱 ;公众号:冬眠小记

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

推荐阅读更多精彩内容