Fred Brooks wrote a seminal essay in 1986, “No Silver Bullet — Essence and Accidents of Software Engineering“, a model of clear and cogent thinking that I consider to be required regular reading for anyone involved in information technology. Despite the essay’s brilliance, and despite its wide promulgation and deserved fame, the phenomenon it describes seems to have only broadened in the last twenty-three years. Brooks argues as follows (with bolding added):
“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.
“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.”
So this basic tenet has been convincingly articulated by a leading IT thinker for almost a quarter century. Yet, the trend continues: new technologies pop up every couple of years and the hype cycle begins. Evidently, hope springs eternal.
IT and an inclination towards zealotry have always tended to have a high correlation, but one thing I find interesting about the incessant quest for a “silver bullet” solution is that the impetus for that quest often stems from non-IT senior management. They long for something, anything, which will take this risky, recalcitrant technology beast and tame it into predictability. As a result, we see notable IT thinkers respond to that pressure, often by championing one or more specific practices, methodologies, approaches, or technologies as “the answer.” Many sorts of silver bullets have come and gone in the decades since Brooks’ essay. The one constant seems to be that there are always a few memes out there being touted as cure-alls. Why haven’t we learned?
Let me gingerly pose the empirical evidence of this “quest for the cure-all” meme that is provided by my Twitter stream every day. I see a number of IT tweeters who have doggedly taken up the flag of a particular movement or approach; in some extreme cases, virtually every tweet and comment from those people views all conceivable issues through that one lens.
Let’s list some recent candidates for the ongoing “silver bullet glomming” that I see, with some sample quoted hype for each one. My Lagniappe section at the end of this post, for your amusement, will provide additional links to sites decrying the hype in each case.
“Agile Development Can Lead to Better Results and Technology-Business Alignment”
“Cloud computing heralds an evolution of business that is no less influential than e-business, according to Gartner Inc.”
“Firms with superior IT governance have more than 25% higher profits than firms with poor governance given the same strategic objectives.”
- Business alignment above all
“There are no IT projects”
“Only once we stop having IT projects and start having business projects will we see the full value of project management.”
“What if we took technology away from the CIO and focused him uniquely on Business Leadership?”
- Eliminate complexity: a simpler architecture is the key
“The proliferation of IT failures is caused by increasing IT complexity. And this is good news, because complexity is a solvable problem.”
“From small organizations to multinational enterprises and anything in between, this best practice framework has helped many improve efficiencies and bottom line figures, putting IT back in business!”
- Ruby on Rails (or, .NET, or J2EE, or Smalltalk, etc.)
“Ruby on Rails is a breakthrough in lowering the barriers of entry to programming. Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days.”
“It’s a technique that designers and executives alike hope may help to provide a solution to some of the world’s serious challenges.”
“Experts and visionaries believe that the benefits of XML Web services will be instrumental in propelling explosive business growth over the next few years.”
It’s important that I note here that none of these theories, approaches, or technologies is necessarily a bad idea (although I think that each does tend to land at quite different points on the spectrum of goodness). There are some, in fact, for which I myself have major enthusiasm, because I think they promise to relieve at least portions of the IT delivery crisis.
The key takeaway, I’d argue along with Brooks, is that there’s no one technique, approach, methodology, philosophy, or magic that will wondrously make systems work easy and reliable. No matter what the tools and techniques used, it’s hard work. It’s rife with opportunity for failure. It requires leadership, detail-oriented personnel, skillful practitioners. Brooks took pains to say,
“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.”
So, we all have our silver bullet, I suppose: mine, along with Brooks’, consists of maintaining balance, practicality, and a broad embracing of multiple approaches, rather than one panacea.
- Peter Merholz, “Why Design Thinking Won’t Save You”
- Jerry Iacouzzi , “Debunking the myth of SOA”
- Matthew Huntbach, “What’s Wrong With Ruby?”
- Rob England, “The Emperor has no clothes. Where is the evidence for ITIL?”
- Colin Beveridge, “Biggest IT Myth of all time?”
- Steve Yegge, “Good Agile, Bad Agile”
- Cath Everett, “Five cloud computing myths exploded”