Svn 与外包团队合作的分支策略?

Svn 与外包团队合作的分支策略?,svn,branching-strategy,Svn,Branching Strategy,我计划管理一个外包的开发团队,通过让该团队在特性分支中为他们分配的所有工作来处理我的代码库。他们将负责每周合并主干的更改。我自己的团队也会根据需要继续使用特性分支 是否有人根据使用特定分支策略集成外包工作的经验提出了一些建议?根据我的经验,在与外包开发团队合作时,最好避免涉及太多手动步骤的开发过程。如果对如何解决合并问题感到困惑,那么他们将不得不与您或您的内包团队成员进行沟通,这将使每个人都慢下来 我接触过的大多数外包团队都在印度,所以时区差异是一个挑战,他们的工作日通常在你开始的时候结束,除非

我计划管理一个外包的开发团队,通过让该团队在特性分支中为他们分配的所有工作来处理我的代码库。他们将负责每周合并主干的更改。我自己的团队也会根据需要继续使用特性分支


是否有人根据使用特定分支策略集成外包工作的经验提出了一些建议?

根据我的经验,在与外包开发团队合作时,最好避免涉及太多手动步骤的开发过程。如果对如何解决合并问题感到困惑,那么他们将不得不与您或您的内包团队成员进行沟通,这将使每个人都慢下来

我接触过的大多数外包团队都在印度,所以时区差异是一个挑战,他们的工作日通常在你开始的时候结束,除非你有一个昂贵的团队,负责东部、中部和太平洋山区的工作。沟通问题是致命的,大多数情况下,我第二天来时会发现他们一事无成,因为没有我的直接帮助,他们无法解决一些问题


合并通常是不受欢迎的,但我个人认为它只适用于由中级到高级开发人员组成的紧密团队。

那么,为了避免合并,您的策略是什么?当然,让每个人都在同一个部门工作会更糟糕吗?不,那也不坏。我只会在每个版本中分支代码,或者在对应用程序进行大量更改(需要花费大量时间才能完成)时进行分支,只有在我确信这不会影响其他开发工作后才进行合并,但这是一个例外情况。每个人都应该一起在同一个分支上工作,但是您可以通过遵循持续集成标准来降低波动性,我们正在向敏捷方向发展,因此从技术上讲,我们应该能够在每个版本上进行分支,因为我们将致力于可预测的版本。但我可以看到日期在减少,因为它们将远离许多时区。该项目是供应商提供的经典ASP webapp的定制版本,因此很难实现真正的CI。或者至少当我试着用头去绕它的时候,它看起来是这样的(续)您可以通过设置一个公共开发环境来利用持续集成,该环境每天早上都会部署最新的代码,以便团队可以测试其功能的集成。如果构建失败,应该由破坏构建的人修复。如果开发人员的代码在其开发工作站上工作,而不是在集成环境上工作,那么您已经缩小了集成bug的范围,可以开始解决它。他们给CI带来了很多好处,虽然这听起来很沉重,但我无法想象一个外包项目不遵循这些标准。啊,我喜欢那些著名的词,“我们正在迈向敏捷”:)每次我听到这些,它总是一个不了解敏捷好处的组织,或者,管理层与开发商的意见相反,直接对此表示厌恶。我很感激你的处境,因为我以前也经历过。让我这样说吧,忘记日期,忘记时区,我从来没有见过一个联合内部外包项目在没有对敏捷和CI的充分承诺的情况下成功。我参与的组织抵制的项目最终涉及我重做离岸团队工作。