When working through an Agile transformation, many organizations struggle to efficiently re-organize delivery teams. Although you won’t find specific mention in the Agile Manifesto or the 12 Principles, most Agile frameworks (such as Scrum and XP) note that Agile teams should strive to be cross-functional. What exactly is a cross-functional team, why are they best for Agile, and how can you successfully transition from a single-skill team approach to high-performing, cross-functional Agile teams?
What is a Cross-Functional Agile Team?
Traditional waterfall development teams tend to be organized around single skills, such as developers, QA, UI/UX, and more. Each single-skill team works on a part of the product and then passes it on to the next team, until the value is finally delivered to the customer. These siloed development teams pose well-known challenges, including:
• Too many handoffs. When a back-end team has to send their features to QA, there’s a handoff that requires extra coordination, using up resources and time.
• Delayed feedback. When a UI/UX developer needs to give feedback to an automation engineer, they have to coordinate with the other team, often working on a different agenda. Again, this requires more effort and more coordination, leading to delays.
• Accrual of tech debt. Poor communication and lack of coding standards among development teams can increase the amount of tech debt you carry forward.
Quality, morale, and, ultimately, customer satisfaction all suffer.
A more effective approach involves cross-functional Agile teams. A cross-functional Agile team is a self-contained team, with access to all the skills they need to go from the initial specification of features to the delivery of customer value. Members of cross-functional Agile teams may be generalists who have some knowledge in many different areas, or specialists who have deep expertise in one or two areas. Many cross-functional Agile teams will have both, and all members on the team typically can help out in several different areas as needed.
High-performing, cross-functional Agile teams deliver significant benefits, including:
• Faster response times when challenges arise
• Higher levels of confidence in planning and visualizing end-to-end features
• Increased quality of deliverables
Cross-functional teams are also more likely to embody critical Agile values, such as openness, courage, focus, respect, commitment, and trust.
Three Strategies to Build Cross-Functional Agile Teams
Environments, products to deliver, culture, product size and scope, personal beliefs, team member personalities, and many other variables come into play when forming cross-functional teams.
Let’s consider three different ways you can make the transformation to cross-functional Agile teams, including the advantages of each approach and how to overcome some of the more common roadblocks you might encounter.
Before you start the transition to cross-functional Agile teams, you’ll want to understand what skills you have from each team member, and what skills you’ll need on each team. Create a list or inventory of what skills the teams would need and what their composition will be, then share this list with management to provide visibility. You will probably uncover costs previously unknown and avoid surprises, which could be detrimental for the transition.
Also, decide what success criteria and metrics you will use to evaluate the success of your transformation, and how you will keep your teams and stakeholders informed throughout the process. Continue gathering metrics and documenting challenges as you go so that you can compare the results you achieve with what you were capable of prior to the transition.
Strategy 1: Progressively move people from team to team
In this gradual approach, you incrementally move skills from one team to another. This may be an excellent strategy if you can dedicate time to your transformation to cross-functional Agile teams. For example, you could start by moving one or two people from the QA roster into a UI/UX team, and start the new team on a project with small automation features. The number of people you move at once will depend on a variety of factors, such as the size of your department and how much time you plan to dedicate to the transition.
When moving an individual with a particular skill onto a new cross-functional team, be sure to define the minimum expected outcomes in a given period. Open up a discussion with peers and let them share their ideas about the expected benefits of adding a new skill to the team.
Work as fast as it makes sense. Moving just one or two resources per sprint might work well for a smaller organization, but if you have 500 people on your delivery team, that pace might be too slow. Be pragmatic!
• Reduced resistance to change. When making small team tweaks, the impact is less noticeable, which can make it easier to adopt the new, cross-functional team structure.
• Less risk. Failure on an all-out movement of teams could be catastrophic for an organization. It’s usually better to deal with small chunks of uncertainty/challenges and scale from there.
• Learnings are cumulative. What you discover after moving the first few individuals will be very valuable when thinking about the next group of team members to move.
Potential roadblocks and how to work through them:
• If the timing isn’t right or the pace isn’t fast enough, the transformation initiative could lose momentum and the team could lose motivation. You can mitigate this potential roadblock by using a transition timeline that gives everyone involved enough visibility of the expected milestones and their target dates.
• It can be time-consuming for teams that will need to readjust and go back to the forming stage each time a new member joins the team. You can counter this roadblock by setting up a knowledge transfer process with defined target dates, making sure everyone knows the time needed to complete the onboarding process for new team members.
Strategy 2: All-in approach
In this approach to transitioning to cross-functional Agile teams, you create all the teams you need at the same time. This approach requires heavy investment in coordination and lots of conversations to make sure that each team has all the skills and tools they need by the time they are fully formed.
Keep in mind that, even with this all-in approach, you might not be able to eliminate all the dependencies across all teams. You might have to implement a scaled Agile framework, because the new teams might be too big to efficiently run Scrum or other development frameworks.
• Less time to organize teams. Once you implement the new, cross-functional Agile teams, the moves needed to cover any personnel gaps shouldn’t be very big.
• It might be easier to establish a regular delivery cadence. If you have multiple teams that are working together, you will have the opportunity to match their cadence more easily than with incremental approaches.
Potential roadblocks and how to work through them:
• Resistance. Massive change can be massively disruptive. The message of change must be handled with care within the organization. An all-in approach will likely shake the foundations of personal relationships in your department. There may also be skeptics and resistors. Be prepared to face these challenges and get the support you need in advance to make the transition to cross-functional Agile teams as smooth as possible. To avoid potential negativity amongst team members, use open spaces to allow team members to express how they feel about the transformation, and leave them a set proposal to mitigate the challenges they are facing.
• Increased costs at the beginning. Because this approach involves such significant change and impacts so many people all at the same time, you might need support from coaches, training, new tools, and more meeting time. A good way to avoid surprises is to work aligned with the financial team, communicate the requirements, and define a budget for all the support you need.
Strategy 3: Create a few teams first, then inspect, adapt, and grow
Depending on the size of your department, you might consider creating a few fully cross-functional Agile teams initially (between one and five teams). Have them run a few sprints. Learn from the teams, adjust, and then continue forming more teams until all teams are as self-sufficient as possible. This approach provides a good balance between the risks taken and the pace of improvements, because it is typically faster than progressively moving people from one team to another, and it’s not as risky as forming all teams at once.
With each iteration of cross-functional Agile teams, two important things will happen: your risks will decrease and you can build new teams easier and faster. This happens because your department will have more expertise and learnings based on previous actions.
As you add new cross-functional teams, make sure there is an agreement between management and team members on the minimum outcomes expected before deciding to form the next roster of teams.
• Lowers risk and cost. You probably won’t have to invest as much in coaches and other personnel because the teams will coach themselves through incremental knowledge sharing. This also helps reduce uncertainty.
• It’s easier to convince people that the change works. You can strategically create a few starting teams that are in favor of the change and highly motivated to make it happen. This increases the probability of the team’s success, and also makes the succeeding teams more confident.
Potential roadblocks and how to work through them:
• If you don’t properly plan for this transition approach, it could end up taking too much time. Decide up front how long you will run each new cross-functional team before forming the next team. You don’t want to wait too long, as this can create distrust and doubt. Be clear and transparent during the transformation process, and keep the team aware of what to expect and when.
• If a group of teams fails on the expected outcomes, you could lose momentum and motivation to keep moving forward. Retrospectives are a great tool to employ here, because both the team and the stakeholders can provide proposals for improving performance and learning from previous mistakes.
Successfully Transitioning to High-Performing, Cross-Functional Agile Teams
When you combine the strategies for building cross-functional Agile teams that we’ve shared here with good conversations and feedback sessions with management, team members, product owners, and other important change agents, you get a greatly expanded toolbox of organizational and team leadership skills. You can use these skills and your experience building cross-functional Agile teams during many different transformation efforts, especially for Scrum Masters, Agile Coaches, and similar roles. Healthy doses of pragmatism and balanced decision-making will help you discover what is most effective at creating long-living, high-performing, cross-functional Agile teams that deliver value faster for your organization.