Tuesday, 11 May 2021

What is the best team size?

Some say a team of nine people is more than enough. Some argue that a team of fifteen works fine as well. My argument is that the smaller the team, the better their performance. But who's right and why?

The bigger a team is, the more interconnected it is, the more time it needs to discuss and agree. Each new member adds extra interactions to each other member, growing interactions exponentially. Brook found this out in the 1970's and created a formula for it.

Cognitive load is the amount of stuff a team can handle. The Paas-scale can be used to determine how much the type of work effects the load. The lowest number on the scale is simple work that costs very, very low mental effort. The highest number on the scale cost very, very high mental effort. 

Depending on the work, it requires more or less mental effort. What would happen if we plot the numbers? Let's have a look. 

The green line is Brooks law. It starts at zero and curves up, like one would expect of an exponential formula. The line tells us that with a team of three, there are three interactions. It also tells us that a team of fifteen will have 105 interactions.

The red line represents low mental effort work. From the graph we can tell that the size of the team doesn't really matter in this case. It almost seems that interactions can take place while working.

The yellow line represents very high mental effort, it crosses the green line at three. So interactions will very much effect this type of work, suggesting a team size of a maximum of three.

What about the recommended team size of "ten or fewer people in general" according to the 2020 Scrum guide? For average mental effort work a maximum of eleven people should be in the team. If the work is mentally harder, the maximum team size shrinks. This means that the team size by Scrum isn't very far of what the numbers say, but it is a maximum team size, not an average! 

It is fair to say that any member above eleven won't increase team performance significantly. Splitting a team with many members into two or even more teams of five to six will boost performance again. The cognitive load is halved per team, but interconnections have gone down by a factor resulting in an increase of performance.

Software development is an above average mental effort, making teams too big is very counterproductive. When you aim for a high performance team, go for team sizes of about five to six people.

Let me know what your thoughts are about team size in the comments below.

No comments:

Post a Comment