FACTOID # 111: On average, more than 70 persons die of varicose veins per year per country.
 
 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 > No Silver Bullet

No Silver Bullet - essence and accidents of software engineering is a well-known paper on software engineering written by Fred Brooks in 1986. Brooks argues that there will be no more technologies or practices that will serve as "silver bullets" and create a twofold improvement in programmer productivity over two years. The phrase is often quoted and applied to productivity, quality, and control. It should be noted that Brooks states that this limitation to programmer productivity only applies to essential complexity and he advocated challenges to accidental complexity which he believes can lead to significant (perhaps greater than 10 fold in a 10 year period) improvements. Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. ... Frederick Phillips Brooks, Jr. ... The metaphor of the silver bullet applies to any straightforward solution perceived to have extreme effectiveness. ... For the Talib Kweli album Quality (album) Quality can refer to a. ... Essential complexity refers to a situation where all reasonable solutions to a problem must be complicated (and possibly confusing) because the simple solutions would not adequately solve the problem. ... Accidental complexity is a problem of complexity in computer programs or its development process (computer programming), that can be avoided, as opposed to Essential complexity. ...


The article and Brooks' own reflections on it 'no silver bullet - refired' can be found in the anniversary edition of The Mythical Man-Month. 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 Argument

At the heart of the argument is the distinction between accidental complexity and essential complexity. Accidental complexity relates problems that we create on our own and can be fixed—for example, the details of writing and optimizing assembly code or the delays caused by batch processing. Essential complexity is caused by the problem to be solved, and nothing can remove it—if users want a program to do 30 different things, then those 30 things are essential and the program must do those 30 different things. Accidental complexity is a problem of complexity in computer programs or its development process (computer programming), that can be avoided, as opposed to Essential complexity. ... Essential complexity refers to a situation where all reasonable solutions to a problem must be complicated (and possibly confusing) because the simple solutions would not adequately solve the problem. ... See the terminology section, below, regarding inconsistent use of the terms assembly and assembler. ...


Brooks claims that we have cleaned up much of the accidental complexity, and today's programmers spend the majority of their time addressing essential complexity. One technology that has made significant improvement in the area of accidental complexity was the invention of high level languages, such as Fortran. Today's languages, such as C,C++, and Java are considered to be improvements, but not of the same order of magnitude. A high-level programming language is a programming language that is more user-friendly, to some extent platform-independent, and abstract from low-level computer processor operations such as memory accesses. ... Fortran (previously FORTRAN[1]) is a general-purpose[2], procedural,[3] imperative programming language that is especially suited to numeric computation and scientific computing. ... C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ... Java is a programming language originally developed by Sun Microsystems and released in 1995. ...


Brooks advocates "growing" software organically through incremental development. He suggests devising and implementing the main and subprograms right at the beginning, filling in the working sub-sections later. He believes that programming this way enthuses the engineers and provides a working system at every stage of development.


Brooks goes on to argue that there is a difference between "good" designers and "great" designers. He postulates that as programming is a creative process, some designers are inherently better than others. He suggests that there is as much as a 10-fold difference between an ordinary designer and a great one. He then advocates treating star designers equally well as star managers, providing them not just with equal remuneration, but also all the trappings of higher status (large office, staff, travel funds, etc.).


See also

  • "No Silver Bullet - essence and accident in software Engineering", Brooks, F. P., Proceedings of the IFIP Tenth World Computing Conference, pp. 1069-1076, 1986.
  • "No Silver Bullet - essence and accident in software Engineering", Brooks, F. P., Computer 20, 4 (April 1987), pp. 10-19.
  • The Mythical Man-Month
  • The Mythical Man Month (Anniversary Edition with four new chapters) Chap. 16 ("No Silver Bullet - Essence and Accident"), Brooks, F. P., Addison Wesley, 1995, ISBN 0-201-83595-9.
  • The Mythical Man Month (Anniversary Edition with four new chapters) Chap. 17 ("'No Silver Bullet' Refired"), Brooks, F. P., Addison Wesley, 1995, ISBN 0-201-83595-9.
  • History of software engineering

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. ... Bold textItalic text Software engineering has evolved steadily from its founding days in the 1940s until today in the 2000s. ...

External links



 

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.