One question we get asked frequently is, “Can we add more people to the software project to finish faster?”
It’s a tricky question. Many times the answer is “yes” but with several caveats that need to be clearly understood.
The goal with any project planning effort is to finish the software application as soon as possible and as efficiently as possible. Adding more resources may help bring your timelines in sooner, but the additional people will add to the overhead of the project, possibly increasing costs and could even slow the project down.
Let’s take a deeper look as to why.
The Challenges Of More Resources
We have all heard the idiom, “Too many cooks spoil the broth.” The same holds true for software.
More To Manage
When you add resources to a project, you increase the number of people that you need to manage. The project manager will now be assigning more tasks, getting more status updates, and running more interference to help the team overcome any obstacles along the way.
By adding more people to the project, you will most likely need to increase the amount of project management oversight to keep the project running smoothly. The more time a project manager spends on your project, the more the project will cost.
Overhead Per Team Member
There is a certain amount of overhead that a software project has per team member.
Initially, there is the cost of getting up to speed. It can take each team member, and the team as a whole, a couple of weeks to learn about the project and learn about the solution. Once this learning curve is over, the team reaches their maximum productive output. The more people you have on a project, the more you will end up spending in total ramp-up costs.
Another example of overhead per team member is meetings. In the Agile methodology of software development, the entire team meets daily and reports on what they achieved yesterday, what they are working on today and if they have any obstacles.
Although the guideline is that the meeting should take less than 15 minutes, if you add four developers to your project, you will spend an extra 5 man-hours a week in stand-up meetings. Although these developers will ultimately bring your timelines in, your project overall will cost more.
An important part of software development is the sequencing of tasks. Some pieces of work have to be done first before other pieces of work can begin. In project management speak, this is known as dependencies.
For example, before you can write the code that creates an order, there has to be a way to select products. Before you can select products, there has to be a database that stores product information such as the description, pictures, and the price.
When you have multiple people working on an application at once, you may get in a situation where one developer is waiting on another developer to finish a task before he or she can get started. The waiting developer might be able to get started on another task in the meantime, or they might not. In either case, both the waiting and the switching of tasks causes inefficiencies in your project.
The more people working on development tasks at the same time, the more likely you will run into waiting because of dependencies.
There is a saying that you can’t take nine women and make a baby in a month. While this is true for babies, in software it is generally possible to add more resources and get the project done faster – to a point.
A lot that goes into creating and executing an effective project plan, especially when it comes to calculating the ideal number of resources. When you go beyond the ideal number of resources, you start to add complexity, inefficiencies, and cost to your software project. It’s a trade-off.
If delivering your project quickly is critical to your business, ask your project team about the impact and costs of doing the project faster. They should be able to advise you on the ideal resourcing plan, and the impacts of adding additional resources to help you meet your target date.
6 Items That Are Non-Negotiable When Building Software
Before you get started with your next software project, discover what is non-negotiable in building a successful software application. In this guide, we leverage our 18 years of experience to share advice on how to build your application on a solid foundation. we share how to build your application on a solid foundation from nearly twenty years of our own personal experience.
You can grab a copy of the guide below and share it with your team!