我应该为多个角色编写类似的用户故事吗?

Posted

技术标签:

【中文标题】我应该为多个角色编写类似的用户故事吗?【英文标题】:Should i write similar user stories for multiple roles? 【发布时间】:2013-04-05 23:03:19 【问题描述】:

我们的两个用户角色似乎有一个相似的故事。

有一个外部和一个内部销售人员被确定为不同的角色。

他们都可以在调查中捕获数据。但是外部推销员(而且只有她)能够添加新的调查来源(例如商店),但只能在创建新调查时添加。内部销售人员必须在另一个系统中添加新的调查源,该系统将在一夜之间导入。没有调查就不可能添加新的调查来源。

到目前为止,我们有这个故事:

As a salesman i can create a survey so that the survey source can be benchmarked.

还有这些场景:

Scenario: Survey created by internal salesman    
Given an internal salesman
and a choosen shop as survey source
when a survey is created
then the survey source is benchmarked.

Scenario: Survey created for new survey source by external salesman
Given an external salesman
and a new shop as survey source
when a survey is created
then the survey source is added 
and the survey source is benchmarked.

我怀疑这应该是要求的结束。 首先,没有明确定义“推销员”角色。但我们在故事中使用它。 并且没有明确规定只能由外部推销员创建新的调查来源。

我们应该改写还是拆分故事?将“添加新的调查来源”放在场景中是否足够?

【问题讨论】:

【参考方案1】:

在你开始写故事之前,也许我们应该往回走几步。理想情况下,您的需求分析应该从角色(或更好的角色)的初步列表开始,以描述系统参与者是谁以及他们想对系统做什么。因此,在您的模型中,内部和外部推销员听起来像是不同的角色,因为他们的互动以及他们对系统的期望是不同的。

一旦您确定了角色,那么最好画出一个简单的域或上下文图,以显示角色和外部系统如何与您正在构建的系统交互。 (http://www.agilemodeling.com/essays/initialRequirementsModeling.htm)

根据您的描述,听起来您应该有一个图表,显示 2 个不同的销售角色和调查源系统,其中箭头描述了这些元素如何与主系统交互。单独的外部销售角色可以直接添加调查来源这一事实在上下文图中应该非常清楚。而且由于他们的互动看起来与内部销售角色不同,您会知道您实际上有两个不同的用户故事。

【讨论】:

以上是关于我应该为多个角色编写类似的用户故事吗?的主要内容,如果未能解决你的问题,请参考以下文章

简洁的用户故事编写格式

《用户故事与敏捷方法》阅读笔记03

读《用户故事与敏捷方法》有感

敏捷开发中如何写好用户故事?

敏捷开发自动化测试框架之用户故事

《用户故事与敏捷方法》读书笔记2