I should be the last one to complain about overstaffed projects; I may owe my career to one. My first job in information technology (IT) was with a mortgage company that was a textbook example of bad practices. Annual personnel turnover was 90% and after six months on the job, I was the person on the IT staff with the most seniority. After a year, I knew it was time to go. I applied for a job with a large systems integrator that was hiring furiously. I was drug free, did not have a criminal record, and knew COBOL, so I was a perfect match. The project to which I was assigned had planned to ramp up to a peak staff of 25 and last about 8 months. I was team member number 60 of the 80 it eventually grew into by the time it completed (in 18 months). I stayed with that company for a number of years and have no complaints about the wide range of experiences that I had and skills I gained.
What is the best way to determine how much staff a software project should have? QSM has conducted a productivity study on projects sized in Function Points that suggests a way. A large sample of projects (over 2,000) was split into size bins. Within each bin the projects were divided into quartiles based on their staffing. The average and median productivity (Function Points per Person Month) were determined for each quartile. The following table compares productivity and staffing levels for the smallest and largest staffing quartiles.
If low cost and high productivity are the highest priorities, the data indicate that the small teams in the lowest staffing quartile are associated with high productivity projects. The large teams of the highest staffing quartile had much lower productivity. The usual objection to the small team strategy goes something like this. “We have a very aggressive schedule and don’t have the luxury of using a small team.” Let’s see what the metrics say. QSM calculated the average and median schedule of each staffing quartile for all of the size bins and found no evidence that larger teams reduced schedule. In fact, for the largest projects, higher levels of staffing were associated with longer lasting projects.
While using a small team does not guarantee that a project will complete on schedule, a large team does not improve the odds. And it costs a lot more.