Effective Engineering 
                Consulting Services
   
                                           "Helping Engineering Excel!"

Home
Our Premise
The Problem
Our Promise
Our Approach
Our Deliverables
Case Study
Our Results
e-Newsletters
Our People
Contact Us
Photos

 

Back to e-Newsletter Archives:

 Effective Engineering e-Newsletter – 12/19/2002

This is your bi-weekly e-Newsletter from Effective Engineering Consulting Services (www.effectiveeng.com).  If you would like to receive Effective Engineering e-newsletters as they are published, please send an email to e-newsletter@effectiveeng.com, and we will add you to our distribution list.

eN-0212191:

Too Many Cooks Spoil the Broth!

  By Tom Dennis – President, Effective Engineering [tdennis@effectiveeng.com]

A tendency of management when projects start to encounter delays is to add more people (more cooks).  While it may sound reasonable to add people to make up some time, unless they are the right people with the right skills added at the right time, the effect may be the opposite of what was intended. 

In his famous book, “The Mythical Man-Month: Essays on Software Engineering[1], Frederick P. Brooks, Jr. states “Brooks Law:  Adding manpower to a late software project makes it later.” [p 25]  This is true not only for software projects, but for any projects with complex interrelationships.  Some relevant quotes from Brooks are given below:
► “Men and months are interchangeable only when the task can be partitioned among many workers with no communications between them.” [p 16]
► “When a task cannot be partitioned because of sequential constraints, the application of more effort has no effects on the schedule.  The bearing of a child takes nine months, no matter how many women are assigned.”
[p 17]
► “In tasks that can be partitioned but which require communication among the subtasks, the efforts of communications must be added to the amount of work to be done.”
[p 17]
► “The added burden of communications is made up of two parts, training and intercommunications.  Each worker must be trained in the technology, the goals of the effort, the overall strategy, and the plan of work.  This training cannot be partitioned, so this part of the added effort varies linearly with the number of workers. 
[Note: when the people currently involved in the project must be the ones conducting the training, this changes the linear relationship, and adds further delay.]  Intercommunication is worse. … If each part of the task must be separately coordinated with each other part, the effort increases as n(n-1)/2.” [p 18]
► “Since software construction is inherently a systems effort – an exercise in complex interrelationships – communication effort is great, and it quickly dominates the decrease in individual task time brought about by partitioning.  Adding more men then lengthens, not shortens, the schedule.”
[p 19]
► “No parts of the schedule are so thoroughly affected by sequential constraints as component debugging and system test.  Furthermore, the time required depends on the number and subtlety of the errors encountered. … Testing is usually the most mis-scheduled part of programming. … Failure to allow enough time for system test, in particular, is particularly disastrous.  Since the delay comes at the end of the schedule, no one is aware of schedule trouble until almost the delivery date.  Bad news, late and without warning, is unsettling to customers and to managers. … It is therefore very important to allow enough system test time in the original schedule.”
[p 19-20]
► “For the programmer, as for the chef, the urgency of the patron may govern the scheduled completion of the task, but it cannot govern the actual completion.”
[p21]
► “The number of months of a project depends upon its sequential constraints.  The maximum number of men depends upon the number of independent subtasks.  From these two quantities one can derive schedules using fewer
men and more months.  One cannot, however, get usable schedules using more men and fewer months.“ [p 25-26]

Adding people (cooks) to a project can significantly increase development expenses.  This is shown in the graph at www.effectiveeng.com/the_problem.htm (also shown here) in green.  Depending on when in the project people are added, the direct cost of these additional people will vary.  These costs impact the company’s bottom line (profits).  However, as is illustrated above, adding manpower to a late project usually makes the project later, so added people also tend to cause project delays, as shown in red in the graph (and as described in eN-112102 – Late Projects Kill Companies), and can lead to poor quality (as described in eN-120502 – Poor Quality Products Imply A Poor Quality Company).  When this is the case, both the top line (revenues lost forever, and sales lost due to delayed delivery and poor quality) and bottom line (profits lost due to increased development and support expenses) are adversely impacted.

 When developing complex products, time must be taken up front to identify and plan for the right number of cooks to do all of the required tasks in a realistic and controllable fashion.  These tasks must then be tracked to ensure project milestones are being achieved on schedule.

_______________________

[1] Frederick P. Brooks, Jr. “The Mythical Man-Month: Essays on Software Engineering”. © 1975 by Addison-Wesley Publishing Company, Inc.


Copyright © 2002 Effective Engineering Consulting Services, All Rights Reserved

Back to e-Newsletter Archives:

   

Society of Professional Consultants

  

Copyright © 2002-2013 Effective Engineering Consulting Services, All Rights Reserved