Everyone is missing the point of teams
The language inside the technology industry has a habit of suffering from semantic drift. Words lose their meanings over time; DevOps stops being about bringing together Dev and Ops and instead becomes what we previously called Ops, TDD starts meaning there are (probably) tests, and what we call Agile begins to mean Waterfall.
Even seemingly ubiquitous language drifts over time, even words so familiar that they almost become wallpaper, such as “Team.”
Try it out, and ask someone nearby for their definition of a Team. Was it the same as yours?
One of the most common stumbling blocks within large organisations is the need to understand the purpose and meaning of this most foundational concept.
Why misunderstanding can lead to chaos
If you, dear reader, aspire to lead a high-performing organisation, misunderstanding these words is one of the most common problems and has disastrous consequences.
One of the most well-known effects is Melvin Conway’s law: “organisations which design systems (in the broad sense used here) are constrained to produce designs which are copies of the communication structures of these organisations.”. For those unfamiliar with this law, Eric Raymond brilliantly rephrased it: “If you have four groups working on a compiler, you’ll get a four-pass compiler.”
If you get this wrong, not only will your delivery be chaotic, mirroring the communication in your organisation, but its implementation will be chaotic, leading to bugs and poor user experience.
The true essence of a team
This is mirrored in my own experiences. I have seen “teams” ranging from individuals to hundreds of people, working on common goals or not, representative of the work flows in the organisation or not, grouped by product or technology or seemingly randomly. Often, the root cause of many organisations' problems comes down to a poor understanding of what a team is and how to make it effective.
So, what is a team? If everyone has a slightly different definition, can we define it more clearly to maximise its usefulness?
The most basic definition of a team is simply an abstract grouping of people. This definition is easy to understand, but why do we form these groupings? They are so universal that there must be a reason behind it.
Let’s think about what these groupings are doing in the software industry; it might be some design activities, coding, or ensuring a product complies with some law. Work. This definition holds even if we move away from the software industry: Imagine a team of farmers, a team of people in a doctor’s surgery, or even a team of track and field athletes competing in a relay.
This is mirrored in the dictionary definitions. This is from the Cambridge Dictionary
A number of people or animals who do something together as a group
“Teams exist to do work” seems obvious, but it tells us something important: Teams form to maximise the work a group can do, at least in a business setting.
Let’s rephrase our definition: A team is an abstract group of people who combine to maximise the work done.
The power of collaboration in teams
A 2019 study of two data sources proved this by looking at two “planetary-scale collaborative systems,” GitHub and Wikipedia, titled “Collaboration Drives Individual Productivity“. They found that team “productivity of smaller groups scales super-linearly with group size,” but you stop gaining performance gains after a certain point when these performance gains are “saturated.” This result mirrors a study (the link is to the paper, but you might be better off with the Wikipedia page) by Maximilien Ringelmann (an agricultural engineer) in 1913.
Thanks to “Collaboration Drives Individual Productivity”, we know that this benefit of teams is that performance gains from collaboration stop once the team size is between 10 and 15 people, and the optimum size is around six people for maximum gain by adding someone new to the team.
Let’s rephrase our definition. A team is an abstract group of people who come together to maximise the work done with a maximum of 15 people, but optimally around 6.
Why teams need purpose, mastery, and autonomy
So why does this effect happen, why does performance drop off, and how can we get the most out of the people on our team?
Plants have a natural height limit. If they grew any taller, their own weight would become too much for their supporting structures to handle, causing them to collapse.
You have seen this effect in action. Within organisations, it looks like a mysterious slowdown in delivery as the company grows its hierarchy like a plant reaching for sunlight. The more complicated the organisation’s communication, the more roles you need to include to handle that until delivery grinds to a near halt.
John Forsyth, a social psychologist, found that the factors that affected this in teams were “identifiability” — the ability for work to be linked back to an individual — common “goals” to reduce coordination needs, and increasing involvement by identifying the overall reason behind the local goals or a grouping to a broader meaning.
Daniel Pink restated this in his hit book “Drive: The Surprising Truth About What Motivates Us”. Finding that essentially motivation, after money reaches a level to cover basic needs, is primarily driven by
- Purpose — The desire to do something that has meaning and is important, being the most critical of the 3.
- Autonomy — A desire to be self-directed; it increases engagement over compliance.
- Mastery — The urge to get better skilled
Let’s rephrase our definition again.
“A team is an abstract group of people who come together to maximise the work done with a maximum of 15 people, but optimally around 6, where team members can maximise mastery, purpose and autonomy.”
Cross-functional teams make it work
It’s clunky but more helpful. However, it needs something added. We have a clear direction for the team size, but how can we help people achieve the latter part?
Well, the purpose of Daniel Pink’s book is a practical constraint. A team only has a purpose if it can produce something meaningful. A team of developers that only ever writes fragments of a system, for example, a web designer without an HTTP server, can never have a purpose because the work has no purpose.
To achieve something with a purpose, we need a team with enough functions baked into it and enough different capabilities to create something functional and meaningful. A “cross-functional” team
John Sweller is, perhaps, the most famous educational psychologist working in the field of Cognitive Load Theory. Recently, my colleague, Andrew, asked him about the effect of cross-functional teams on cognitive load:
“Engineers do have a problem with economics and vice-versa which is why putting them together can work. The engineer does not have to learn economics and vice versa. Learning economics or engineering puts more of a strain on working memory than using someone else’s cognitive system!”
Of course, this effect isn’t possible if the person you want to use the brain of is unavailable at the moment because they are on an entirely different team.
Cross-functional teams are doubly effective when you bring in Eliyahu Goldratt’s work on the theory of constraints. His work shows that a system is constrained to move at the pace of its slowest component (the bottleneck). Suppose we have a cross-functional team that can deliver something by itself; you have simplified the number of elements within the system and reduced the complexity of identifying and optimising the bottleneck.
In addition, it also minimises the amount of work in progress. If a designer designs something, that design is unfinished until the design has been coded up by a developer and tested by a tester. If somebody stops this imaginary project tomorrow, a cross-functional team limits the amount of in-progress work to what is local to that team rather than everything into a broader system, enabling you to be nimble, or rather “agile”, in the face of a changing business environment because the costs of being so are low.
Bringing it all together
Let’s take one last look at that definition.
“A team is an abstract group of people who come together to maximise the work done with a maximum of 15 people, but optimally around 6, where team members can maximise mastery, purpose and autonomy through cross-functional teams with a common goal.”
If you want a high-performing organisation, you need to cultivate teams in cross-functional groupings of between 6 and 15 people who share a common goal and can achieve that goal.
Meet the speakers
View all insights
Compare PaaS and FaaS (Serverless) for microservices, exploring their unique benefits and limitations. Learn how to choose the right model for your cloud computing needs and developer experience.