In this post, I’m going to review an equation that helps you evaluate how cross-functional your team is. It also is good for identifying the constraining skill for your team members. This helps the team pick what training it should focus on, and gives an awareness of where it may be having constraints in its flow.
I have a spreadsheet linked at the end that will help you with the calculations.
One of the Extreme Programming tactics that are commonly encouraged in teams that are working towards incremental development is swarming. Swarming is where instead of pulling in multiple stories/work items individually, the entire team works on a single story.
There are a few reasons why a team may have trouble doing this.
One of them that we are going to focus on specifically today is the team’s cross-functional skills, or T-shaped skills.
Ideally, your team is made up of T-Shaped skills – meaning that everyone has deep expertise in one skill, but is competent in at least one other skill that another team member is an expert in.
Thankfully there is a simple math equation that can point out the skill constraints on the team:
C% = Cross functionality %
Sum(Ms) = Sum of number of skills that members have
S = Number of skills
M = Number of team members
Cross – functionality (C%) is defined by counting the number of skills each team member has (Ms), divided by the number of skills (S) multiplied by the total number of team members (M).
A cross functionality score of 100% means everyone has every skill. You can readily swarm and employ swarming easily.
50% means half the team has half the skills. You can’t swarm easily, and XP principles are difficult to employ. In addition, vacations or other availability issues easily block the team.
Let’s make this easier.
Let’s look at a small web application team as an example. They use MongoDB for the database, Nodejs and ExpressJS for the backend, NodeJS and ReactJS for the web front end, and they use Docker and Kubernetes for their deployment infrastructure. There is a user experience designer on the team, and for this example we’ll say they have the wireframing skill in Adobe XD. That’s 7 skills total to deliver something fully functional to the customer each increment.
Let’s say your team has seven people on it. They are:
- John, a web developer with 2 skills: ReactJS and NodeJS.
- Jane, a developer with 3 skills: NodeJS, ExpressJS, and ReactJS.
- Bob, a developer with 4 skills: NodeJS, ExpressJS, Kubernetes, and Docker.
- Sarah, a User Experience Design expert with 1 skill – Wireframing in AdobeXD.
- Jill, a senior developer with 5 skills: NodeJS, ReactJS, Kubernetes, Docker, and MongoDB.
- Liam, a developer with 3 skills: NodeJS, ReactJS, and Kubernetes.
- Kate, a database specialist with 3 skills: Kubernetes, Docker, and MongoDB.
So to figure out the cross-functionality of the team:
- Let’s first calculate the total number of skills possible. That’s 7 team members and 7 skills. 7 X 7 = 49.
- Sum the current team member’s skills: 2+3+4+1+5+3+3 = 21.
- Calculate the Cross functionality percentage: 21 / 49 = 0.42 or 42%.
The final result is a Cross-Functionality Score of 42%.
What this means is that your team can’t swarm very well. Less than half of your team has any half of the skills needed to deliver an increment.
What’s the constraint? Adobe XD, with one single expert. (This is a Brent from The Phoenix Project if you’ve read that book). Now, in order to alleviate this constraint, your team should start learning from Sarah, and Sarah can perhaps pick up ReactJS skills.
Remember, we’re not rating people on expertise, just possession of enough skill to deliver the next increment.
Use this worksheet to make it even easier
If your mind went to a spreadsheet right away, with a matrix that lets you build your team members and skills, then let me give you a head start. Here’s a Google Sheet that has this example pre-populated:
The spreadsheet contains the formulas that identify the most constrained and least constrained skill.
Make a copy, and try making one out for your team.
I hope this helps you help your team become more cross-functional!
Photo by Josh Calabrese on Unsplash