I’ve worked in a number of different software development teams, and some of the best have been when I’ve been part of a team of 3 people. In this post I discuss some of the features of such teams, what helps them work well, what can harm them and my subjective experiences of working on such teams. I can’t say categorically that 3 is the optimum team size. Clearly, the right size of team is going to depend on many things. But if you happen to be on a team of 3, or you work with one, this might be helpful.
Teams of 3 Are Self-Organising
A long time ago, in a book I’ve long since forgotten, there was a diagram about team size and the number of communication channels required to keep each member informed. It looked something like this:
The point is that as the number of team members increases, it gets harder to co-ordinate their work. At about 4 or 5 team members, the ability of the team to self-organise starts to break down, and the team needs a manager. But teams of 3 don’t need a manager. In fact, I will argue later that having a manager inside a team of 3 is detrimental to the formation of a productive team.
In a 3 person team, it’s easy to keep everyone informed of what the others are working on. Email trails remain manageable, and almost any discussion ends up including all 3 members by default. Importantly, discussions don’t fragment into sub-discussions (and ultimately different factions), which can happen with larger numbers of people.
Decisions get made by consensus. Brief discussions occur whenever a decision needs to be made. No-one has the power of veto. If there is a disagreement that can’t be resolved by discussion, there’s automatically a quick democratic solution, because it will inevitably be 2 against 1. Even if it turns out to be the wrong decision, the team finds that out quickly and can backtrack. This is preferable to having long, drawn-out arguments that never get resolved, or resorting to the authority of a manager who probably knows less about the problem than the developers do. In teams of 3, discussion (and even argument) feels like a healthy part of the process, not a thing to be avoided at all costs.
Assuming that the team operates within a larger organisation, it still needs a way to communicate outside the team. For this purpose, the team may have a permanent or temporary ambassador to send to meetings. But it’s important that this person is not the leader of the team, and reports back to to the team so that any decisions can be made by the team as a whole. It’s also important that the organisation regards the team as a unit, and addresses it as such.
Jelled Teams and Teamicide
There’s a whole section on the concept of jelled teams in the excellent book, Peopleware: Productive Projects and Teams. Basically a jelled team is one in which the team has taken on an identity of its own. As they say in Peopleware:
A jelled team is a group of people so strongly knit that the whole is greater than the sum of the parts.
They argue that it’s extremely desirable to allow jelled teams to form, as these are the most productive and highly motivated units within an organisation. They describe many of the properties of jelled teams, which ring true with my experiences. They also point out many ways in which organisations prevent jelled teams from forming. They call this Teamicide. Teamicide can happen deliberately, when managers get frightened by the apparent cliquishness of a jelled team and act to break it up, or by accident through policies which seem sensible but have the side-effect of inhibiting team formation.
Teams of 3 can become jelled teams if they’re given the opportunity to do so. And perhaps their small size and lack of an internal manager helps compared to larger teams. The small team size prevents factions from forming. I think the lack of a manager within the team helps here too.
I hate feeling like I’m being managed. To me, any reminder that I’m working for someone else, rather than for my own enjoyment, puts a dampener on my motivation. Inside of a jelled team, the work of the team becomes the most important thing. It’s like the team forms a force field against external management. As soon as management interacts with individual members of a team, that force field is broken, and I’m reminded of the fact that I’m working for someone else.
Having one of the team members acting like a manager breaks the force field too. The team feels like a team because it’s a self-organising unit. Having one person act like a manager undermines the team’s ability to self-organise. Also, even if the members of the team have different levels of skill and experience, they should all regard themselves as equals within the team. People have different strengths and ways to contribute and jelled teams know each other well enough to realise that they all contribute different things to the whole. Having one person act like a manager undermines the sense that all members of the team are equal components.
There is much more in Peopleware about the factors that allow productive jelled teams to form, but I think the above covers the factors that are more specific to 3 person teams.