A software myth: Behind schedule, add more people

You may have already experienced several times that when a project is late or seems to be late, the first solution mostly applied is to add more people. But mostly, it makes the project later. It does not solve the problem but ironicaly creates more problems.

Even with adding more people, sometimes,  the project can be delivered as working somehow. However, the team later has to deal with some bugs introduced by these people added. In this case, the problem is just delayed a little bit, and making it more time consuming. Because it always takes more time to fix an issue on an already delivered release.

You may find it hard to believe but Fred Brooks, in 1975, stated it clearly :  “adding people to a late software project makes it later” [1], and added that “Nine women can’t make a baby in one month”. (Brooks’ Law)

“If we get behind scehulde, we can add more programmers and catch up.”[2].Unfourtunately, adding people to a late software is a software myth  and even worse it is commonly used.  Basically, software development is not like building a wall and software developers are not mason. You cannot add more manpower to increase the amount of the work done in a certain time.

But why?

Adding new resource makes others slower. Because they need to help/teach new ones. And you also cannot count them as efficient as the others. They need some time to understand and get used to the project.

Another reason is the increased communication overhead. For N developers, the communication channel number is N *(N-1)/2. As N increases, the number of communication channels increases and the amount of work done decreases.

How to deal with the situation?

Honest promises : Be honest and don’t promise more than what is possible. This is important and applies to whole team including project managers.

Reduce the scope : If possible, meet with the key stakeholders and check if  any of  functionalities can be dropped, or added in a later phase.

Root cause analyze and fix : Find the root causes of the delay, not blaming anyone, and if possible, fix it. Sometimes it is the motivation of the team, and in this case, the factors which decrease the motivation should be carefully indetified and  solution to increase the motivation should be based on it.

Realistic plan: Revise the project plan with delay and/or create a realistic project plan with more realistic revised estimations.

When is it useful?

Adding manpower can be useful if the current team has trouble with  some difficulties and they cannot easily overcome and the new members are experts for that kind of problems.

[1] The Mythical Man-Month: Essays on Software Engineering, Fred Brooks

[2] Software Engineering - A practitioner’s Approach,  Roger S. Pressman