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.
Examples:
“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.”
“Multiplying ROI at Warp Speed”
“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.”
“SOA provides benefits in four basic categories: reducing integration expense, increasing asset reuse, increasing business agility, and reduction of business risk.”
“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.
Lagniappe:
- 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”
Getting IT delivery right “… requires leadership, detail-oriented personnel, skillful practitioners.” I couldn’t agree more with the pragmatic view that cuts through the bright, shinny new methodological approaches to curing IT proverbial cancer.
But there sure seems to be money to be made building the next bandwagon and jumping on early … great article!
Great job Peter.
I’ve been known to fall into the trap of ‘if we could only do X….’ with ‘X’ being whatever the new approach is, we’d be more successful.
I usually catch myself before getting too far along this path of thinking but still the fact that I let the ‘new approach’ or ‘new technology’ catch my interest as a panacea irks me. 🙂
Great stuff here and a great reminder that the ‘right’ approach is different for everyone and may involved many approaches combine.
Peter, you write insightful stuff so often that there is now a “Kretzman” tag on my blog. No, seriously.
I started a really long comment here, but it turned into its own entry on my own blog. To prevent my comment from being nothing but an endeavor in blog-shilling, let me say here that my favorite insight of Brooks’s paper is the distinction between accidental and essential complexity.
Brooks argued, in 1987, that “accidental complexity” was nearly a thing of the past. It’s true! As a developer, you hardly ever have to mess around with peripheral stuff that simply gets in the way and doesn’t work… not like a logistics manager who deals with warehouse people calling in sick, or like a construction supervisor who gets stuck with a batch of substandard materials.
Software is a really clean industry that way. If something doesn’t work, it’s probably because that’s the job, not a distraction from the job. As a result, everything we do is problem-solving, which is inherently unpredictable.
I adore your closing paragraph.
There isn’t a silver bullet and people do go crazy trying to find that one magical solution. Metrics and ROI are key. Here is an interesting article discussing the fuzzy-ness of seeing the ROI with SOA and Enterprise 2.0 http://www.itbusinessedge.com/cm/blogs/lawson/the-human-condition-causes-metric-problems-for-soa-enterprise-20/?cs=38139
Thanks to all for your insightful comments.
Rose, I’ve actually already written about ROI fairly extensively — but curiously, also along the lines that it is, in and of itself, not a holy grail either. That said, it’s better to see firm numbers based in fact than some of the outlandish and optimistic claims that are made for some of the memes that I discuss in my post.