Whenever I'm presented with a complex problem my brain immediately tries to generate a mental model to classify and categorize the component parts and help understand the cohesive whole. My favorite approach is using analogy to abstract away hyper-specialized terms or ideas in favor of representing them with generic replacements.
For example, when I wanted to assess the strengths and weakness of my engineering team I came up with the idea of using the character classes system in many role-playing games as a model to group traits. By identifying key characteristics common in different types of engineers I could create a baseline template to build on top of. Using this baseline I was able to devise methods to level-up their skills and create approaches to build cohesive teams that work well together.
Using a Football Team as an Analogy
Recently I had the opportunity to devise roles and responsibilities for one of my project teams. By default my mind searched for an analogy with a reasonable close fit that I could use to construct a framework for understanding how to structure a team.
Since it's currently playoff season for American football the first thing that sprung to mind was how a football organization is structured and how that is roughly aligned with how a software team might operate. I came up with a series of generic roles that matched and identified possible responsibilities those roles might handle.
Team Owner
Similar to the owner of a football team the Team Owner
is the key stakeholder for the team, setting the high-level direction and vision that will act as the guiding star for the team. This role also oversees the “budget” — the number of people that are part of the team and the time available for any given project to be implemented.
Coach
The Coach
is responsible for creating the conditions for the team to successfully operate and empowering them to achieve their goals. They do this by thoughtful selecting members for the team, instilling the right culture, devising the high-level strategy, and figuring out the best methods to measure success.
A team may require multiple people acting as aCoach
— perhaps a Product Owner and an Engineering Manager that work in conjuction with each other. In this case you can utilize a hierarchical approach of a Head Coach
with additional Coaches
that correspond to a specific focus or discipline. By consistently aligning a singular vision across all Coaches
you can avoid the “multiple bosses” problem that can often present within a hierarchy.
Coordinator
Much like how NFL teams use various coordinators to zero in on specific parts of gameplay — the offense, the defense, etc. — the Coordinator
role is tasked with translating team strategy to a series of concrete tactical actions. They focus the team on specific goals, help them navigate difficulties, remove blockers from their path, and generally ensure alignment across the various levels and disciplines within the team.
Captain
The Captain
is the role responsible for acting as the implicit leader within the group; it is who the team naturally turns to for guidance and motivation. They oversee the day-to-day execution within the team, play a key part guiding the team towards decisions, set and motivate the team to achieve their goals, and ensure things are kept on track.
Player
The beating heart of the team is made up of individual Players
who collectively are responsible for architecting, designing, developing, testing, and integrating solutions. They are charged with achieving the goals of the team through dedicated, consistent, and repeatable action. They do this through constant communication with each other, brainstorming and collaborating to ensure the best outcomes.
But my team is different!
The essential benefit of a well-constructed mental model is that it is flexible by nature and can easily scale up or down as needed to correctly align with your team. Since each individual part is a composable piece of a larger puzzle it can be mixed and matched in various configurations.
For example if your team is just 3 people you can combine roles to match the specifics of your situation — a person could be a Coach
, Coordinator
, and Captain
all rolled into one. Or you could simply assign the Captain
and Player
roles to the appropriate people and begin to execute on the work using a small, lightweight, and cohesive team structure.
However, while you can remove specific roles to meet the needs of your team, often the essential responsibilities of each role will still need to be handled. You will need to think about strategy, the tactical day-to-day, executing on specific work, and work towards ensuring alignment between all parts of your team.
Just the beginning
The simple fact of having a mental model of team roles isn't a solution to how to structure teams, it is just the base from which you can start to understand the full team dynamics at play. In the end the flexibility of the model can be expanded to accommodate new roles and can be iterated on to assure full alignment with the responsibilities of your organization.
You must do the hard work to actually implement the roles, ensure the responsibilities are met, and successfully achieve the goals of the team week after week. But it all starts with crafting a framework to understand and help communicate your intent. Mental models — especially analogies — can be a great tool to kickstart that process.