A project that can be done by a single developer in 3 months is said to be 3 man-month projects. Often the calendar duration is 45 â€“ 60 days which means that the vendor organization will allocate 2 developers to work on it. So, with a quick calculation you can tell that a 3 man-month project will take 1.5 months if 2 developers are working on it. Does than mean that if you can have 3 developers working on project then this project can be done in 1 month? I donâ€™t think so!
â€œâ€¦.Add more people and get it done soonerâ€ – This is the #1 idea that 90% people get when they have a pressing deadline and they want the project to be done sooner. But, as we know, this never has worked and it never will.
Let me introduce you to Brookâ€™s Law:
Assigning more programmers to a project running behind schedule will make it even later, due to the time required for the new programmers to learn about the project, and the increased communications overhead
Dr. Fredrick Brooks wrote this in a book called â€œThe Mythical Man-Month: Essays on Software Engineeringâ€ which was published in 1975. Today still after 25 years of first print, the law holds good and the book continues to be the bible of software engineering.
He gave us a group intercommunication formula which basically is n(n-1)/2, where â€œnâ€ is the number of people working on the project.
So when we have a team of 2 people working this become 2(2-1)/2 = 1, i.e. when 2 people are working there is only 1 channel of communication. Lets see what happens when we have 4 people working on a that same project. The intercommunication channel becomes: 4(4-1)/2 = 6
The above examples clearly show that when the team size is doubled, the communication overhead has increased six times.
To know this is very important when a project is outsourced to a lower wage country like India. This is because the difference in wage rate is very tempting. The contracting company often pays $50/hr in-house whereas the project is contractedÂ Â out at $10 per hour. Thus doubling the resources for a project at vendorâ€™s organization still seems like a great option to impress the client with a faster delivery since it does not bear severe implications on profitability.