如果我们有多个敏捷团队在同一个代码库上工作时,如何将彼此之间代码互相冲突的风险最小化?如何确保每个迭代结束时拥有一个干净的、可发布的软件版本?本文讲述了关于如何在敏捷的环境中与多个团队共同进行版本控制工作的实例——这正是我们在《Scrum and XP from the Trenches》中描述的公司所采纳的方式。项目管理者联盟
本文并非专为版本控制专家所写,实际上这样的专家在本文中找不到新东西。本文是为我们这些希望进行简单、有效的协作的人所准备的。任何直接参与敏捷软件开发的人,无论他承担何种角色,都有可能对其感兴趣——每个人都会用到分支和合并,而不只是配置经理。club.mypm.net
介绍项目管理培训
本文讲述了关于如何在敏捷的环境中与多个团队共同进行版本控制工作的实例。我假定你已经熟悉了Scrum的基本元素、XP方法和任务板。这些方式不是我发明的,它们是基于“主线(mainline)模型”或“稳定主干(stable trunk)模式”。想阅读更多信息请查看引用部分。项目管理者联盟
撰写本文,是因为我一直在遇到需要类似内容的团队。许多团队在理解了模型之后,似乎非常喜欢这些模型。它也正是我们在《Scrum and XP from the Trenches》中描述的公司所采纳的方式。它真的可以帮助我们以更敏捷的方式来开发和发布软件。通过以易于阅读的方式来描述模型,也许我不再需要反复在白板前做解释了。)service.mypm.net
注意这只是众多模式中的一种,不是“银弹“。如果你决定采用该模型,也许你需要做出一些变更来适应你自己的特定上下文。training.mypm.net
目标项目管理者联盟
在多个团队构成的敏捷环境中,版本控制模型必须达成以下目标:项目管理者联盟
快速失败项目管理者联盟
代码冲突和集成问题应该可以被迅速发现。项目管理者联盟
经常修复小问题要胜过不常修复大问题。bbs.mypm.net
一直可发布项目管理者联盟
即使经历了一个混乱的Sprint,也要保证至少有些可以发布的内容。项目管理者联盟
简单项目管理者联盟
所有的团队成员每天都会使用这些模式,所以相关规则和程序必须要简单明了。www.mypm.net
单页总结(对于挂在墙上的内容)pmp.mypm.net
如果该图让你觉得很迷惑,别着急,阅读本文即可。如果其中的理念对你来说很明显,读读本文也无妨。项目管理者联盟
项目管理者联盟文章
www.mypm.net
版本控制模式blog.mypm.net
分支所有者&方针项目管理者联盟
下面是要遵循的一条简单规则。项目管理者联盟
规则:每个分支(即使是主干分支)都拥有一个所有者和一条方针。pmp.mypm.net
不遵守上述规则,我们只能得到一片混乱。方针说明按照本规则,什么样的内容可以检入到当前分支中。所有者是负责定义和检查规则执行情况的人。项目管理培训
“完成”概念项目管理者联盟
|