Posts Tagged ‘reinventing the wheel’
The New Wheel: A Software Engineering Parable December 16, 2009 | 10:17 am

My co-author on this blog, Brian Hurt, is my software mentor. He taught me everything important that I’ve learned in software development. I’ve been a pretty dense student: I’ve consistently rebelled against his advice only to find him proven right in the long haul. Of course, I then proceed to rebel against the next piece of advice. Sooner or later, you’d think I’d learn.

Anyway, of all the parables and the jokes and the pithy aphorisms he’s told me, this is the one that I’ve found most key to software engineering, and it jumped to mind after reading Marc’s recent groovy-user post.


In the early days of humankind, a young man excitedly ran up to the leader of the tribe. “You won’t believe it! I have an awesome invention! See, I know that our parents invented the wheel, but the wheel has all kinds of problems. It’s too hard to produce. It rolls away on you when you want to stand still. It’s hard to understand and to describe to people—’it’s like a thin slice of smooth rock with a hole in the middle’ isn’t exactly easy to grok.”

The leader of the tribe looked askance at the young man. “Are you telling me that you have improved on the wheel?”

The young man nodded in excitement, “Yeah! You wouldn’t believe it! I just went back to square one. I started from scratch with the generation of experience and knowing all these problems we have with wheels, and I went off and developed a proof of concept, and it seems to be working out pretty well. I’ve been showing it to other people, and they love it, so I’ve got a prototype that I want to show you. This new wheel is really the wheel of the people—the elders won’t be the only people who can invent new things based around wheels anymore! Even better, all my friends agree that the new design solves the problems we have with wheels: we can produce them at speed, it doesn’t roll away when we want to stand still, and it’s easier to understand!”

The leader of the tribe did not seem impressed. “But what new design improves on the wheel?”

“Well, my new wheel is just like the old wheel—but this time, it’s square!”