Maximizing Productivity and Creating Value Series
Human-centered Development Strategy: Article I
The Brook’s Surgical Team: Archaic or Cutting Edge?
The surgical team as described by Frederick Brooks in the Mythical Man Month admittedly feels a little archaic to the modern development team. To be fair, Brook’s audience probably saw medical science as a bit sexier back then.
Sexy or not, the surgical team concept remains an effective and pragmatic tactic when implemented as part of a human-centered development strategy. Effective implementation of the “surgical team” increases productivity and creates value. The concept is based on the likelihood that one particular developer is likely a lot, even 10x, more efficient than your other developers. Rather than a team of equals working on a project, your team will instead support this most efficient individual, with the result being an all around increase in efficiencies.
Whether the 10x number is precisely accurate, the concept remains a viable way to take advantage of the people you have on hand. In my experience, and likely in yours as well, it is rare to find a team in which all developers demonstrate equivalent abilities and output. There is always an outlier or two. Some people communicate better, some see the big picture, some are generalists and so on.
As I discussed in “You don’t work at Google and neither do I,” it is important to note that the surgical team is a non-egalitarian system designed so that your average contributors support and augment your best contributor(s). It may not work for every team or every individual. And, even if it is good for your team overall, some people may choose to leave rather than work under this arrangement. This may actually be a gift in disguise, given that any such individual is likely not an ideal team player under any condition.
And, even if it is good for your team overall, some people may choose to leave rather than work under this arrangement. Although, this may actually be a gift in disguise, given that any such individual is likely not an ideal team player under any condition.
What exactly is a “Surgical team” in custom software development?
And how can we develop an effective surgical team to maximize productivity for your custom software development process?
Let’s talk about what a surgical team might look like in a contemporary workplace, starting with a hypothetical team: a bunch of people trying to make a deadline work without any particular or official hierarchical structure.
The Organic Surgical Team
Many activities will take place concurrently and spontaneously.
A common event is for one individual to start making tools. These tools will then help others to get their work done faster, test existing code, set up some code generation, rig up frameworks that deploy code and so on.
The tools may take on many different shapes, but ultimately the end result is that they change how work gets done while improving the possibility that the project is successful.
This is an organic example of the surgical team. In all probability, the organic surgical team is already a familiar pattern of work for your people.
The Problem with Organic Surgical Teams
Embracing this system creates an unofficial surgical team, where one individual takes care of a large percentage of the original work, and the others follow along to work in a system that is of the “lead” individual’s design.
Ultimately, this is likely to happen in any project that is subject to adequate chaos and enough people. It happens, because it works. Unfortunately, it is also a pattern that can give rise to potentially significant problems depending on a variety variables and on the interplay between management and team members.
The most common problem that I have experienced, is the creation of a gap between the formal and informal organizational structure. If managers address problems that arise early on, they generally resolve with positive or minimal negative effects.
If the existing structures do not address the problems, friction within the team will develop and potentially cascade out of control prior to resolving. This friction is often rooted in the perception of unequal expectations and unfair privileges across the team.
Human-centered Development Strategy
Working with the people you have, how can you intentionally structure an effective surgical team and what will this process look like?
To begin with, you need to know your team. Your team is made up of people. And everyone is different. Unique. You need to know individuals’ strengths and weaknesses.
Questions to ask yourself or your project management team:
- Who is the person who always takes ownership? Is this person a tool maker because s/he sees the big picture? Or because s/he simply sees that the team needs tools to proceed?
- Who is best at communication?
- Who is a natural manager?
- Who understands the whole organization and the need for a system?
- Who do you have that is a generalist?
Once you identify everyone’s skills and strengths, you need to look at how they can be combined and maximized. Can the tool maker fulfill the communication and team management rolls? Or should there be a second team member that delegates and supports the tool maker? Or perhaps this is the role of an outside project manager?
Working with the team you have…
Whatever you do and whatever the makeup of your unique development team, keep in mind the surgical team only works if you honestly acknowledge, recognize and accept the team you have on hand. This is why I call this human-centered development.
Many factors from geography to budget to the type of company will have an effect on the types of people at your disposal. You very well may not have your ideal team on hand.
Furthermore, in today’s world, not every project will require the same skill sets and yet most of us will not have the liberty to hire those skills, we must make do with the people we already have on hand.
The US Bureau of Labor and Statistics predicts that the software development field will experience a 17% increase in jobs from 2014 to 2024. With an existing workforce of 1,114,000 software developers that means an increase of almost 190,000 new jobs. A number that can likely just barely be covered by new graduates.
Add to the mix the number of people continuing to exit the workforce in the next decade and there is a high likelihood that there will be a surplus of software development jobs. Finding good people is already difficult, with entire recruiting and outsourcing industries capitalizing on and dedicated to alleviating the problem. And it looks the future will only be more of a challenge.
In other words, learning how to best work with the people you have is a much more likely path to success than hoping to hire the perfect solution.
Cutting Edge: to Maximize Productivity, Maximize your People
In answer to the original question, the idea of the surgical team is, in fact, cutting edge as an intentional and pragmatic development tactic. Human-centered development strategy means implementing the appropriate tactics for the people you have.
To maximize productivity and create value with the team you have, you need to be honest. If you try and force people into roles you will generate stress and friction, and eventually, something somewhere will break.
In situations that naturally promote the organic development of surgical teams, by all means, the intentional creation of surgical teams will improve productivity. An effective use of the surgical team as a tactic means that you can engineer productivity, maximizing your people and your resources for the best possible outcome.
Keep in mind that the idea of the surgical team is not to put one team member on a pedestal while relegating other team members into menial jobs. Instead, the goal is to maximize the contribution of individual skill sets and personalities, as needed for each project. It may not work for every team or every situation. But when applied intentionally and thoughtfully the surgical team can be a highly effective solution for your people.