我们有两个不同的敏捷团队,每个团队都在分开但相关的应用程序上工作。
到目前为止,每个团队都能够以独立的方式工作(不同的代码库,持久商店,冲刺,积压等)。最近,产品管理决定这些应用程序将变得更加紧密地集成。附带说明,在接下来的6-12个月中,每个团队的大小(由QAS,DEVS,BAS组成)将增加。

管理层已决定将敏捷流程保持完整,因为它运行良好(两个团队尽可能多地独立工作),但已提出了基于合同的服务层的想法,作为整合应用程序的手段。

在每个冲刺中,将确定需要与其他应用程序集成的任何故事。到那时,其他团队积压将添加一个其他“集成”故事。然后,该团队将受到履行合同的任务。同时,另一个团队可以继续他们的原始故事工作,替换模拟/假服务,直到另一个团队提供工作服务为止。

自从敏捷传讲亲吻菲洛斯以来,团队中的几个人对这种方法的“复杂性”构成了疑问。他们提倡继续使用存储程序共享作为“过去效果很好”的更精简/简单的集成方法。

我更喜欢基于合同的编程出于各种原因,但是主要原因是它可以为您的应用程序提供的行为提供汇编时间可见性。您还围绕谁拥有什么代码以及如果您违反合同可能会违反谁的代码获得明确的界限。存储程序没有。

由于我们已经从敏捷中获得了许多好处,因此我想认为已经有一种处理这种应用程序集成/同步的“敏捷友好”方法。创建基于合同的SOA层是否满足敏捷气味测试?我没有考虑过第三个选择吗?

有帮助吗?

解决方案

好问题。行走设计钢丝总是很棘手的。我认为使应用程序尽可能松散地耦合绝对是必经之路。

可能的工作最简单的事情是一种很好的方法,但是遵循教条的结局,而无需考虑坚实的原则和一般良好的设计将为您提供两个紧密耦合的应用程序,并且可能充满了技术债务将来的某个时候,团队陷入困境。

现在,将其解耦和添加抽象似乎是最明智的事情,只要您不添加许多尚不需要的其他“框架”即可。诀窍是确保您拥有足够好的设计,可以在需要时该框架增长,而无需构建许多不必要的内容 - 您需要做足够的事情来解除应用程序。

其他提示

我认为保持当前过程完整不是好主意。团队之间的合作与沟通必须增加,否则它将对两个团队产生负面影响。您应该遵循类似的练习与Scrum Scrum。

编辑Scrum的Scrum:我没有多个Scrum团队处理的项目经验,但是由于每日Scrum的经验非常好,因此相信Scrum的Scurm可以工作并提高所有团队的生产力。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top