用户故事一定要有 “So that...” 吗?

2024-05-09 14:52:18
Mike Cohn
翻译:
www.mountaingoatsoftware.com
1634
摘要:我想在这里集中回答大家最常提出的三个问题可能会有所帮助

在每次“更好的用户故事”网络研讨会结束后我都会回答一些大家的提问,举办的次数足够多后,我甚至能预测哪些问题将会出现在对话框中!


我想在这里集中回答大家最常提出的三个问题可能会有所帮助。欢迎与你的团队或干系人分享,让大家对用户故事有更深入的了解。

用户故事和需求一样吗?

用户故事和需求一样吗? 不完全是,但很接近。


与其把用户故事看作需求,我觉得把每个故事看作是需求的指针更有帮助。


最常见的情况是,每个故事是一个占位符,代表了团队与干系人间将发生的对话。在对话过程中,干系人将传达需求的细节,如果需求的细节超过了对话能传达的范围,则故事可以指向相关的流程图,用户界面草图,样例数据,计算说明等等。


用户故事本身过于模糊,不能被视为需求。把用户故事当作需求的指针是更合适的。


用户故事的验收标准由谁写?

谁来编写用户故事的验收标准?既然产品负责人是那个决定接受或拒绝一个故事的人,那么就 由产品负责人来编写故事的验收标准(也称为满意条件)。


这并不意味着产品负责人要列出冗长的测试清单,产品负责人只列出故事的验收标准,这些标准非常重要,若产品待办项的产出不符合标准,产品负责人会拒绝接受。


验收标准比测试用例的层级更高。可以把验收标准看作是包含所有测试用例的测试计划目录。


例如,产品负责人可能给出这样一个验收标准: 用户可以对搜索结果进行排序。 团队的其他成员(可能是测试或QA人员)则把它转化为具体的测试用例,如下:

  • 用户点击列表标题,则对该列进行排序
  • 首-次点击列表标题时,对其升序排列
  • 再次点击列表标题,则在升序与降序间切换

如果产品负责人拒绝接受任何一项,他可以将其纳入验收标准。关键点在于,验收标准只包含重要的内容,若这些条件不满足,则产品可能会被拒绝接收。


用户故事中是否需要 “So that...” 语句

用户故事最常见的写法我们都很熟悉: 作为某一类用户, 我想要做某事, 以便达成某个目标。这一模板提供了“谁”,“想要什么”,以及“为什么”的详细信息。


但是,在编写用户故事时,“So that...”从句中所包含的“为什么”这一信息,是必要的吗?在回答这个问题之前,我想强调一下,我认为这部分信息往往是用户故事中最重要的部分。了解用户为什么需要做某件事,有时可以帮助开发人员找到实现目标的更好方案。


几个小时后,我将从爱达荷州的家飞往丹佛,这趟旅行我并不一定要去丹佛,南加州才是我的最终目的地。“作为一名乘客,我想飞往丹佛”,和“作为一名乘客,我想飞往丹佛,这样我就能到达南加州”,这二者之间还是有很大的区别的。


再举个例子,你正在制造一款扫地机器人,有人给了这样一个用户故事:“作为用户,我想训练机器人远离我的硬木地板,这样地板就不会受损了。”


在这种情况下,“So that”从句中的内容表明用户并不是真的想要训练机器人。他们更希望机器人知道该怎么做。所以更好的解决方案是让扫地机器人有一个模式,能在不需要训练的情况下自动远离所有的木地板。“ So that”后面的内容可以让用户的目标更加明确。


“So that”从句是必需的吗?并不是。有时它并不会给故事添加任何新信息。比如这个用户故事:“作为会员,我需要登录”,添加“这样就只有我才能访问自己的信息”并不会增加任何有效内容。


因此,“So that”从句并不是必需的,但如果你在写用户故事时,能多考虑使用 “So that”从句,并为绝大多数用户故事添加这样一个从句,你一定会从中受益良多。

文章分类
联系我们
  • 联系人:阿道
  • 联系方式: 17762006160
  • 地址:青岛市黄岛区长江西路118号青铁广场18楼
投稿邀请

如果您有优秀的原创文章,欢迎添加联系人直接与我们联系,或通过下方邮箱发送投稿文章,一经采用,我们会付以一定的稿件报酬。

  • 投稿邮箱: yanruiyu@easycorp.ltd
  • 投稿标题:向 [敏捷开发] 网站投稿
  • 稿件要求:与敏捷开发相关的任何内容

更多投稿相关请点击 更多进行了解~