据我了解,Scrum backlog 由一系列代表最终用户的故事组成,这些故事进一步分解为功能。
如果是这种情况,所有与故事没有真正联系但仍然有用的幕后功能在哪里?
例如,假设我正在制作一个对硬盘内容进行编目的应用程序。一个故事不需要它,但在每个文件上都有一个 md5 散列将是标记重复项的一个很好的功能。
据我了解,Scrum backlog 由一系列代表最终用户的故事组成,这些故事进一步分解为功能。
如果是这种情况,所有与故事没有真正联系但仍然有用的幕后功能在哪里?
例如,假设我正在制作一个对硬盘内容进行编目的应用程序。一个故事不需要它,但在每个文件上都有一个 md5 散列将是标记重复项的一个很好的功能。
写好故事的经典模板是:“作为一个<角色>,我想<动作>,以便<商业价值> ”(或围绕此的变体),一个故事确实应该提供商业价值。为什么?好吧,如果一个故事没有传达它产生的商业价值,那么(很可能是非技术性的)产品负责人如何评估它的重要性并相应地对其进行优先级排序?写好故事会增加您将其评为重要并因此得以实施的机会。
发现良好商业价值的一个很好的工具是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 散列会很好(正如你所做的那样,这是一个实现细节,不传达任何商业价值)?
没有“scrum”积压,只有
具有商业价值的产品所有者的产品待办事项
和
scrumaster/developpers 的 Sprint Backlog,列出了追溯到故事的任务。
我正在更新以明确区分愿景文档和产品待办事项的商业价值:
商业愿景文件(战略级别)都是关于商业价值和产品待办事项的。但是产品待办列表等同于其他传统方法中的功能规范,它是团队可以直接实施的具体或操作性规范,而不仅仅是高级董事总经理的愿景。
当然,产品 backlog 本身应该可以追溯到 Vision Document Items。
归根结底,敏捷就是做对你有用的事情来提高生产力。这些答案由您决定什么是有效的。
它可能只是另一个故事的实现细节,也可能是一个故事本身。
使您的团队最富有成效的就是它应该成为的样子。
我会把它们放在类似的地方:
随后是对该功能的简短描述。
所以:
奇怪的!我也在做同样的申请!:-)
所以,我阅读了wiki,我认为我们需要一个额外的日志(Sprint 积压)。
维基 说:
冲刺积压
sprint backlog 是一个文档,其中包含有关团队将如何为即将到来的 sprint 实现功能的信息。功能被分解为任务;作为最佳实践,任务通常估计在 4 到 16 小时的工作时间之间。有了这种详细程度,整个团队就可以准确地了解要做什么,并且任何人都可以从列表中选择一项任务。