Of all the monsters that fill the nightmares of our folklore, none terrify more than werewolves, because
they transform unexpectedly from the familiar into horrors. For these, one seeks bullets of silver that can
magically lay them to rest.
The familiar software project, at least as seen by the nontechnical manager, has something of this
character; it is usually innocent and straightforward, but is capable of becoming a monster of missed
schedules, blown budgets, and flawed products. So we hear desperate cries for a silver bullet--something
to make software costs drop as rapidly as computer hardware costs do.
But, as we look to the horizon of a decade hence, we see no silver bullet. There is no single
development, in either technology or in management technique, that by itself promises even one order-
of-magnitude improvement in productivity, in reliability, in simplicity. In this article, I shall try to show
why, by examining both the nature of the software problem and the properties of the bullets proposed.
Skepticism is not pessimism, however. Although we see no startling breakthroughs--and indeed, I
believe such to be inconsistent with the nature of software--many encouraging innovations are under
way. A disciplined, consistent effort to develop, propagate, and exploit these innovations should indeed
yield an order-of-magnitude improvement. There is no royal road, but there is a road.
The first step toward the management of disease was replacement of demon theories and humours
theories by the germ theory. That very step, the beginning of hope, in itself dashed all hopes of magical
solutions. It told workers that progress would be made stepwise, at great effort, and that a persistent,
unremitting care would have to be paid to a discipline of cleanliness. So it is with software engineering
today.