Agile eXamined: Cross-Functional Teams
What is a “cross-functional” team?
A cross-functional team is a team comprised of people proficient in different functions that share a common goal. While these individuals may have differing expertise, they should be accountable for collective success – a pivotal part of any effective team! The team needs to be committed to accomplishing a body of work as a whole. If Steve is the designer and Steve gets sick (ugh Steve!!), the design work still needs to be completed! Others will need to fill in. Team members will have expertise in certain areas but will likely need to work in several functions outside of them.
The intent is to reduce or eliminate external dependencies and provide the team with all the knowledge and expertise required to accomplish its goals. This requires combining several different functional areas into one team.
Cross-functional teams are powerful because they can tackle complex problems quickly and efficiently. When all dependencies are internal to the team, issues like “waiting for Quality to review my code” or “waiting for Test to check code integration” should no longer exist. However, this only works when every team member is accountable for their overall, collective success.
Will cross-functional teams make me Agile?
No! Cross-functional teams are not specifically mentioned in the Agile Manifesto’s Values or Principles. However, the Manifesto does have important details about teams:
What’s the secret sauce to creating cross-functional teams?
The most important consideration is picking motivated individuals that are willing to learn! Team members will take on unfamiliar tasks for the success of the team, so make sure they are comfortable with this expectation and that their colleagues are prepared to support them.
How do I pick which functions to include in the team?
Go back to the intent: Eliminate external dependencies and provide the team with all the knowledge and expertise required to accomplish its goals.
If the flow of work is regularly held up by a particular group or function, add them to the team! Of course, a sweet spot exists, and the best way to find it is through experimentation. There is a fine line between optimizing teams and sub-optimizing the system. Troy Magennis had a great keynote that touched on this point at Agile2018.
What should I NOT do?
When working with cross-functional teams, there are a few pitfalls to avoid:
- Do not put individuals on multiple cross-functional teams. This puts an unfair burden on the individual. Each team member is expected to be fully committed to the team, so much so that they may have to learn completely new skills. If an individual is asked to meet this expectation from multiple teams, you no longer have cross-functional teams. Instead, you have “I’m the ABC-er and I only do ABC/ It isn’t my fault that we didn’t deliver” teams. That’s definitely not Agile!
- Do not promote the idea that each team member is only responsible for his or her functional area. While individuals will each have their own area of expertise, the success of the team depends on each person working to complete the team’s entire body of work. This could mean that the team will spend a lot of time pairing to share knowledge and grow their capacity. Overall, this investment will pay off (assuming that team members want to be a part of a team like this) because you will be investing in their skills and growing resiliency in your organization.
These are a few of our experiences and recommendations with cross-functional teams. What are some of yours?
Read more in our Agile eXamined series.