使用敏捷软件方法时,如何使用多个平台细分用户故事

时间:2013-04-11 19:50:34

标签: agile user-stories agile-processes

我正在开发一个项目,我们真的想尝试使用敏捷软件方法,并且正在编写我们的用户故事。这对我们来说是新的,尽管我们在编写成功的软件方面有很多经验。我的问题涉及当产品需要在多个平台上运行时如何编写故事...

让我们争辩说我们的用户故事是......

  • 用户需要能够登录
  • 用户可以重置密码

现在这需要在多个浏览器上运行,很可能在PC和Mac上都有几个版本的浏览器。

过去哪些方法适用于不同的团队,您是否在您希望支持的所有平台上测试故事,或者您是否已成功编写额外的用户故事,例如“还必须在Safari Version x.xx上工作”。我不喜欢后者的想法它没有很好的范围。

另一种选择可能是为这样的每个平台重复编写故事......

  • 用户需要能够登录Safari版本x.xx
  • 用户需要能够登录Chrome版本x.xx 等等。

无论如何,真的只是寻找一些洞察力,并且有兴趣听听社区中其他团队的工作有用和无效。

感谢分享......

5 个答案:

答案 0 :(得分:3)

如Dave Hillier所提到的,DoD也是一个很好的方法。此外,如果每个浏览器兼容性具有不同的优先级,那么将每个故事分开以便它们可以被优先排序也是一个好方法。

如果需要以相同的优先级完成,并且浏览器兼容性并不难,我会这样做:

As a customer, I want to be able to login to the system, so that I can use the system

Exit criteria:
- xxxx
- yyyy
- be able to login on Safari, IE, Chrome, Firefox

答案 1 :(得分:1)

您可以创建Definition of Done(国防部)。

  

国防部通常是一份简明扼要的要求清单   软件增量必须坚持让团队称之为完整。

在你的国防部你应该包括每个故事必须的东西。

例如,当您实现一个故事时,您可能希望它能够在最广泛采用的浏览器上运行。包括您希望在DoD中支持的每个浏览器的功能的实现和测试。

您可能决定要添加对旧版浏览器的支持,但优先级要低得多,可以在以后完成。您可以将该工作单独包含为单独的产品待办事项(例如故事或错误)。然后可以根据需要对它们进行优先排序。

可以使用类似"As a user, I want"的故事模板编写这些项目。例如:

  

作为客户,我希望能够使用IE8登录

     

作为客户,我想从IE8重置密码

最后,您的团队决定在您的情况下最有效。这取决于您的客户想要什么!

答案 2 :(得分:0)

我会选择4个故事:

Users can Login with Safari
Users can login with IE
Users can login with Chrome
users can login with Firefox

然后,您可以创建验收标准,以测试每个主要平台的不同相关版本。

如果可以,我宁愿尽可能保持高水平的故事。 “用户需要能够登录”是灵活的(只要它不是太大)。通过浏览器拆分用户故事感觉很像混合非功能标准和用户故事。

答案 3 :(得分:0)

“编写一个额外的用户故事”也必须适用于Safari Version x.xx。我不喜欢后者的想法它没有很好的范围。“

你不喜欢被解雇的事实上是更好更正确的方式! “它也应该适用于其他浏览器...”应该是故事卡背面的UAC和功能。

这样您就可以为客户和主要故事添加BV。

支持UAC方式作为正确方法的另一个原因是“借助不推荐的做法消除” - 用户故事不应该是一个清单。

答案 4 :(得分:0)

我不会为每个平台创建故事,因为美国是“潜在可交付”的单位,应该为最终用户带来价值。

请注意,没有关于用户应该如何访问功能的内容,因此请问自己一个简单的问题 - 如果它在平台A上运行但在平台B上不起作用,您是否会将此功能提供给最终用户?

IMO为开发和测试而不是美国创建平台特定任务是有意义的,如果任务没有完成,你不能说美国已经“完成”。