When building a product your software team will most likely be working with other teams in your organization. As a scrum master there's a lot of work I do to make sure my teammates are communicating effectively with each other, but making sure teams across the organization are communicating effectively is just as important, and often overlooked.
Here are some steps I took and ideas I have to make sure your cross-team communication and collaboration is as healthy as your intra-team communication and collaboration.
Focus on the positive during conflict
Conflict is a natural part of a healthy business but the last time we actively learned how best to resolve conflict was probably in kindergarten. While taking turns with whatever toy started the conflict was the solution then, it doesn't work in the adult arena.
The 3P Method of Conflict Management is a helpful tool to use whenever conflict arises. The 3P Method is to pause, and pivot to the positive.
When a meeting devolves into pointing fingers the first step is to pause, and let everyone reset. This doesn't stop people from feeling the negative emotions but it will take everyone out of the fight-or-flight mindset or perhaps the fight-or-fight mindset.
The next step is to pivot and identify what went wrong from a neutral standpoint, without assigning blame. This requires someone in the group to become the mediator and create a shared understanding of the problem. Only when everyone can agree on the problem can a solution be had.
The final step is to identify positive things that have come up in the disagreement. Perhaps there are lessons learned or just the knowledge that the old way of working no longer works.
With the 3P method the goal is to get everyone out of the negative mindset and into a solution-oriented mindset. Conflict is unavoidable but how conflict is handled is a choice.
Create cross-team agreements
Agile teams have cross-team agreements to avoid conflict within the team so it's natural that there would be one across teams as well. I found that even across teams there's a journey through Tuckman's stages of group development and cross-team agreements help accelerate the journey.
Even if you work with many teams across time zones it may be helpful to let them know the communication style of your team to head off any future misassumptions.
Discuss escalation guidelines
When you're building complex products with other teams there is the need for a lot of coordination. This also means sometimes your developers need to reach out and get answers from outside developers. Since everyone is trying to meet their commitments there may be delays in getting answers leading to frustration. Having a good communication escalation strategy can help ameliorate the frustration.
Since my teams follow scrum, these blockers come up quickly at stand up and I can escalate the question to the other scrum master to get an answer.
Discuss cross team code review guidelines
Having other team members review your team's code is a great way to foster a knowledge sharing process. However, even with this benefit code reviews can cause conflict. Much like having a communication escalation strategy, a code-review escalation strategy will set a process so conflict is resolved and commitments can be met.
Discuss cross team definition of done
A way to make code reviews easier is implementing a cross-team definition of done. This helps avoid code-review conflict because you can make sure at least the definition of done is met for all committed code. It also allows for developers to easily transfer between teams because every team has the same code standards.
Share best practices
Every software team is unique but every team is also trying to solve the same basic problem. They're trying to meet their set commitments and add incremental value to the business. Taking a line out of the agile manifesto of "uncovering better ways of developing software by doing it and helping others do it" if you find best practices that's helping your team, it may help others as well.
Sometimes you don't even know what you do is unique so having other team members join your meetings is an easy way to share best practices.
Celebrate cross-team outcomes
It's easy to overlook how difficult it is to get a large group of people aligned towards a common goal. When this happens it's a great way to pause and celebrate that publicly. This only sets the cultural flywheel in the positive direction.
At 1904labs we give virtual feathers to each other publicly to say thank you for going above and beyond and doing something positive. It's a great way to celebrate co-workers.
At my clients, there's usually a larger cross team meeting for project managers, product owners, scrum masters etc where people give team updates. While it's never part of the schedule I sometimes like to sneak in a public thank you for developers on other teams. "Thank you" is a really powerful phrase but sadly not heard much in the work environment.
Since teams are constantly evolving a cross-team retro is a good way to discuss improvements and celebrate wins. These can be once a quarter but can help keep the importance of cross-team communication and collaboration at the forefront of everyone's minds.
If you found this post helpful to your software journey, please subscribe to my newsletter where I talk about my experiences building software for myself, others, and helping aspiring product managers do the same.