用户故事宜短不宜长,以便于对其进行评估。可以想象一下如果亚马逊公司让你设计程序,你会怎样撰写它的用户故事。你可能会写道:“用户想要一家全球最大的在线书店,这样用户随时都能买到想要的书。”这个用户故事的确概括了亚马逊的情况,但太宽泛,不具有指导意义,必须分解成小故事。真的有必要这么做。
你可能会为一家在线书店撰写类似于下面的用户故事:
Ø 客户希望能按照类别浏览书籍,以便轻松找到自己喜欢的那一类书。
Ø 客户希望能够先把书放进购物车里,以便在之后某个时间购买。
Ø 亚马逊的产品经理希望能追踪客户的购买记录,以便有的放矢地向客户推荐特定的书籍。
上述这3个用户故事都是非常明确和具体的,你的团队可以埋头苦干,满足客户需求。大家可以一起讨论要如何实现这些用户故事。用户故事必须细化,能够对具体实践提供指导,但是不要预先制订落实方案。切记,工作如何执行必须由团队自行决定,至于成果该是什么,则取决于商业价值。如果把线上书店的所有因素都拼凑到一起,写成用户故事,那么这种用户故事常常可以合称为“长篇故事”,通常是很宽泛的,无法指导具体行动,但可以将其分解为多个具体的小故事。
蒂姆·斯托尔(Tim Stoll)在其职业生涯中从事过多种多样的工作,但无论做什么工作,他都能带领他的团队快速地完成任务。他曾在伊拉克与阿富汗当过美国特种部队的军医,曾经承包过中情局的项目,曾经当过追捕暴力犯罪分子的警察,现在,他是一名Scrum培训师。他说他一直都在做Scrum培训师该做的事,即便过去在特种部队执行任务时也是如此。
他说:“在特种部队中,我们不用‘故事’这个词,我们用的是‘行动路径’(course of act),但二者异曲同工。”
下面是斯托尔在特种部队期间执行的一项任务。他能够公开谈论的任务很少,这是其中之一。当时,他要到老挝执行医疗任务。他所在的特种部队肩负两项使命:一项是为当地军人提供医疗指导,使他们能够处理战场上的简单医疗问题;另一项是扫除没有爆炸的地雷。
作为一名军医,斯托尔负责第一项使命。他说,在那次任务前,他坐下来想过需要完成哪些任务,以及他应该如何将这项使命分解成可以执行的小任务。他先想了一些符合Scrum架构的想法。
斯托尔说:“作为特种部队的医生,我必须为学生们传授一些基本的生理学知识,这样他们才能了解人体。”
他说,当他开始写用户故事时,就知道自己必须从这件事开始做起。学生们必须先了解骨骼的位置,才能做急救。“首先,我会教他们了解长骨,然后短骨,最后是手腕、脚踝、肌腱和韧带。”只有在这些基本的用户故事完成以后,他才能开始教他们如何复位骨骼、清理呼吸道及止血。
写完这些用户故事之后,他就知道用什么来支撑自己实现教学目标了。他需要一个人体骨骼模型,以及一些英语和老挝语的教材。接下来,他会把事情分解为多个项目,或是称为“Sprint”。他说:“用两天飞到老挝,用一个星期筹备,接着先后两次举办为期6周的授课,必须把学生从基础水平教到具有急诊医生的水平。我们做到了。”
来源:《敏捷革命:提升个人创造力与企业效率的全新协作模式》 【美】Jeff Sutherland Scrum之父作品
该书的PDF版本我有上传,如需要可自行下载。