你如何确保你总是有一个可发布的构建?
我所在的Scrum团队遇到了以下问题:在Sprint的末尾,团队将其完成的用户故事展示给产品负责人。PO通常会接受几个用户故事,但拒绝一个或两个。在这一点上,团队不再有可发布的构建,因为构建由可发布的故事和不可发布的故事组成,并且没有简单的方法来撕下不可发布的故事。此外,我们不想只删除与不可发布的故事相关的代码,因为通常我们只需要添加一些错误修复。
我们该如何解决这个问题呢?我的猜测是,有一些方法可以分支构建,使得(a)每个用户故事都在其自己的分支上,并且用户故事分支可以合并,或者(b)有一种方法可以注释与每个用户故事相关联的代码,并创建一个只具有工作用户故事的构建。但我不知道怎么做(a)或(b)。我也对有更简单的解决方案的可能性持开放态度。
我想强调的是,问题不是构建被破坏了。构建并没有被破坏--只是构建中的一些用户故事不能发布。
我们目前正在使用svn,但如果这可以解决问题,我们愿意切换到另一个源代码控制系统。
除了答案之外,我还对任何涉及这个问题的书籍或参考资料感兴趣。
发布于 2010-11-17 16:53:49
我认为你想退出不完整代码的愿望是解决真正问题的创可贴。真正要解决的问题是,你做错了什么,让你以不可接受的故事结束了冲刺。
在我看来,你有3个问题中的一个(或全部)。
中那样。
每个特性的分支对于小团队来说是一件昂贵的事情,当构建大型系统时更合适,因为有许多scrum团队构建组件部分。这就像买汽车保险一样,因为你经常撞车;它不会让你更快地到达那里,它只会让你在路上支付更多。
尝试这个冲刺或2:在PO批准当前的故事之前,不要开始另一个故事。
发布于 2010-11-16 05:11:42
正如你所建议的,解决这个问题的一种方法是从一开始就考虑拒绝。要求每个用户故事都可以通过配置指令启用或禁用,这保证了没有被拒绝的故事的可发布构建。
如果你真的想排除被拒绝的故事,那么配置指令是不够的,因为它可以被客户端编辑。在这种情况下,您可以考虑编译常量。
这种方法需要一些额外的代码和测试,但省去了分支和合并的麻烦。您还可以保持修订控制环境不变。
希望这能有所帮助。
发布于 2010-12-02 05:10:52
我同意@DancesWith竹子--你问的是症状,而不是真正的问题。问题是:
为什么PO拒绝这些报道?
敏捷实践者谈论“检查和适应”或“计划-做-检查-行动”。在冲刺结束时,让团队和Scrum Master讨论什么是有效的,什么是无效的,什么是你想要添加的。回顾有不同的风格--重要的是,回顾应该产生可操作的项目,旨在改进您的流程。敏捷并不意味着保持流程不变--总是有改进的空间。
(*有些人建议,一旦sprint开始,就不应该改变故事的内容。对我来说,这太死板地坚持流程了。如果PO已经合法地确定它不再提供业务价值,我认为完成一个故事的团队没有任何意义。)
https://stackoverflow.com/questions/4191324
复制相似问题