October 18th, 2006
I had the pleasure of listening to Joel Spolsky presenting a keynote address at the Construx Executive Summit conference yesterday. Joel is known to many as the author of the popular Joel on Software blog, and to some as the author of the book, Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity. It turns out that he’s not only an excellent writer, with thought-provoking insights and perspectives (which I already knew, as a subscriber to his blog), but also an entertaining and thought-provoking speaker.
With a talk titled “Developing Great Software,” presented at a software engineering conference hosted by software guru Steve McConnell, I was expecting a serious, perhaps even ponderous, presentation on agile development, extreme programming, design patterns, and a dozen other buzzwords. To my surprise and delight, that turned out not to be the case; instead, he spent his time trying to help us identify the subtle, almost ephemeral characteristics that distinguish truly great software products from the merely pedestrian and workmanlike products. Interestingly, most of his examples, analogies, and metaphors did not involve software at all, but things like iPods, really great rock-n-rolls songs, and really great movie actors.
When it comes to software, Joel says that “the formula” for greatness consists of three things:
- Make people happy.
- Think about emotions (i.e., the emotions of the users of the product).
- Obsess over aesthetics.
One of the key things that determines whether users will be happy with a software product, Joel suggests, is whether they feel they’re in control of what they’re doing. He proceeded to illustrate this point by demonstrating the many frustrating things that the Windows operating system does when a non-technical user attempts to carry out the simple feat of snapping a photograph with a digital camera, and then uploading it to his computer. Apple should definitely hire Joel to help direct and produce their next Mac-vs-PC television commercial!
Joel didn’t leave us with a detailed checklist, or a specific methodology for developing great products — and I suspect that a clueless product designer would be just as clueless after listening to his presentation. But for anyone who has some good instincts, and a really passionate desire to develop something as great as an iPod, or a Mac Powerbook, or the Mac OS X operating system, his presentation helped crystallize a lot of fuzzy ideas. It also demonstrated the potential value of bringing in an outside critic/consultant to review a software product, to help prevent the design team from falling victim to “groupthink” and believing their mediocre product is better than it really is.
Bottom line: even if you’re busy, subscribe to Joel’s blog, read his book — and don’t pass up any opportunity to hear him speak.
