用户故事可能是捕获产品功能的最流行的敏捷技术:使用用户故事很容易。但讲出有效的故事可能很难。以下十个技巧可以帮助您创建好的故事。
技巧一: 用户第一顾名思义,用户故事描述了客户或用户如何使用产品,它从用户的角度进行表达。另外,用户故事特别有助于捕捉特定的功能,例如搜索产品或进行预订。下图说明了用户,故事和产品功能(由圆圈表示)之间的关系。
如果你不知道谁是用户和客户,以及为什么他们会想要使用这个产品,那么你不应该写任何用户故事。首先进行必要的用户研究,例如通过观察和访问用户。否则,就有基于自己的想法和信念写出假想的故事的风险,而不是基于数据和经过验证的证据。
技巧二:使用角色来发现正确的故事捕捉用户和客户的见解的一个很好的技术就是使用人物角色(Persona)。人物角色是基于目标群体的第一手知识的虚构人物。他们通常由一个名字和一张照片组成,还包括相关的特征、行为和态度、以及一个目标。目标是人物想要获得的利益,或者人物想要通过使用产品来解决的问题。
除此之外还有:人物角色的目标可以帮助你发现正确的故事:问问自己,为了达到人物角色的目标,产品应该提供什么样的功能。正如我在“ 从角色到用户故事” 的文章中解释的那样。您可以从romanpichler.com/tools/persona-template下载一个方便的模板来描述您的角色。
技巧三: 合作创作故事用户故事旨在作为一种轻量级的技术,使您能够更快。他们不是一个规范,而是一个协作工具。故事不应该交给开发团队。相反,他们应该被嵌入到一个对话中: 产品负责人(PO)和团队应该一起讨论这些故事。这使您只能捕获最少量的信息,减少开销并加速交付。
您可以进一步采取这种方法,让团队协作来写故事,这可以是产品backlog梳理过程中的一个环节。如果你不能让开发团队参与用户的故事工作,那么你应该考虑使用另一种更正式的技术来捕获产品功能,例如用例。
技巧四: 保持你的故事简单和简洁
写下你的故事,以便他们很容易理解。保持简单和简洁。避免混淆和模棱两可的条款,并使用主动语态。专注于重要的东西,而忽略其余的东西。下面的模板将用户或客户建模为一个人物角色,并使其好处明确。它基于Rachel Davies的流行模板,但是我已经用人物角色(Persona)替换了用户角色(Role of User),将故事与相关角色联系起来。
作为<persona>,
我想要<what?>
以便<why?>。
有用时使用该模板,但不要总是使用它。尝试用不同的方法来写你的故事,以了解什么对你和你的团队最有效。
技巧五: 从Epics开始
史诗是一个大而粗略,粗糙的故事。它通常会随着时间的变迁而分解成多个用户故事 – 基于用户对早期原型和产品增量的反馈。你可以把它看作是一个标题和一个更详细的故事的占位符。
从史诗故事开始,能够让你在不关注太多产品详细信息的情况下捕获产品的功能。这对于描述新的产品和功能特别有帮助:它可以让您捕捉到粗略的范围,这节省了你了解如何最好地满足用户的需求的时间。
这也减少了整合新想法所需的时间和精力。如果在产品Backlog中有很多详细的故事,那么将反馈和对应的条目关联起来往往是非常棘手和耗时的,并且还有导致信息不一致的风险。
技巧六: 细化故事,直到准备就绪
把你的史诗分成更小,更详细的故事, 直到准备就绪:清晰,可用,可测试。所有的开发团队成员应该对故事的意义有一个共同的理解; 这个故事不应该太大且能放到一个Sprint,还必须有一个有效的方法来确定故事是否完成。
技巧七:添加验收标准(AC)
当你把史诗分成更小的故事时,请记住添加验收标准。验收标准补充叙述:它们用来描述故事达到完成必须完成的条件。验收标准丰富了故事,使其成为可测试的,并确保故事可以演示或发布给用户和其他干系人。作为一个经验法则,我喜欢给详细的故事添加三到五个验收标准。
技巧八:使用纸卡
用户故事出现在极限编程(XP)中,早期的XP文献讲述了故事卡而不是用户故事。有一个简单的原因:用户故事被捕获在纸卡上。这种方法提供了三个好处:首先,纸卡便宜且易于使用。其次,他们促进合作:每个人都可以拿一张卡片并记下一个想法。第三,卡片可以很容易地分组在桌子或墙上,以检查一致性和完整性,并可视化依赖关系。即使你的故事是以电子方式存储的,当你写新的故事时,使用纸卡也是值得的。
技巧九:保持你的故事可见和可访问故事要传达信息。因此,不要将其隐藏在你的服务器和电脑上。你可以把它们放在墙上,使它们可见。这会促进协作,创建透明度,而且你可以很快的发现你过快地添加了太多的故事,因为你的墙面快用完了。
我有一个方便的工具可以帮助你来发掘、可视化和管理你的故事,这就是我的产品画布。
如下所示。
技巧十:不要单靠用户故事
创造出色的用户体验(UX)需要的不仅仅是用户故事。用户故事有助于捕捉产品功能,但不能很好地描述用户旅程和 视觉设计。因此,可以用其他技术来补充用户故事,例如故事地图,工作流程图,故事板,草图和模型。
另外,用户故事不能很好地捕捉技术要求。如果您需要传达像组件或服务这样的架构元素应该做什么,那么请编写技术故事,或者,根据我的偏好——使用像UML这样的建模语言。
最后,在开发可能被重用的软件时,编写用户故事是值得的。但是,如果你想快速创建一个一次性原型或模型来验证一个想法,那么写故事可能不是必要的。记住:用户故事不是关于记录需求; 他们希望能够使您更快并尽快开发软件,而不是强加额外的开销。
英文资料来源: http : //www.romanpichler.com/blog/10-tips-writing-good-user-stories/
作者:罗马·皮赫勒
译者:廖靖斌Eric Liao, Scrum中文网资深敏捷教练、顾问和培训师,CSP