本节书摘来自异步社区《配置管理最佳实践》一书中的第1章,第1.5节,作者: 【美】Bob Aiello , Leslie Sachs著,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.5 管理全球分布式开发团队
源代码管理可以帮助协调分布式开发团队之间的工作。如图1.7所示,在伦敦、纽约和孟买有三个开发团队,源代码最佳实践可以有条理有逻辑地帮助协调每个人的工作。
在地理分布式的工作环境中,全球性软件开发的挑战是能够协调好工作和使变更受控。对于同一房间里坐在对面的两个人,协调好工作和使变更受控都不是件很容易的事情,而对于那些身处不同国家,工作在不同时区,有着不同语言、文化、追求的团队来说,这就更难了。
源代码管理可以在各自的分支上帮助组织这些工作,使其可以在一个地方被完成,进行审查,然后通过受控和可追溯到方式合并到主干。还可以通过建立一个海外分支(Offshore branch),上面所有的变更经由国内的团队审查,最后合并到主干(最后的结果要复制回海外分支)。另外一个方法是允许国外团队具有相同的源代码库访问权,就好像他们工作在国内一样。常见的最佳实践是通过使用变更请求(CR, Change Request) 来沟通和跟踪这些变更。变更请求也就是我们通常看到的工作项(work item)、任务、
产品改进(enhancements)或者缺陷(defect)。每一个变更请求的类别都有不同的生命周期,从而可以建立和实施不同的流程,这样就可以有效地进行代码控制。好的源代码管理实践可以为团队建立有效的控制和适合的流程,可靠地控制离岸开发(offshore development)。我推荐建立一些试点项目,然后尝试一个或多个方法,通过实际效果看看哪个更适用于团队。随着时间的推移,源代码管理逐渐细化,团队也在慢慢改变和成熟,适用于团队、促进工作的有效流程也会逐渐地建立起来。
图1.7 源代码管理有助于协调分布在世界各地的团队间的合作。
正确的策略包括良好的协调机制,进度可跟踪性和高的可见性。