Everyone wants highly performing teams though many people act like they don’t know-how. The secret is diversity! To create a high-performing agile team, avoid the “specialist” in favor of the utility player or generalizing specialist.
A perfect example of this is the 2021 All-Star Baseball game which was played on July 14. The Chicago Cubs – my home team – sent exactly two players, Craig Kimbrel and Kris Bryant. These two players are exact opposites and they demonstrate precisely the choices that highly performing Scrum teams make when picking team members.
Update August 1: Sadly, neither of the players mentioned in this post play for the Cubs anymore…
The Specialist Role in Baseball
Craig Kimbrel is the Cubs All-Star player that represents the specialist role. And Kimbrel was great in the All-Star game. He did exactly what he was expected to do as a one-trick pony – he got outs in the ninth inning.
It was a somewhat routine game for Kimbrel who waited for 8 1/2 innings to go out and face 3 batters. He got two of them out. Pitching to 3 batters is kinda his thing – 10 minutes of work per game for an annual salary of over US $14M.
So it goes with specialists. Kimbrel is a closer, or closing pitcher. That means he is brought in to close out the opposing batters in the 9th inning of the game. He does just one thing. He gets batters out. Three of them per game. The rest of the game, innings one through eight, Kimbrel sits on the bench.
The Utility Player in Baseball
Kris Bryant is not a closer. Kris Bryant is a Third Basemen. He is also an Outfielder and a First Basemen at least. I’ve not seen Bryant pitch or catch, but I am pretty confident he could play every other position on the field. Perhaps not great, but he can play them.
Bryant is also a threat on offense with 46 runs batted in (RBIs) this year. He has a career batting average of .280 and is slugging at .508. These are pretty solid stats for offense. Bryant earns $19,500 a year.
Not to pick on him but Craig Kimbrel didn’t bat in any runs. he never even tried. “Sorry but I don’t bat” he might say. He simply doesn’t do offense.
Highly Performing Teams Rely on Utility Players, Not Specialists
Agile teams have choices just like baseball teams. They can go for the “specialist” – the fast Python Developer, crack UX expert, or automated test specialist. Or they can go for the utility player. In technology, utility players are called full-stack developers. Or generalizing specialists.
On the other hand, specialists are less flexible. Inflexible. They create a team constraint and a bottleneck. Sure they are great when you have the exact work that they specialize in. But if the work falls outside the narrow scope of the specialist, well that’s too bad. Like Kimbrel, they sit on the bench and wait until you need them. The last thing you want to hear from a specialist is “sorry I don’t bat”, or, “call me when you need my help with website security”.
You see, Agile teams optimize around the work to maximize their productivity. Everyone pitches in to help, whether or not they have the exact expertise needed. The team collectively owns the work and does their best to get everything done. It is effective at the team level, though not necessarily efficient at the individual level.
How Would an Agile Team of Specialists Compare to an Agile Team of Utility Players?
Let’s give some thought to how a team of all specialists will stack up against one that had utility players or generalizing specialists. Is the team of specialists likely to be a high-performing team?
Hardly. Consider the example of the all Kimbrel team below. Sure they are going to excel when you have the exact task that they specialize in – like getting three outs in the ninth inning. But what about the other 8 1/2 innings? Are they going to be able to play all the positions and create some offense in the batter’s box? Doubtful.
More likely you are going to hear, call me when you have some business analysis work for me.
On the other hand, you have the generalist team with Kris Bryant. How will they do?
Batting, they would be awesome. They are also able to cover all the positions on the diamond, though admittedly they might suck at pitching. But I think they stand a better chance of being a highly performing team than the team of all Craig Kimbrels.
There are times when you might need a specialist on an agile team. But give me that utility player or generalizing specialist any day.
Roles on Highly Performing Scrum Teams
The most recent Annual State of Agile Survey published in 2021 reported that 66% of people using agile use the Scrum Framework, with another 15% using hybrids of Scrum with Kanban or Extreme Programming. You would think that those claiming to use Scrum would be following the guidance on team roles from the Scrum Guide. Unfortunately, most do not and I think as a result, they are unlikely to be highly performing teams.
The previous versions of the Scrum Guide were specific in expressing the desire to avoid specialist roles. That has been tempered in the most recent version of the Guide, however, the collective team focus on the product goal is still emphasized.
The Scrum Team consists of one Scrum Master, one Product Owner, and Developers. Within a Scrum Team, there are no sub-teams or hierarchies. It is a cohesive unit of professionals focused on one objective at a time, the Product Goal.
— 2020 Scrum Guide
How Are YOU Staffing Your Agile Teams?
Given how long the concept of full-stack developers has been around as well as the information about generalizing specialists, I am surprised when I learn of agile teams that still rely on specialist roles. Worse, they erroneously believe that they can share those specialists across multiple teams to maximize productivity.
How are your agile teams staffed? Would you consider them high-performing teams? Do you have many closing pitchers, sitting out the game waiting to get their 3 outs in the 9th inning?