我的任务是为我们向Agile过渡提供一个svn结构,该结构必须扩展到多个团队(有多个开发人员)。在与同事交谈后,我想出了下面的示例结构。我从其他有合法顾虑的团队成员那里得到了一些回击。当我们必须共享QA环境时,我希望找到在多个团队中拥有svn结构的最佳实践。
在上面的例子中,您可以看到我使用了很多敏捷/ Scrum术语。我这样做是为了帮助解释我为什么想出这个结构的决定。本质上是"主要" trunk将始终只有来自所有团队的故事,这些故事已经完成了#34;已完成的定义"其中包括质量保证。我指出的主要问题是我们必须共享环境(并且出于原因,我们无法虚拟化这些环境),因此,每天发布QA测试将很困难,因为每个团队都会踩到每个环境其他。他们想要解决的另一个问题是,有些人不希望每个开发人员都拥有自己的分支,因为这会增加每个团队/个人必须合并的数量。
此时我不知道该如何回应。我希望有些人/团队能够在这片土地上告诉我们他们的结构如何,以及你因为结构而遇到的问题。
答案 0 :(得分:2)
我建议你看看"持续交付"作者:Jez Humble和David Farley。他们详细介绍了分支策略,并专门讨论了SVN。
您是否正在推动频繁发布?如果你是,那么最好的方法通常是让所有队员进入后备箱。分支的唯一时间是发布,这样您就可以立即解决生产问题,而不必担心正在进行的工作的影响。
您可能认为这会导致很多集成问题而且您会是对的。但我们的想法是尽早提出整合问题,这通常是修复它们的努力最低的时候。
您需要有一些强大的持续集成来支持这种方法。优选具有良好的自动化回归测试覆盖率。
答案 1 :(得分:0)
我强烈建议您考虑以下敏捷问题:
敏捷方法不仅要么是一个好的源代码策略,要么是管理;整个团队必须精心定位,良好的同步和良好的动力。否则,您的项目将取得成功,但不会敏捷。