No Silver Bullet

No Silver Bullet

"No Silver Bullet — Essence and Accidents of Software Engineering" is a widely discussed paper on software engineering written by Fred Brooks in 1986.[1] Brooks argues that "there is no single development, in either technology or management technique, which by itself promises even one order of magnitude [tenfold] improvement within a decade in productivity, in reliability, in simplicity." He also states that "we cannot expect ever to see two-fold gains every two years" in software development, like there is in hardware development.

Brooks makes a distinction between accidental complexity and essential complexity, and asserts that most of what software engineers now do is devoted to the essential, so shrinking all the accidental activities to zero will not give an order-of-magnitude improvement. Brooks advocates addressing the essential parts of the software process. While Brooks insists that there is no one silver bullet, he believes that a series of innovations attacking essential complexity could lead to significant (perhaps greater than tenfold in a ten-year period) improvements.

The article, and Brooks's own reflections on it, "'No Silver Bullet' Refired," can be found in the anniversary edition of The Mythical Man-Month.[2]

Contents

The argument

At the heart of the argument is the distinction between accidental complexity and essential complexity. Accidental complexity relates to problems that we create on our own and which 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.

Brooks claims that we have cleaned up much of the accidental complexity, and today's programmers spend most of their time addressing essential complexity. One technology, that had made significant improvement in the area of accidental complexity was the invention of high level programming languages, such as Fortran at that time. Today's languages, such as C, C++, C# and Java, are considered to be improvements, but not of the same order of magnitude.[citation needed]

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 excites 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 tenfold 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 perks of higher status: large office, staff, travel funds, etc.

See also

Further reading

  • Brooks, Fred P. (1986). "No Silver Bullet — Essence and Accident in Software Engineering". Proceedings of the IFIP Tenth World Computing Conference: 1069–1076. 
  • (April 1987). "No Silver Bullet — Essence and Accidents of Software Engineering". IEEE Computer 20 (4): 10–19. 
  • (1975). The Mythical Man-Month. Addison-Wesley. ISBN 0-201-00650-2. 
  • (1995). "Chap. 16". "No Silver Bullet — Essence and Accident" (Anniversary Edition with four new chapters ed.). Addison-Wesley. ISBN 0-201-83595-9. 
  • (1995). "Chap. 17". "'No Silver Bullet' Refired" (Anniversary Edition with four new chapters ed.). Addison-Wesley. ISBN 0-201-83595-9. 

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Silver Bullet — (Knott s Berry Farm) Silver Bullet Silver Bullet Emplacement Knott s Berry Farm Ouverture …   Wikipédia en Français

  • Silver Bullet (rapper) — Silver Bullet was a rapper born in and raised in London, England. He went to school in Buckingham and then was moved to Leighton Buzzard and then to Aylesbury in 1988. He is most remembered for his singles Bring Forth the Guillotine (Tam Tam… …   Wikipedia

  • Silver Bullet (Achterbahn) — Silver Bullet Teil der Silver Bullet Daten Typ Stahl inverted Modell Inverted Coaster …   Deutsch Wikipedia

  • Silver Bullet (Knott’s Berry Farm) — Silver Bullet Teil der Silver Bullet Daten Standort Knott s Berry Farm (Buena Park, Kalifornien, USA) …   Deutsch Wikipedia

  • Silver Bullet — bezeichnet Silver Bullet (Rapper), ein britischer Rapper Silver Bullet (Knott’s Berry Farm), eine Achterbahn in Knott s Berry Farm Der Werwolf von Tarker Mills, einen US amerikanischen Film (Originaltitel Silver Bullet) …   Deutsch Wikipedia

  • Silver Bullet (Rapper) — Silver Bullet ist ein englischer Britcore MC aus London und ein typischer Vertreter dieses harten Rapstils. Er wendet den für britischen Rap recht üblichen Ragga betonten Stil an. Sein Aufstieg begann, nachdem er den Wettbewerb einer Radioshow… …   Deutsch Wikipedia

  • silver bullet — A silver bullet is a complete solution to a large problem, a solution that seems magical …   The small dictionary of idiomes

  • silver bullet — n. any simple but sweeping solution to a complex or virtually insurmountable problem [the legislation was no silver bullet for crime] …   English World dictionary

  • silver bullet — very effective, almost magical remedy, 1808. The belief in the magical power of silver weapons to conquer foes goes back at least to ancient Greece (e.g. Delphic Oracle s advice to Philip of Macedon) …   Etymology dictionary

  • Silver bullet — The metaphor of the silver bullet applies to any solution perceived to have extreme effectiveness. The phrase typically appears with an expectation that some new technology or practice will easily cure a major prevailing problem.The term… …   Wikipedia

  • Silver Bullet — A silver bullet is a method to kill mythical creatures such as werewolves or a metaphor for any solution of extreme effectiveness. Silver Bullet may also refer to:* Silver Bullet (film), a 1985 American film based on a Stephen King novella *… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”