Scrum故事和幕后功能

时间:2010-05-08 21:40:03

标签: scrum user-stories

据我所知,Scrum积压由一系列故事组成,这些故事代表最终用户的东西,并进一步分解为功能。

如果是这种情况,那么所有幕后功能都与故事没有真正联系但仍然有用?

例如,假设我正在创建一个对硬盘驱动器内容进行编目的应用程序。一个故事不需要它,但在每个文件上有一个md5哈希将是一个很好的功能,用于标记重复。

4 个答案:

答案 0 :(得分:15)

撰写好故事的经典模板是:“作为< role> ,我想< action> ,以便< business value&gt ; “(或围绕此变化)和故事确实应提供商业价值。为什么?那么,如果一个故事没有传达它产生的商业价值,那么(很可能是非技术性的)产品负责人如何评估其重要性并相应地对其进行优先排序?写好故事可以增加你被评为重要且被实施的机会。

找到良好的商业价值的好工具是5 Whys(用于根本原因分析,即查找问题的根本原因)。黄瓜documentation很好地解释了如何使用它来找到一些“好的”商业价值并且有一个非常好的样本,因此,我引用下面的解释而不是解释它:

  

商业价值和MMF

     

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

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

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

     

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

[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!

所以,让我开始吧:为什么在每个文件上都有一个md5哈希值(这表示你是一个实现细节并且没有传达任何商业价值)?

答案 1 :(得分:2)

没有“scrum”积压,只有

具有业务价值的产品所有者的产品待办事项

sprumaster / developpers的Sprint Backlog,列出了追溯到故事的任务。

我正在进行更新,以便将远景文档和产品待办事项之间的区别与商业价值区分开来:

商业愿景文档(战略层面)都是关于商业价值和产品积压的。但是产品Backlog相当于其他传统方法中的功能规范,即团队可以直接实现CONCRETE或OPERATIONNALLY,而不仅仅是来自高级管理总监的VISION。

当然产品积压本身应该可以追溯到Vision Document Items。

答案 2 :(得分:1)

在一天结束时,敏捷就是要做有效的工作。这些答案供您决定哪些方法有效。

它可能只是另一个故事的实现细节,或者它本身可能是一个故事。

什么能让你的团队最富有成效,应该是什么。

答案 3 :(得分:1)

我会把它们放在以下的地方:

  • “非用户故事”或“NUS”
  • “仅限程序员”或“PO”
  • “背后”或“BTS”

后面是对该功能的简短描述 所以:

  • BTS:目录文件系统
  • PO:查找带有魔术字节的文件类型

<子>奇怪!我正在制作相同的应用程序! : - )

更新

所以,我读了wiki,我想我们需要一个额外的日志(Sprint积压) 维基说:

  

Sprint积压

     

sprint backlog是一个文档,其中包含有关团队如何实现即将到来的sprint功能的信息。功能分为任务;作为最佳实践,任务通常估计在4到16个小时的工作之间。 通过这种详细程度,整个团队可以准确理解要做什么,任何人都可以从列表中选择任务。