Trading Gold for Days

Spending additional money on resources to ease the strain of a tight schedule seems like a good idea. What project manager wouldn't want more help with a project? This week, Peter Clark explains the pluses and the pitfalls of trading gold for days.

"The new reporting regulation absolutely has to be implemented by the end of the year," Roger's division manager told him. "This project is your highest priority. We will give you whatever resources you require - just get it done in time!" The deadline made the project duration 25% shorter than Roger had estimated the project would take. Roger felt a growing sense of panic - what could he do?

An iron triangle dominates software development - budget, schedule, quality. Fixing two sides of the triangle leaves you with the third. As with the case above, sometimes the schedule and the quality are determined for you. Now it would seem that you can only try to "trade gold for days" - spending much more money and resources than you normally would in an attempt to shorten the schedule.

Trading gold for days typically translates into additional resources, both human and material. The idea is that with more resources on the project, you can get more work done, thereby reducing the schedule strain. And what project manager wouldn't want more help with a project? But trading gold for days is tricky at best.

Recognize the Inherent Risks
First, finding the additional resources can be a problem. Organizations seldom have personnel sitting idly who are trained in the technology and application domain. Additional resources can be recruited from outside the organization (for a price), or it may be possible to steal personnel from other projects, but there's a risk that they will be sucked back into their original assignment (most likely at the worst possible moment).

Second, it can be exceedingly difficult to integrate new members-especially in large numbers (more than 10% of the original team's size)-into a team. It can easily take months before the new members become a net positive force on the work being done. Prior to that time, they are diverting management and experienced team members into non-productive activities, everything from finding them a desk to explaining how to build the application. Therefore, adding inexperienced resources should be done early in the project, which will further escalate the costs.

However, the most pernicious aspect of trading gold for days is in the additional overhead of managing the resources effectively. As the size of the team goes up, the number of interfaces between team members rises as well, adding to the communication overhead. Realize that this will distract existing workers from directly productive work - plan your team size based on reduced productivity levels.

When You Have to Do It Anyway
Be aware that the largest impact of adding resources will be on you, the team leader. Be sure to include in your plan sufficient supervision for new resources. Make sure that you budget time in your week for the supervisory tasks that have made you successful in the past - risk management, project tracking, and re-planning. If you don't explicitly budget time each week, you will quickly be dragged into permanent fire-fighting mode. This will likely result in the project taking more, rather than less time.

The most productive use of new workers is to provide "slack" for your other workers. In any project, unforeseen tasks suddenly materialize and need to be handled immediately. Having backup resources available to dedicate to unforeseen work can help keep your project on track.

It may be necessary to resist the impulse to keep new resources "productive." Giving people busywork can build up a backlog of unnecessary work products that will serve as a distraction to workers doing more necessary work. A common result is the unnatural partitioning of the project to accommodate

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.