一文学会编写用户故事 (User Stories)

User Story 是从使用者的角度对系统的某个功能模组所作的简短描述。一个 User Story 描述了专案中的一个小功能,以及这个功能完成之后将会产生什么效果,或者说能为客户创造什么价值。一个 User Story 的大小和复杂度应该以能在一个 Sprint 中完成为宜。如果 User Story 太大,可能会导致对它的开发横跨几个 Sprint,此时就应该将这个 User Story 分解。

 

User Story模板

User Story可以遵循以下模板:As a I want to So that I can

作为一个<某种型别的使用者>,我要<达成某些目的>,我这么做的原因是<开发的价值>。

使用者story特性。

  1. 独立性(Independent)— 要尽可能的让一个使用者故 事独立于其他的使用者故事。使用者故事之间的依赖使得制定计划,确定优先顺序,工作量估算都变得很困难 。通常我们可以通过组合使用者故事和分解使用者故事来减少依赖性。

  2. 可协商性(Negotiable)— 一个使用者故事的内容要 是可以协商的,使用者故事不是合同。一个使用者故事卡片上只是对使用者故事的一个简短的描述,不包括太 多的细节。具体的细节在沟通阶段产出。一个使用者故事卡带有了太多的细节,实际上限制了和使用者的沟 通。

  3. 有价值(Valuable)— 每个故事必须对客户具有价 值(无论是使用者还是购买方)。一个让使用者故事有价值的好方法是让客户来写下它们。一旦一个客户意 识到这是一个使用者故事并不是一个契约而且可以进行协商的时候,他们将非常乐意写下故事。

  4. 可以估算性(Estimable)—开发团队 需要去估计一个使用者故事以便确定优先顺序,工作量,安排计划。但是让开发者难以估计故事的问题来自 :对于领域知识的缺乏(这种情况下需要更多的沟通),或者故事太大了(这时需要把故事切分成小些 的)。

  5. 短小(Small)— 一个好的故事在工作量上要尽量短 小,最好不要超过10个理想人/天的工作量,至少要确保的是在一个迭代或Sprint中能够完成。使用者故事 越大,在安排计划,工作量估算等方面的风险就会越大。

  6. 可测试性(Testable)—一个使用者故事要是可以测试 的,以便于确认它是可以完成的。如果一个使用者故事不能够测试,那么你就无法知道它什么时候可以完 成。一个不可测试的使用者故事例子:软体应该是易于使用的。

为什么要讲故事?

优秀的使用者体验不但包括好的产品流程,还包括讲故事的 能力。乔布斯的“现实扭曲”赋予苹果的魔力就是最好的例子。本文摘自《Storytelling for User Experience》中的第一章,讲诉了使用者体验中讲故事的逻辑和案例。我们都会讲故事,这是分享资讯最 自然的方式之一,并且它同人类一样古老。这本书是关于如何以一种全新的方式使用一项你拥有的技能 :将讲故事这种方法运用于使用者体验(UX)设计领域。 作为使用者体验设计的一部分,故事有助于在真实的情境中为你的工作打好基础。它们让你可以展示一个 设计概念,一个开发中的新产品,迸发出一个新想法或最灵感。但最重要的是,它们帮助你将使用者置于 工作的中心。无论你如何开展一个专案,到最后它都将会被人们使用。故事是在设计过程中还原使用者的 一种方法,即便他们并不总是你团队的一部分。

 

User Story的作用

  1. 故事更有说服力、识别力 相信大家都看过一部电影《中国合伙人》。故事的原型就是新东方创始团队(俞敏洪、徐小平、王强) 当年创业打拼时的缩影,要知道每一部电影,本身都是在讲述一个又一个的故事。徐小平(该电影的编 剧)通过把当年的创业史打包成一个电影故事,既卖票房的同时也帮新东方/新东方创始团队公关了一番 (三条老黄瓜在涮嫩漆,哈哈哈)。 这些企业在做品牌的同时把自己真实的生命经验放进去更有说服力。因为真实的故事可溯源、易识别、 独一无二(反正你不会通过这个故事联想到马云的创业故事)。 当然,这些出色的故事还会给消费者打开了另一个视窗(好奇心):通过故事深入了解故事的周边,那 就等于和消费建立更多的的连线了。

  2. 故事化的广告留存度高且不易反感 市面上充斥的大量广告早就已经引起了大众对广告的反感情绪,从某些QQ微信群群规的第一条往往就是 “发广告踢……可见一斑,而通过故事包装后的广告,就相当披上了一层白纱,让广告变得相对“温和 ”没那么“暴力”,不容易触动使用者对广告的反感情绪。 再者,故事化营销广告留存度很高 —— 因为故事化的内容容易产生“自带媒体属性”,能时不时让别 人翻出来当作例子,得到免费的二次三次传播,本文提到的马云与新东方的例子就是免费帮他们传播最 好的佐证。

  3. 通过故事让你买买买 真理往往只掌握在少数人手里,换一句难听话来说即是:大多数人还是缺乏独立思考的能力。 相信看过奇葩说的小伙伴(一个辩论的节目)都会知道,高晓松与蔡康永都是那种可以通过一个细小的 观点切入——放大,瞬间说服没有自己独立观点的观众。他们用讲故事的方法让听众通过(有限的)已 知资讯和故事之间建立某种关联?它的结果是通过吸引注意力将你的思想带到设定的框架,本质是通过 故事降低你抵抗各种观点的独立思考能力,从而获得你的认可。 这也是营销高手惯用的招数,通常把产品揉进故事里,通过故事去影响目标使用者的情绪,激发需求,降 低你面对该品牌时心里涌现的理性消费的呼声。

  4. 通过故事输出品牌价值观 从价值观输出来讲,上面《中国合伙人》的故事正如文化人类学家Simon Sinek所言,那些成功品牌最在 乎的并不是做什么和怎么做,而是为什么要这样做。找到你的理由,也就等于找到了你自己的故事。通 过故事著重于塑造品牌在人们生活中扮演的角色(如:百事&活力,耐克&拼搏),超越产品本身的范畴 ,输出向上的价值观。

 

一些经验:

  1. 永远不要在User Story中使用And和Or,因为这是些分支词就表示分支任务,把它们拆成两个Story.
  2. 资料整理:通常情况下1个sprint(2周一次迭代)可以做4~5个Story,极端大的Story不可大于1个sprint。
  3. 资料整理:通常情况下1个sprint(2周一次迭代)可以做50个左右的Task。
  4. User Story用于描述使用者故事,不要包括任何的技术,框架等内容。Task可以包括框架,技术等内容。

User Story 是什么?

User story是对软体的使用者或买主有价值的功能点的描述。User stories 由以下三点 (3Cs) 组成:

  • Card - 用来制定计划和作为提醒的一段书面描述
  • Conversation - 用来充实story的细节的谈话
  • Confirmation 测试用例,用来表达和记录细节并且能够在story实现的时候对进行验证

因为User Story的描述是通过传统的手写记录在卡片上,所以Ron Jeffies给这三个方面起了很好的名字,Card(卡片),Conversation(会话),和Confirmation(确认)。卡片是story最可见的表现形式,但是他不是最重要的。Rachel Davies 已经说过,卡片“重现客户需求场景好于记录它们”。思考User Stories的完美方法是:card 包含story的正文,通过会话得出细节,并记录在测试用例中。

设计BigMoneyJobs 网站例子 User Story 可能包括:

  • A user can search for jobs(使用者可以查询职位)
  • A company can post new job openings(公司可以释出新的职位)
  • A user can limit who can see her resume(使用者可以限制那些人可以检视他的简历)

因为user stories 描述了对客户来说有价值的功能点,所以对这个系统来说下边的例子就不是好的user stories。

  • The software will be written in C++.(软体应该用C++来编写)
  • The program will connect to the database through a connection pool(软体应该通过连线池来连线到资料库).

第一个例子对BigMoneyJobs来说不是个好的user story是因为使用者根本就不关心使用哪种程式语言。但是,如果这是一个应用程式介面,使用者(他本身就是个程式设计师)写下“The software will be written in C++(软体应该用C++来编写)”就会很好。

第二个story在这种情况下也不是个好的user story ,因为系统的使用者并不关心应用程式如何连线到资料库的技术细节。

也许,你已经读了这些stories 并且很惊讶地说,“等等,使用一个连线池是我这个系统的一个需求” 如果这样的话,请一定要清楚,编写stories的关键点在于让客户认可他们的价值,我们将在第二部分“编写story”里看到一些关于编写Story方面的例子。

 

References

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章