13

据我了解,Scrum backlog 由一系列代表最终用户的故事组成,这些故事进一步分解为功能。

如果是这种情况,所有与故事没有真正联系但仍然有用的幕后功能在哪里?

例如,假设我正在制作一个对硬盘内容进行编目的应用程序。一个故事不需要它,但在每个文件上都有一个 md5 散列将是标记重复项的一个很好的功能。

4

4 回答 4

15

写好故事的经典模板是:“作为一个<角色>,我想<动作>,以便<商业价值> ”(或围绕此的变体),一个故事确实应该提供商业价值。为什么?好吧,如果一个故事没有传达它产生的商业价值,那么(很可能是非技术性的)产品负责人如何评估它的重要性并相应地对其进行优先级排序?写好故事会增加您将其评为重要并因此得以实施的机会。

发现良好商业价值的一个很好的工具是5 个为什么(用于根本原因分析,即找出问题的根本原因)。黄瓜文档很好地解释了如何使用它来找到一些“好的”商业价值并且有一个非常好的样本,所以,我没有解释它,而是引用下面的解释:

商业价值和MMF

您应该讨论该功能的“为了”部分并弹出为什么堆栈最多 5 次(递归地询问为什么),直到您最终获得以下业务价值之一:

  • 保护收入
  • 增加收入
  • 管理成本
  • 提升品牌价值
  • 让产品与众不同
  • 为您的客户提供更多价值

如果您要实现一个不支持这些值之一的功能,那么您很可能将要实现一个无价值的功能。考虑把它完全扔掉,或者把它推到你的积压中。专注于实现能够产生最大价值的 MMF(最小可销售特性)。

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

[下午 5:08] Luis_Byclosure:我在将“5 为什么”规则应用于该功能时遇到问题
                         “登录”(想象一下像 youtube 这样的应用程序)
[5:08pm] Luis_Byclosure:您如何解释“登录”功能的商业价值?
[5:09pm] Luis_Byclosure:为了在其他人中得到认可,我想登录
                         在应用程序中(?)
[下午 5:09] Luis_Byclosure:为什么我想在其他人中得到认可?
[5:11pm] aslakhellesoy:为什么人们必须登录?
[下午 5 点 12 分] Luis_Byclosure:我不知道……为什么?
[下午 5 点 12 分] aslakhellesoy:我在问你
[5:13pm] aslakhellesoy:为什么你决定需要登录?
[下午 5 点 13 分] Luis_Byclosure:识别用户
[5:14pm] aslakhellesoy:你为什么要识别用户?
(下午 5 点 14 分) Luis_Byclosure:也许是因为人们想知道谁是谁
                         发布什么
[下午5:15] aslakhellesoy:为什么有人想知道谁在出版什么?
[下午 5:17] Luis_Byclosure:因为如果人们觉得该内容属于
                         给某人,那么内容是值得信赖的
[下午 5:17] aslakhellesoy:为什么内容必须看起来值得信赖?
[下午 5 点 20 分] Luis_Byclosure:可信赖让人们对内容和
                         因此在网站上
[5:20pm] Luis_Byclosure:我为什么要让人们对网站感兴趣?
[下午 5 点 20 分] 阿斯拉赫勒索伊::-)
[5:21pm] aslakhellesoy:你在那里卖东西吗?还是只是为了好玩?
[5:21pm] Luis_Byclosure:因为更多的流量意味着更多的广告收入
[下午 5 点 21 分] aslakhellesoy:给你!
[下午 5 点 22 分] Luis_Byclosure:为什么我想通过广告获得更多收益?因为我想增加
                         德收入。
[下午5:22] Luis_Byclosure:这就是结局,对吧?
[5:23pm] aslakhellesoy:为了吸引更多人访问网站并赚取更多广告费,
                         作者应该必须登录,
                         以便内容可以与作者一起显示并出现
                         更值得信赖。
[下午 5 点 23 分] aslakhellesoy:这有意义吗?
[下午 5 点 25 分] Luis_Byclosure:是的,我想是的
[5:26pm] aslakhellesoy:当你有一个无知的人(比如我)问
                         愚蠢的为什么问题
[5:26pm] aslakhellesoy:现在我知道你为什么要登录了
[5:26pm] Luis_Byclosure:但很难找到一切的原因
[5:26pm] aslakhellesoy:如果我是客户,我会更好地优先考虑这一点
                         特色
[下午 5 点 29 分] Luis_Byclosure:真的!

那么,让我开始吧:为什么在每个文件上都有一个 md5 散列会很好(正如你所做的那样,这是一个实现细节,不传达任何商业价值)?

于 2010-05-08T22:10:36.537 回答
2

没有“scrum”积压,只有

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

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

我正在更新以明确区分愿景文档和产品待办事项的商业价值:

商业愿景文件(战略级别)都是关于商业价值和产品待办事项的。但是产品待办列表等同于其他传统方法中的功能规范,它是团队可以直接实施的具体或操作性规范,而不仅仅是高级董事总经理的愿景。

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

于 2010-05-08T21:52:55.683 回答
1

归根结底,敏捷就是做对你有用的事情来提高生产力。这些答案由您决定什么是有效的。

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

使您的团队最富有成效的就是它应该成为的样子。

于 2010-05-08T21:48:43.213 回答
1

我会把它们放在类似的地方:

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

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

  • BTS:目录文件系统
  • PO:使用魔术字节查找文件类型

奇怪的!我也在做同样的申请!:-)

更新:

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

冲刺积压

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

于 2010-05-08T21:50:16.160 回答