上一篇讲的是单项目组软件开发分支管理
讲到了开发背景和分支说明: 传送门
这篇讲的是多项目组协同开发
这里先简单介绍一下笔者:是一名多年从事互联网平台开发的工作人员,见证了一家企业由作坊式单项目组作坊发展到100多人的公司的历程
经历了由单项目组到多项目的开发过程和传统穿件开发流程到敏捷开发流程。如果有机会,可以讲讲敏捷开发(XP和scrum)
回到这里,多项目协同开发的理想状态可能如下:
但是现实情况往往是有很多出乎意料,无法达到多个项目组同时完成迭代,同时用新的分支开发。
先回顾一下单项目组开发流程:
它是由开发分支+测试分支+生产分支 3个主分支组成。
多项目组开发和单项目组开发的区别在于可能多个版本 不完全同时进行开发 和 不完全同时进行测试 并且不 完全同时进行发布 ,但是又要在 同一个项目上 进行。
如何能保证这种情况下,项目能顺利发布测试上线呢?
这时候额外需要一个叫 pre-master 或者叫预发布分支,叫集成分支也ok,流程如下:
A,B两测试组分开进行自己的迭代任务,需要进行两轮测试和一轮验收,分别是在自己的测试分支测试和预发布分支进行测试和验收,ok后,才能保证此轮迭代任务完成,需要补充的是验收环节只用在预发布环境进行即可,因为客户或产品经理只关注最终的主分支成果。
到这里,协同开发流程也就结束。
欢迎大家拍砖,提问。
随着1990年代末和2000年代初敏捷方法的出现,与关注个人相比,重点转移到了导致项目成功交付的团队上。与传统的软件工程实践相比,敏捷方法论被认为是开发软件产品和系统的另一种替代过程。注重强调并将人和团队因素融入软件开发过程中,构成了敏捷开发的核心部分。敏捷组织中强调自组织,自组织团队被认为是以最小的依赖性进行运作的团队。
软件开发本身就是一个复杂自适应系统。它几乎具有CAS的所有基本属性,并且有趣的是,例如,翻阅了各种CAS中的 适应性 ,并考虑了其在软件开发和敏捷性原则中的应用。
对复杂适应系统的深入了解将为敏捷开发的真正根源提供一些启示。掌握了这些知识之后,我们将更容易理解为什么它起作用以及为什么失败。我们将更容易的为做出更好的软件快速的做出决策。
复杂科学其实以及融入到很多科学中。控制论,生态学,社会学,气象学,机器学习,人工智能都在研究复杂性。
如果把
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)