Note: Because this is an ongoing series, viewers will not receive a certificate of completion.
- Diagnosing problems within an agile team
- Solving issues with agile meetings
- Creating cross-functional teams
- Helping distributed teams function well
- Managing up within your organization
Skill Level Appropriate for all
- Most of the time, when a team forms, it's made up of people that are specialists in one area. For example, you might have people that have been focused solely on being developers or testers. This is known as having siloed skills. A foundational tenant of Agile is that the team have all the needed skills to complete all the work brought to it. Often, you'll need team members to learn additional skills so there are no bottlenecks in the flow of work through your team.
Commonly called creating T-shaped resources, this is the process where each team member learns additional skills to help the team become cross-functional. So how do you do that? There are a few simple techniques you can do to help your team get to this state. First, observe the work and note which skills are most rare on your team, perhaps those where only one person has the skill. This is where work bottlenecks or slowdowns on your team will occur.
Now that you have this information, create a skill matrix. I've provided a sample skill matrix to help you get started. In this example, there are five specialists on the team. In observing the work, their scrum master noted that the team was getting bottlenecked in .NET development and testing. She also wanted everyone to be able to flex so that vacations would have less impact on the team. She pulled the team together and asked them which skills they'd like to cross-train in.
She noted that the team needed to have three people able to do .NET and three people able to handle testing. Everyone then selected their new area of growth. Once you've done this, you now need to build time into the sprint for people to learn their new skills. You can do this by pairing people together or hosting a team code dojo. A code dojo is a safe place for people to learn new skills. For example, you could do a .NET code dojo.
All you do is find a .NET programming challenge. Then you'll pull the experienced and learning team members together. This mixed skill group will work together to solve the problem. Using techniques like pairing and code dojos can help you unsilo your team. You're giving them opportunities to learn from each other and grow their skills. When you do this, you'll have them cross-trained in no time.