Multiple Agile teams all developing on the same software application?
I've been running Agile teams for about a year now, but I still feel pretty new to it. From what I've learned, Agile is great for software development teams, especially when you can work with the business and create agile teams that have a mix of IT and business people who work together to develop and refine a single business product.
We are trying to do that. But some of our applications will therefore require more than one agile team to work on them. For example, we are thinking of creating several agile teams to support our call center. One team can support credit card servicing while another team will handle loan servicing and another team will be assigned to support general customer service requests such as change of address. There is definitely enough work here for multiple teams. But we are concerned that all three of these agile teams will be modifying the same base software application. We have a similar situation in other areas where we are trying to transform to agile.
I think ideally it would be great to split up the applications so that each agile team just works on their own app. But this isn't realistic. Some of these are vendor apps and we can't modify the base architecture. Others are legacy and it would take tremendous effort to re-write them and split them apart.
I suspect that other companies that switch to agile find occasions where they experience the same situation. Where can I find more about the best practices of multiple agile teams that are all modifying the same software source code at the same time? For example, they are going to need to merge their code and coordinate on testing and releases. Where can I learn more about all of the things to consider?
Or, is our thinking flawed? Should we be organizing agile teams around software platforms instead of around business needs?
Please let me know what you think!
Read Large Scale Scrum (LeSS) by Craig Larman and Bas Vodde.
You should check out the resources on Scaled Professional Scrum (Nexus) on this site. As you do so, bear in mind the essential challenge of ensuring that the work of multiple teams is properly integrated.