作为开发人员/测试人员, 我想了解用户故事, 以便 可以正确构建/测试它。
提醒您,这是一个糟糕的用户故事。 “了解”是什么意思? “正确构建”的接受标准是什么?
生活是一团糟,“作为……”模板并非总是有帮助。 您可以对其进行过多填充以使其变得详细,也可以对其进行过度抽象,因此实际的实现者将不知道该怎么做。
没有恐惧。 我将告诉您如何编制有效的用户故事。
它开始于...
- 放下模板。 像所有东西一样,一旦有了锤子,我们就会开始寻找指甲。 有时模板不合适。 没关系。 在这种情况下…
- 用一句话讲这个故事。 也许两个。 当人们被提出一个新想法时,不要让他们阅读大量文件。 总结一下,以便他们快速掌握。 详细信息可以稍后再说。 并确保这是一个故事 ,具有开始,中间和结尾。 人们会更好地记住和消费故事。 如果愿意,您甚至可以唱歌,这将使它更加令人难忘。 接下来你要...
- 锚定它 。 您知道“就像Uber,但是……?” 每次启动都使用的音高形式? 每个人都知道Uber,因此他们有一些东西可以引用新信息。 在故事领域,这就是故事适合应用程序的方式。 “这就像上周的登录故事,但需要额外的验证”。 或者,“一旦我们完成了简单的路径,就可以添加更明智的算法”。 您正在显示我们去过的地方,我们要去的地方以及适合这个故事的地方。 然后变得有趣。
- 揭开动机 。 我们为什么要继续发展呢? 谁将受益,如何受益? 用户可能能够更快地进行注册,这意味着用户更加满意。 或者,如果我们能够根据用户对宠物的赞赏程度与其建立联系,那么我们公司将从狗配件供应商那里获得更多收益。 我们开发该功能是有原因的,这确实有助于了解最终目标。 在某些情况下,我们可以对其进行揭穿,并选择与自己的时间更好的方式。 一旦人们了解了动机……
- 表演。 它看起来怎样? 您已经准备了一些模拟屏幕,草图,流程图或任何有更多肉的东西,对吗? 啊,年轻的帕达万,你需要为此做准备。 它不仅会帮助解释它,而且会为……提供帮助。
- 给它上下文 。现在事情开始实现了,是时候举个例子了。 您可以在这些模拟屏幕上显示流程。 或者其他应用程序可能如何使用我们的新API。 未来的功能将如何使用我们的后端计算结果。 上下文很棒! 我们可以用它来指导团队走向……
- 概括。 我们是否从示例开始并仅实现它? 我们是否应该编写一个更广泛的数据验证层,然后对其进行测试? 介于两者之间? 一个示例不足以进行开发,因为我们需要知道从哪里停止。 而且我们需要知道如何测试。 这确实有助于定义接受标准。 最后一步是…
- 在沙子上画一条线。 有些事情不属于我们的一般规则。 VIP不需要再次输入其凭据。 匿名用户可以使用应用程序,但将经过一个单独的流程,稍后我们将对其进行定义。 任何不属于我们的范围之内的事物,都应该提出。 否则,我们将实施并测试它,我们会感到惊讶。 而且我们不喜欢惊喜。
现在,如果您查看这些步骤,将会看到模板的阴影。 简单(1),有动机(2),有时有例子(6)。 但是在大多数情况下,这仅仅是开始。 大多数应用程序需要开发更丰富的信息。
您可能现在正在思考–我该如何写这些东西? 好吧,首先,现在您有一个检查清单。 其次,如果您认为通过撰写本文,人们会突然理解您的产品天才,请再考虑一下。
在人类的古老时代,人们没有写故事。 他们告诉他们。 他们提出了他们。 从各种角度和不同级别的细节。 他们以不同的方式重述了故事。 直到山顶洞人知道如何捉住强大的猛oth象。 然后他们把这个故事告诉了他们的孩子。
Stories的目标是在团队中建立共识,并以此为基础构建新功能。 它们是可以使用和滥用的工具。 我们只需要学习有效地使用它们。
这让我想起了另一个故事,但这是另一回事了。
翻译自: https://www.javacodegeeks.com/2016/03/8-steps-effective-user-stories.html