FACTOID # 74: More than a third of the time, Icelanders don't show up for work. Perhaps that's why they're the world's happiest nation.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Brooks' law

Brooks' law was stated by Fred Brooks in his 1975 book The Mythical Man-Month as "Adding manpower to a late software project makes it later." Likewise, Brooks memorably stated "The bearing of a child takes nine months, no matter how many women are assigned." While Brooks' law is often quoted, the line before it in The Mythical Man-Month is almost never quoted: "Oversimplifying outrageously, we state Brooks' Law." Frederick Phillips Brooks, Jr. ... 1975 (MCMLXXV) was a common year starting on Wednesday. ... Book cover The Mythical Man-Month: Essays on Software Engineering is a book on software project management by Fred Brooks, whose central theme is that Adding manpower to a late software project makes it later. ... Book cover The Mythical Man-Month: Essays on Software Engineering is a book on software project management by Fred Brooks, whose central theme is that Adding manpower to a late software project makes it later. ...

Contents

Explanations

One reason for the seeming contradiction is that software projects are complex engineering endeavors, and new workers on the project must first become educated in the work that has preceded them; this education requires diverting the resources already working on the project, temporarily diminishing their productivity while the new workers are not yet contributing meaningfully. Each new worker typically must "ramp up" in this way with not only one, but multiple engineers who must educate the new worker in their area of expertise in the code base, day by day. Engineering is the design, analysis, and/or construction of works for practical purposes. ...


Another significant reason is the communication overheads increase as the number of people increase. The number of of different communication channels goes up as the square of the number of people; double the number of people and you get four times as many different conversations. Everyone working on the same thing needs to keep in sync, so as you add more and more people, they spend more and more time trying to find out and keep up with what everyone else is doing.


Misconceptions

A commonly understood implication of Brooks' law is that it will be more productive to employ a smaller number of very talented (and highly paid) programmers on a project than to employ a larger number of less talented programmers, since individual programmer productivity can vary greatly between highly talented and efficient programmers and less talented programmers. However, Brooks' law does not mean that starving a project of resources by employing fewer programmers beyond a certain point will get it done faster.


Possible solution

The common way around the constraints of Brooks' law is to segment the problem into smaller sub-problems, each of which can then be solved by a smaller team, and to have a top-level team that is responsible for systems integration. However, this method relies on the segmentation of the problem being correct in the first place; if done incorrectly, this can make the problem worse, not better, by impeding communication between programmers working on parts of the problem which are actually closely coupled, even when the project plan has decreed that they are not. Look up Problem in Wiktionary, the free dictionary. ... Look up Communication in Wiktionary, the free dictionary. ...


Architecture provides another component of a solution to Brooks' law. When the software application is designed around a stable design pattern, then the rest of the programming team(s) can work within the framework of that pattern. The design pattern defines the rules that the programmers follow and provides consistency and scale-ability. Brooks' law, however, still applies when building out the components of the design pattern or the development framework. Design pattern could mean several things. ...


Some authors (see Creating a Software Engineering Culture by Karl E. Weigers, for example) have stressed the importance of the social and political aspects of the work climate as determiners of the effectiveness of individual programmers and the project team as a whole. Rather than depending on "heroes" to carry the day with extraordinary efforts, Weigers argues that a team of ordinarily-skilled individuals can repeatedly deliver timely results in the right work environment. Efforts to improve the effectiveness of teams can ameliorate, if not eliminate, the consequences of Brooks' law.


Open source software development

Some would claim the programming practices associated with open source software development allow open source projects to defy the predictions of Brooks' law, but this is not true. A late Open-source software project will become even later if additional developers are added for the reasons addressed above. Open source software development is the process by which open source software (or similar software whose source is publicly available) is developed. ... Open source software is an antonym for closed source software and refers to any computer software whose source code is available under a license (or arrangement such as the public domain) that permits users to study, change, and improve the software, and to redistribute it in modified or unmodified form. ...


Application to other disciplines

Brooks' law's applicability to other disciplines varies depending upon the nature of the work. In any area where the work products are commodities, the law does not apply. For example, on a late construction project, one can employ additional dump trucks to haul refuse faster, without suffering the time penalty. The function of hauling refuse can be performed by anyone who possesses a minimal level of skill and a truck. Nothing differentiates one truck from the next, and no additional communication or training is required to commence the additional hauling. The requirement to get the new truck drivers up to speed is minimized and the resultant additional communications channels do not exist; truck drivers do not need to talk to other truck drivers in order to haul the refuse. The word commodity has a different meaning in business than in Marxian political economy. ...


This is in sharp contrast to the typical work of software engineers, whose work is impacted both by the need to train and educate new workers, and by occasional mistakes that new workers are expected to make before they are fully familiar with the software project.


See also

Book cover The Mythical Man-Month: Essays on Software Engineering is a book on software project management by Fred Brooks, whose central theme is that Adding manpower to a late software project makes it later. ... The Cathedral and the Bazaar (abbreviated CatB) is an essay by Eric S. Raymond on software engineering methods, based on his observations of the Linux kernel development process and his experiences managing an open source project, fetchmail. ... In computer science, divide and conquer (D&C) is an important algorithm design paradigm. ... This is a list of adages named after people (eponymous adages). ...

External links

  • Brooks' Law repealed?
  • Exceptions to Brooks' Law
  • Brooks' Law and open source: The more the merrier?

  Results from FactBites:
 
FDA warning label on joint cement preempts tort claim - Brooks v. Howmedica, Inc., 273 F.3d 785 (8th Cir. 2001) (9258 words)
Brooks argued that her claim was not preempted because the duty to warn is a general obligation applicable to all devices, and approval by the PMA or NDA does not impose specific federal requirements with preemptive effect.
Brooks appealed, arguing that her general common law duty to warn claim was not preempted and that the NDA and PMA are not specific federal requirements with preemptive force.
Brooks is correct in her assertion that a claim of failure to comply with FDA regulations is not preempted by the MDA, Lohr, 518 U.S. at 495, since such a state claim imposes no requirement "different from, or in addition to" any federal requirement.
Brooks' law - Wikipedia, the free encyclopedia (433 words)
However, Brooks' Law does not mean that starving a project of resources by employing fewer programmers beyond this point will get it done faster.
The other common way around the constraints of Brooks' Law is to segment the problem into smaller sub-problems, each of which can then be solved by a smaller team, and to have a top-level team that is responsible for systems integration.
Brooks' Law's applicability to other disciplines varies depending upon the nature of the work.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.