Size of Development Teams

What is a good size for a development team? Of course there is no truly universal answer to this question. Software projects are just too diverse. But still my gut feeling as well as several articles I read on the subject, tell me that in many cases two to five people is probably a good initial estimate.

Obviously this excludes things above a certain size, like operating or ERP systems in their entirety. But change the focus to a module of the aforementioned and all of a sudden the team with five people is not so ridiculously small any more. So, like in many other cases, it all comes down to scope.

My general line of thinking is this: When something is too big for five people, it comes with an inherent complexity that will increase the likelihood of failure considerably. Of course, you can throw more resources at the problem. But you will get all the by-products of that. Think about communication overhead between developers, additional management layers, and the increased risk of low-performers among all the people that are poring in.

Interestingly, you can also approach things from the opposite direction: I was once told a story about a CEO who reduced the size of a development team to get things done better. At the time I thought this was a ridiculous approach. But I have long changed my mind since then and wholeheartedly agree. It is a bit like the inverse of what is described in “The Mythical Man-Month“, where Frederick P. Brooks, Jr. describes the naive idea that adding developers will shorten the time needed to accomplish a certain goal.

So in my view the goal should absolutely be to to have development teams no larger than five people. If the overall project is too big for this, you need to slice it into parts that can be delivered by small-enough teams. This will also help to enforce clean interfaces/contracts between the various parts.

All of the above assumes that we are talking about people with considerable experience (5+ years) in the relevant area. Given that the average experience of software developers is about five years, it will often be challenging to staff such a team. (And five years average is for their entire career, not the relevant subject area.) But dealing with this, is the topic for a different post.

Leave a Reply

Your email address will not be published. Required fields are marked *