我如何说出这个功能和用户故事?

时间:2010-01-10 04:06:11

标签: agile scrum requirements extreme-programming user-stories

我正在学习创建功能和用户故事,并正在阅读此主题:

What is the difference between a User Story and a Feature in Agile terminology?

但我不确定它在这方面有何帮助。说我正在写一个俄罗斯方块游戏,我希望它是彩色的。我该怎么写呢?

功能:游戏必须是彩色的

用户故事:作为一个用户,我希望游戏是彩色的,这样我就能分辨出区块并轻松看到它们

用户故事:作为一个用户,我想让游戏变成彩色,这样我就可以清楚地看到我的得分并圆了

这可能不完美,但是这就像我用这样的基本东西写这个怎么样?我是否应该理所当然地认为这样的事情并不担心(我的想法是否定的)?

谢谢。

编辑:也许俄罗斯方块不是最好的例子。我假装它是全新的,没有人知道它应该是什么样子或者看起来像什么。这真的只是不应该被捕获的艺术许可吗?如果这是有史以来第一次俄罗斯方块游戏的故事,你会真正捕捉到关于颜色特征的故事,然后把它分解成单独的有价值的用户故事吗?

编辑:我想我真正的问题是,在收集要求时我不知道基本知识,并且不想错过我的学习内容。

编辑:用户故事不是scrum的一部分而不是敏捷吗?我认为敏捷是一种哲学,各种实现创造了我们所谓的用户故事。我把scrum作为标签,因为这是我想要学习的东西。

6 个答案:

答案 0 :(得分:6)

我通常不会将“变色”作为用户故事。这些天“有色”是隐含的假设桌面和网络软件。

...但如果你让一个开发人员说一些通常有单色显示器的专用硬件,决定使用支持颜色的硬件和软件将是一件大事 - 和会消耗硬件和软件世界中的资源。您需要对颜色相关的故事进行细分和估算......这些故事的成本可能会影响您使用的颜色系统以及需要支持的颜色数量。将主题分解为故事会让您了解需要一次显示多少种颜色,以及可能还有很多其他图形系统的细节。

“有色”可能太模糊了。这听起来更像是营销要求而不是用户故事。我可以想象这些与颜色相关的用户故事:

  • “作为一名用户体验设计师,我希望显示伦敦地铁地图,每一行都以正确的伦敦传输颜色显示,以便用户直观地按颜色识别线条。”
  • “作为一名用户体验设计师,我希望紧急信息以红色显示,以便与所有其他信息明确区分开来,以便明确与危险相关联。”
  • “作为推销员,我希望系统能够在三大客户的配色方案中进行换肤,以增加销量。”

答案 1 :(得分:4)

就个人而言,我在故事和故事之间没有任何区别,故事应该是MMF(Minimal Marketable Features)。即使有些人会或可能不同意,我也不会花太多时间来处理这种差异并继续撰写故事。

关于他们,您使用的模板似乎没问题(“作为< role>,我希望< action>以便< business value>”)。然而...

首先,我真的建议使用< role> (“用户”可能有多个角色),这有助于发现故事。在你的情况下,这可能没有太大的区别,因为我不确定俄罗斯方块用户有多个角色但仍然,我会写“作为一个玩家......”而不是“As用户......“。现在我写了这篇文章,我可以想到不同的角色:noob player,pro player等可能会有不同的期望。

其次,您似乎在“商业价值”部分遇到了麻烦。这部分的一个非常有用的工具是5 Whys(用于根本原因分析,即找到问题的根本原因),这是一种非常强大的技术。黄瓜documentation很好地解释了如何使用它来找到一些“好的”商业价值并且有一个非常好的样本,因此,我引用下面的解释而不是解释它:

  

商业价值和MMF

     

你应该讨论“为了”   功能的一部分和pop the why stack最多5次(问为什么   递归地)直到你最终得到一个   以下商业价值观:

     
      
  • 保护收入
  •   
  • 增加收入
  •   
  • 管理费用
  •   
  • 提升品牌价值
  •   
  • 让产品卓越
  •   
  • 为您的客户提供更多价值
  •   
     

如果您要实施某项功能   这不支持其中之一   价值观,你很有机会   实现一个无价值的功能。   考虑完全抛弃它或   在你的积压中推倒它。焦点   实施将要实施的MMF(Minimum Marketable Features)   产生最大价值。

     

以下是从IRC中获取的示例   [#cucumber] [6]中的聊天会话:

[5:08pm] Luis_Byclosure: I'm having problems applying the "5 Why" rule, to the feature 
                         "login" (imagine an application like youtube)
[5:08pm] Luis_Byclosure: how do you explain the business value of the feature "login"?
[5:09pm] Luis_Byclosure: In order to be recognized among other people, I want to login 
                         in the application (?)
[5:09pm] Luis_Byclosure: why do I want to be recognized among other people?
[5:11pm] aslakhellesoy:  Why do people have to log in?
[5:12pm] Luis_Byclosure: I dunno... why? 
[5:12pm] aslakhellesoy:  I'm asking you
[5:13pm] aslakhellesoy:  Why have you decided login is needed? 
[5:13pm] Luis_Byclosure: identify users
[5:14pm] aslakhellesoy:  Why do you have to identify users?
[5:14pm] Luis_Byclosure: maybe because people like to know who is 
                         publishing what
[5:15pm] aslakhellesoy:  Why would anyone want to know who's publishing what?
[5:17pm] Luis_Byclosure: because if people feel that that content belongs 
                         to someone, then the content is trustworthy
[5:17pm] aslakhellesoy:  Why does content have to appear trustworthy?
[5:20pm] Luis_Byclosure: Trustworthy makes people interested in the content and 
                         consequently in the website
[5:20pm] Luis_Byclosure: Why do I want to get people interested in the website?
[5:20pm] aslakhellesoy:  :-) 
[5:21pm] aslakhellesoy:  Are you selling something there? Or is it just for fun?
[5:21pm] Luis_Byclosure: Because more traffic means more money in ads
[5:21pm] aslakhellesoy:  There you go!
[5:22pm] Luis_Byclosure: Why do I want to get more money in ads? Because I want to increase 
                         de revenues.
[5:22pm] Luis_Byclosure: And this is the end, right?
[5:23pm] aslakhellesoy:  In order to drive more people to the website and earn more admoney, 
                         authors should have to login, 
                         so that the content can be displayed with the author and appear 
                         more trustworthy.
[5:23pm] aslakhellesoy:  Does that make any sense? 
[5:25pm] Luis_Byclosure: Yes, I think so
[5:26pm] aslakhellesoy:  It's easier when you have someone clueless (like me) to ask the 
                         stupid why questions
[5:26pm] aslakhellesoy:  Now I know why you want login
[5:26pm] Luis_Byclosure: but it is difficult to find the reason for everything
[5:26pm] aslakhellesoy:  And if I was the customer I am in better shape to prioritise this 
                         feature among others
[5:29pm] Luis_Byclosure: true!

让我扮演一个无能为力的家伙并问第一个为什么问题:你为什么要让游戏变成彩色?

祝你好运!

答案 2 :(得分:2)

“Susie开启了俄罗斯方块应用程序,并且被蓝色,红色和黄色块状物从屏幕上掉下来感到眼花缭乱。她注意到蓝色的L形块可能恰好贴在红色的T形块旁边她瞥了一眼鲜红色的分数......“

人们自然有能力倾听故事,并记住细节,可能是从人们讲述篝火周围故事的日子中继承的进化人才。那些记得剑齿虎的细节以及它从背后猛扑过来的人幸免于难,而那些记不起这个故事的人却被吃掉了。

因此,故事提供了一种记忆事物的简单方法,因为我们的大脑中有复杂的视觉处理设备,如果我们可以在脑海中形成视觉图像以伴随故事,我们就能记住很多信息。

答案 3 :(得分:1)

我将这个特定的例子视为另一个故事的接受标准。具体来说,就是定义块的那个。

现在,如果这是对现有功能的更改(即您的块目前都是白色的),那么它就是一个独立的故事。

答案 4 :(得分:1)

虽然我可以看到游戏必须是彩色的初始卡片或史诗,但是有很多小细节会随着精细细节的探索而出现,例如:

1)范围 - 仅仅是讨论正在下降的块而不是屏幕的其余部分,或者是否涵盖其他部分,例如保留得分的位置,级别编号以及屏幕上的其他详细信息。

2)广度 - 您是否在调色板中使用16种,256种或更多颜色来执行此操作?谁决定在哪里使用哪种颜色?

3)显示细节 - 这是用于标准显示器还是模拟专用显示器,说有一个有4种灰度的Nintendo Game Boy?屏幕有多大?

其中一些细节不应该包含在故事的概述中,而是应该由故事中的任何人发现。

总而言之,3点中的细节可能是任务完成时产生的工件,但对于故事本身而言,“为游戏添加颜色”是标题/标题/摘要,如果有详细信息可用,如果有人想要它并且可以指定他们是否需要段落,页面或新颖的篇幅。不要提前加载过多的细节,以便使卡片完成90%的工作,并且有太多的文书工作使得工作以昏昏欲睡的速度完成,这是我要添加的警告。初始卡只是一个起点,可能会导致一些尖峰,因为未知数已经解决,所以不要过多担心初始卡的措辞,除非每个人都完全遵循这些信,而不是遵循“这就足够了”让我们开始,随着工作的完成,可能会发现新事物。“

答案 5 :(得分:0)

我认为专题报道应该关注用户和系统之间或系统之间的主动互动。至少我见过的所有人都是这样的。

像块的颜色这样简单的东西可能不值得为用户编写故事。然而,这样的事情将是一个有效的故事:“当用户按下空格键时,该片段将立即落到该区域的底部。”

相关问题