Scrum敏捷项目管理

您可以用用例替换用户案例吗?

敏捷需求是Scrum项目成功的关键因素。许多人批评用户故事的极简格式,常常忘记它们主要是对对话的支持,’目的是充分记录需求。在本文中,Paul Raymond讨论了在Scrum冲刺中获取需求期间如何使用经典用例来扩展用户故事。

Inflectra Corporation的Paul Raymond, http://www.inflectra.com/

用户故事通常以相对简短,简单和非正式的描述为特征,而用例通常是更长的,形式化的描述,不仅描述用户需求,而且描述其他细节。用例能否在敏捷性需求和更多信息需求之间取得平衡,如果是,如何实现?

您可以用用例替换用户案例吗?

在敏捷项目的上下文中,有关用例的文章已写得足够多,以免我不得不在此处重述细节。对于那些希望刷新记忆的人,可以在本网站上阅读有关用例和用户案例的信息。

概述中,“用户故事”通常以通常由用户或产品所有者编写的相对简短,简单且非正式的描述为特征,而“用例”通常是较长的,结构化的描述,不仅描述用户需求,而且还描​​述包括参与者在内的其他详细信息(包括人员和系统),上下文,范围,例外和最终条件。因此,用例具有的形式和细节程度不一定与敏捷开发相对应。

但是,用例吸引了那些寻求记录更多信息或组织在发现过程中获得的信息的方法的用户案例,而User Stories则做得不好。用例能否在敏捷性需求和更多信息需求之间取得平衡,如果是,如何实现?

非正式用例?

一个普遍的建议是用例不必这么正式或详细。实际上,它们可以非常简短和非正式。争论的内容是这样的:“如果您以最少的信息(也许只是目标的名称)开头,并及时编写详细信息,您仍然会敏捷。”但是,如果我们拥有的只是一个目标,那么什么使它成为用例?

非正式用例甚至是用例,还是真的是用户案例?非常简单的用例看起来像可疑用户故事,例如[演员]想要[目标],以便[成就]。因此,让我们忘记所有的烟雾和镜子,就这样称呼它:简单,易用的用例就是用户故事。但这只会引发更多问题。我们可以同时使用吗?如果我们确实选择同时使用“用户故事”和“用例”,那么谁来撰写?

什么时候?

让我们从经常被掩盖的问题开始,即“谁写什么?”。如果高级用例是产品负责人编写的,那么在为迭代选择它们时谁会添加细节?有人建议产品负责人应充实用例,但这样做会使开发团队很少参与发现过程。

敏捷需求管理是一个团队游戏

敏捷开发的一个重要方面是,需求的详细说明(无论是通过用户故事还是用例)都由整个开发团队执行,以便所有人(包括编码人员和测试人员)都有机会直接探索问题空间。当然,即使产品负责人提供了完整而详细的用例,开发团队仍然可以让利益相关者参与进来,以巩固自己的理解;但是,随后的工作却被重复了,再次破坏了敏捷原则。

同样,当产品所有者提供完整的用例时,存在角色分离的风险,从而使部门孤岛的概念复活,而这并不是一个非常敏捷的概念。因此,团队(包括产品负责人)应该合力发现所有需求的细节,而不是一个人在用例上工作。

用户故事的一个有力论据是,它们的简单性使得在敏捷开发中必不可少的使用户参与更加容易。另一方面,用例的一个有力论据是它们为记录基本细节提供了一种方便的结构。第一个好处在项目的早期很重要,第二个好处在后期很重要。这种差异支持这样的论点,即如果您确实想使用用例,则最好从用户故事开始项目,然后在以后作为每次迭代的一部分从中开发用例。

敏捷用户故事

敏捷用例

长处

弱点

长处

弱点

容易写& 更改 by users不太容易写& 更改 by users
易于用户理解不太容易理解
不适合细节良好的细节框架
最少的文档有太多文件的风险
易于纳入验收标准不适合接受标准

概要:积压的理想选择

概要:发展的理想选择

支持“用户故事”的另一个论点是,它们可以传达用例无法做到的事情。例如,诸如性能或可伸缩性之类的非功能性需求很难适应用例格式,而用户故事的非正式性则使得此类包含变得更容易。

从用户故事到用例

结论是,用例为敏捷项目提供了价值,而不是替代用户故事,而是一种选择后用于下一次迭代的扩展方式。实际上,有关该主题的可用文献似乎集中在严格使用案例格式的有问题的使用上,而实际上,重点不是做什么,而是由谁来做。

关于作者

Paul Raymond是Inflectra公司的成功软件程序经理。他在需求管理系统方面拥有丰富的经验,包括Telelogic的DOORS和Inflectra的SpiraTeam。 Paul帮助多个行业的客户控制了他们的需求,并制定了可行的计划,以便按时按预算交付软件项目。本文最初发表于 //www.inflectra.com/Ideas/Entry/281.aspx 并经Inflectra许可复制。

1引用和引用

  1. 用户故事资源|技术未插电。

评论被关闭。