(This is the ninth blog in the series “How to train cross-functional teams”, for links to previous blogs please go to the end of this blog)
A lot of people are only familiar with Standard Agile which is focused on optimizing the work for a single team. It can therefore be a challenge to align across teams. One important task is to train the team members in how to manage dependencies between multiple teams while still maintaining the agile framework.
Below we talk about how to manage dependencies regarding specific areas.
Alignment of epics and features
A business process that requires multiple (sub-)systems to generate business value, requires proper alignment of the user stories that are part of the various (sub-)systems. For this the teams involved need alignment in the epics, features and user stories.
One way to handle this is to have a joint priority and planning meeting in which all stakeholders participate where epics, features, and user stories that influence multiple teams are discussed, prioritized, and planned.
We’ve had success with a joint Kanban board with the high-level epics and features where we keep track of progress, and re-planning/prioritizing needs. The epics deliver business value across systems/teams. These are divided into features that are delivered by a specific system/team. With a joint Kanban board, it is much more clear when specific epics need to be delivered and the progress of each epic and feature is tracked. Dependencies can also be resolved much easier.
Setting priorities is difficult with multiple teams because the priorities need to be aligned. There’ll be a problem when something in one team is low priority, that’s needed for another team’s high-priority story. Often, teams have different product owners with totally different priorities.
This requires the stakeholders of the various teams to agree on the overall priorities. This is something that’s not self-evident. It’s therefore important to communicate about this need, and its importance with all affected parties from individual team members to top-level management. Facilitate this with meetings in which all the different stakeholders participate and discuss the priorities.
Support from outside the team
Often not all tasks a team needs to do, can be done by the team members. There are always specific knowledge and skills needed that are not available in the agile team. Examples are support around performance testing, interaction design, and top-level architecture. Good agreements about how to ask for support from outside the team facilitate this. For example, by using system teams and/or shared services as described in the Scaled Agile Framework or using “virtual teams” of representatives of various teams that work together on a specific subject such as end-to-end testing.
There are various specific challenges when working in an agile at scale situation, and we’ve discussed some of the solutions to the most common ones. Testing challenges were discussed in the previous blog post, and the remaining ones were discussed above. Of course, depending on the organization there are other possible solutions. Hopefully, you can get some ideas from our description. Also, you can refer to the syllabus of the training course “TMAP: Organizing built-in quality at scale” (see: https://tmap.net/media/751)
How do you address the challenges when working agile at scale?
Please, let us know in the comments below, we will incorporate your challenges in our future blogs!
This blog has been co-authored by Eva Holmquist
This is the ninth blog in the series How to train cross-functional teams, the second blog is here How to be a good cross-functional team member, the third blog Does every team member need coding skills, the fourth Five different ways to train a cross-functional team member, the fifth Challenges of agile at scale , the sixth Do cross-functional team members need business knowledge?, the seventh What’s the difference between training on-line and on-site and the eight Solutions to the testing challenges when working agile at scale