The Mythical Man-Month by Fred Brooks is one of my favorite books. It is a compilation of essays on software engineering and project management, but the message applies to any complex problem or project that has multiple components.
The premise is simple: if I have a project and want to add another resource to the team, my project will not necessarily get done faster. In fact, the project might get done slower. This occurs for a number of reasons including:
A communication factor has been introduced, so now the project must be discussed among additional people.
The new team member needs time to gather context and information about the project, so now ramp-up time has to be added.
Certain tasks are delivered less efficiently if you try to divide them. Think of trying to write every other sentence in a paragraph with someone else writing the other half. It’ll take you more time to write it, not less. This is the theory of limited divisibility.
When a project runs late, our knee-jerk reaction is to throw more resources at it. By not accounting for communication, ramp-up time, and limited divisibility, we can push the project’s completion even further behind schedule.
Agile processes, such as breaking a project down into an iterative cycle, engaging stakeholders into daily standups, and maintaining a unified task backlog can help when projects run late. This way you minimize communication time and can understand the bottlenecks that keep us from getting the most from additional resources.
Ultimately, more people and resources do not always equate to faster completion times. Often how we engage those resources with a project is more important than how many resources we have. Communication and shared understanding are the key to unlocking the value of each resource’s time.
Next time you face a project with an impending deadline, consider some Agile processes that you could easily apply. Break the project down into smaller steps or have a quick daily meeting on progress. Don’t fall into the trap of assuming that more resources will bring a faster outcome.
Until next time…we are Advoco, make every minute count.
About Jim Lazio: As a Technical Solutions Architect, Jim is responsible for designing and building innovative technical solutions for Advoco-internal and client-based systems. When Jim isn't at the office he is spending time with his wife hiking in the wilderness or coming up with a new strategy for the latest board game release.