上一篇讲的是单项目组软件开发分支管理
讲到了开发背景和分支说明:传送门
这篇讲的是多项目组协同开发
这里先简单介绍一下笔者:是一名多年从事互联网平台开发的工作人员,见证了一家企业由作坊式单项目组作坊发展到100多人的公司的历程
经历了由单项目组到多项目的开发过程和传统穿件开发流程到敏捷开发流程。如果有机会,可以讲讲敏捷开发(XP和scrum)
回到这里,多项目协同开发的理想状态可能如下:
但是现实情况往往是有很多出乎意料,无法达到多个项目组同时完成迭代,同时用新的分支开发。
先回顾一下单项目组开发流程:
它是由开发分支+测试分支+生产分支 3个主分支组成。
多项目组开发和单项目组开发的区别在于可能多个版本不完全同时进行开发和不完全同时进行测试并且不完全同时进行发布,但是又要在同一个项目上进行。
如何能保证这种情况下,项目能顺利发布测试上线呢?
这时候额外需要一个叫 pre-master 或者叫预发布分支,叫集成分支也ok,流程如下:
A,B两测试组分开进行自己的迭代任务,需要进行两轮测试和一轮验收,分别是在自己的测试分支测试和预发布分支进行测试和验收,ok后,才能保证此轮迭代任务完成,需要补充的是验收环节只用在预发布环境进行即可,因为客户或产品经理只关注最终的主分支成果。
到这里,协同开发流程也就结束。
欢迎大家拍砖,提问。