How To Decide The Right Team Size for Your Software Development Project

by Noah Jackson

Different projects require different team sizes. So how can you know what is the best team size for your project? That may be a simple …

Different projects require different team sizes. So how can you know what is the best team size for your project? That may be a simple question, but it’s not easy to answer. As unsatisfying as the general answer may sound, it’s “It depends.” In the world of software development, identifying the right team size is more of an art than a science. But there are tips that you can use to roughly estimate how many people you need, and to know when to add more people and when to remove some down the road. In this article, we’ll share with you what those tips are and how you can apply them. Let’s dive in!

Amazon’s Two Pizza Rule

The Right Team Size

Jeff Bezos, Amazon’s ex-CEO, once said during an interview that if you can’t feed all the people in a team with two pizzas, that team is too big to be productive. Let’s not be too hard on the reliability of using pizza as a metric, this advice actually makes a lot of sense. 

It does if you’ve heard of the team-scaling fallacy. This fallacy says that people tend to assume that the bigger a team is, the more productive it is. That’s unfortunately not quite accurate in reality. One of the reasons is managers tend to underestimate the number of hours needed to complete a project as their team size increases. They often think that if Paul and Jason work 3 hours each day, then the two of them will add up to 6 hours of productivity, but that way of thinking is similar to saying you can make a baby in a month with 9 women. No, you can’t!

Not every problem can be resolved by adding more people to the team, but it depends on the nature of the problem being dealt with. Some problems get more complicated to solve if more people are involved because communication and information exchange become harder to manage. 

So, how many people are too many? Research found that groups of 3 to 8 people tend to outperform smaller and bigger teams. This is not to say that you should stay away from bigger teams, but it might be a good idea to break your bigger team into sub-teams of 3-8 members. 

Understanding the Requirements

Team requirements

Now that you can agree that increasing the size of a team isn’t necessarily the best choice, you have to ask yourself: How can you decide how many people you are going to need? The first place to look for clues is the initial requirements.

So, now you’ve got a feel of how many people can become too many, how can you figure out how many people you’re going to need? The initial requirements of your project is where you should start. Look closely at:

  • Technical requirements 
  • Projected timeline
  • Budget

The first area is the project scope. Big projects often need bigger teams and require a variety of roles if different tech stacks are needed. There are times when you need to hire separate roles for separate fields of expertise, but that can be unnecessary in some cases. For example, if you have a senior developer who has experience with database and frontend development, but working with database is just an occasional occurrence, then you can have that developer split his/her attention between frontend development and handling SQL queries. Otherwise, hiring two people for two separate roles is a better choice. 

Next, it’s the estimated timeline. How fast do you need to complete your project? If you’re not in a crunch, you can execute your project with a smaller team, but if the deadline is short, then you may need to bring more people in to get the job done. In projects with a short deadline, parallel processes are what you need to pay attention to if you want to involve more people. A parallel process is a task that is relatively independent  from others, which means you can work on it without input from other activities. The more parallel processes a project has, the more it allows for more people to speed up progress. 

Then comes the budget. Budget is one of the most important aspects that determine how many people you can bring on board. One commonly made mistake when it comes to budget is understaffing a team to save money. This often leads to a bigger loss in the long run for development teams because of missed deadlines and late releases. Although it’s important to have a budget goal, it should stay as flexible as possible. 

The Nature of The Team

Team's nature

Understanding the requirements of our project will give you an estimation of your team size, but understanding the leadership of a team will give you a tactical insight because different leadership styles suit different team sizes. For example, managers who lead with an autocratic style tend to work best with bigger teams while s small team of highly motivated talents often prefers to be led by a democratic manager. 

The takeaway is different managers have different preferences with regard to the team size they want to work with, so if you have already got a manager in mind, let them pick a team size based on their strength. 

Software development models also play a role here. Teams who employ agile methodologies tend to perform best when they have between 5 to 11 members. If the team size goes beyond that, the flexibility of the model can be detrimental to the project. On the other hand, waterfall approaches can accommodate both small and big teams, as the structure can keep things organized.

Technological Resources

There are various tools that can help you build, organize, and manage your team. Serverless services and communication apps allow you to even have developers from different locations across the world working on the same project. Furthermore, repetitive tasks that used to require dedicated developers now can be automated. Thanks to all of these technological resources, you can have smaller levels with higher levels of productivity.

Keep in mind that technology can help a team collaborate in an easier and more productive manner, it can’t turn a problematic team into a miracle. No technology can replace the quality of the members if you’re going to have a highly functional team.

Start Small

“Start small” can be simply the best advice when it comes to building a team. Just as it’s easier to scale a project than to downsize it, it’s easier to get started with a small team and bring more people in later as the progress requires. As we mentioned above, getting your team size right is not an exact science, so there’s getting the number correct right off the bat. Experience and experiment are extremely important when you want to figure out the ideal number of people your project is going to need.

If your company is looking to hire remote software development teams, we can help!

CMC Global is among the top 3 IT outsourcing services providers in Vietnam. We operate a large team of more than certified 1,500 developers, covering all tech stacks, and can supply you with the right team, regardless of size, at a very reasonable cost.

For further information, fill out the form below, and our technical team will get in touch shortly to advise!