5 Tips for Managing Cross-Functional Software Teams
Cross-functional teams consist of people from different functional roles who operate to deliver a certain project or meet a specific goal. A team may, for example, consist of a product manager, designer, salesperson, marketer, developers, and testers. Each of these roles have very different takes on a number of important questions, including:
- What does hard work look like?
- What is necessary for effective collaboration?
- What is the most important part of a project?
- What’s the best way to approach a challenge?
- What does success look like?
These differing viewpoints can lead to friction and dysfunction within a team who isn’t appropriately managed. Effective management of a cross-functional team doesn’t differ much from effective leadership of any team except for this: extra focus must be placed on celebrating differences and specialties while breaking down toxic barriers.
Set clear team goals… and keep talking about them!
Every team should have clear expectations for project timelines, budgets, and success criteria. Most importantly, these goals must be tied to team or project success, not individual contribution.
And don’t forget to talk about these goals daily: they should be top of mind for every individual. If things are going well, talk about why and celebrate it! If the project is falling behind or having issues, talk about why and work together to solve the issues and get back on track.
Make sure you spend time publicly celebrating the contributions of individuals to the team goal. Again, this should be done with any team, but with a twist on a cross-functional team: explain the success. This is an opportunity to show every functional role what really goes into this person’s day, how long it took, how difficult is was, and how important it was for the team’s success. This is an amazing and positive way to break down role-specific barriers while keeping the focus on team success.
Spend time with individuals to align personal goals
This is another leadership function that should exist on any team, but is especially important with a cross-functional one. On a single-function team, team goals can be broken into individual ones with ease. This is not as easy with cross-functional teams because team success is based on very different contributions from individuals coming together to create one amazing software product.
Spend time with every individual to understand what motivates them, design a goal that propels them while supporting the team, and build a plan to help them achieve it. For example, maybe your frontend developer is motivated by impressing end users, but having issues with poor user feedback. A good personal goal would be set around those reviews.
To help them achieve the goal, you can recruit your designer to help decision-making during development. In turn, your frontend developer will be able to elevate your designer’s understanding of the development process to potentially improve the designs moving forward. Individual goals like this support the project’s success and improve the team functionality by enabling this cross-training.
Prioritize learning and empower your team to own it
In a cross-functional team, there are two risks that stem from a lack of understanding. First, that people from differing roles have no idea what each other actually do. This can lead to distrust and dysfunction when aiming for a common goal. Second, because you are unlikely to be an expert in every field of the roles you are managing, there is a shortfall in skill development.
To handle these risks, the team must be ingrained with a spirit of personal development and an openness to learn. And critically, individuals within the team must be empowered to own that development.
Within roles, find mentors that are willing to help lead those with less experience. To cross-train and develop understanding and trust between roles, invest time in cross-functional shadowing. Everyone should know how hard the others are working and how they approach their work.
My first time on a cross-functional team, I spent half the day shadowing a developer. The next day he joined me to perform interviews with a number of salespeople and take a sales call. By the end, we both agreed: “I don’t know how to do what you do and I don’t want to do what you do, so I’m glad you’re on this team doing what you’re doing!”
Foster a unique team culture
Where clear team goals set the destination and individual goals are the wheels, team culture is the fuel. Building a culture with your team is the best way to break down the function-specific pride that individuals may have brought and reset that pride around the team itself.
This should be fun! Plan regular social events after work. If you can convince the powers that be to give the team a day off for an offsite, the time will be paid back with interest. And don’t underestimate the power of a team name, team logo, team slogan, or team shirts.
Recruit support from higher leadership
Most productive cross-functional teams have a leadership system that mirrors the cross-functionality of the team itself. Important decisions coming from the top will be received with much better understanding when those decisions are made in a room with various roles’ high-level leadership represented. This doesn’t always happen, so it’s your job as the leader to be a vocal proponent of changes that will improve your team’s wellbeing and chances of success.
Additionally, as previously discussed, you won’t always be the expert in the field for certain roles you are managing. Setting up mentorship programs is a good solution, but what about the mentors? If there isn’t a higher level functional leader that is available to help individuals on your team that you cannot, you need to recruit that support to fill your knowledge gaps.
The same core practices for leading any team apply to cross-functional teams. Because these teams are made up of people with different talents, different specializations, and different perspectives about work and success, the challenge is aligning the team and celebrating individuals while breaking down barriers between roles.
Talk about the team’s goals constantly, and set individual goals that align with it. Work on your team’s unique culture, and make sure that part of that culture is curiosity and desire to learn more about their own roles and the other roles on the team. And don’t be afraid to ask for support from those above you. The best teams work when individuals know they’re being represented fairly at every level of the organization.