Sunday, December 16, 2007

The Cathedral and the Bazaar

I read a pretty interesting article the other day entitled The Cathedral and the Bazaar. (I’m a sucker for creative titles, especially when they're intrinsic to the article, like this one.) Written in 2000 by legendary hacker, computer programmer and open source evangelist Eric Steven Raymond, The Cathedral and the Bazaar is a rather famous treatise on Raymond’s epiphanies about collaborative software development, ala Linus Torvaald’s Linux.

I am by no means literate in software theory. But in the article, Raymond enumerates a new set of development principles that, it seems to me, transcend the world of software. (I take no credit for this insight, as Keith McFarland made a similar point in an article he wrote using The Cathedral and the Bazaar to compare software development to strategic planning.) I won’t waste the kilobytes or your time by providing much detail or commentary, but consider the expansive truths behind some of Raymond's principles:

1. “Every good work of software starts by scratching a developer’s personal itch.” Yep, and every great work of art and every good business and …

2. “Good programmers know what to write. Great ones know what to rewrite.” Like any genealogy, the roots of greatness always go deeper.

3. “If you have the right attitude, interesting problems will find you.” Seneca said: “Luck is when preparation meets opportunity.”

4. “Release early. Release often. And listen to your customers.” This is the bazaar approach vs. the traditional construction of cathedrals.

5. “Given enough eyeballs, all bugs are shallow.” He calls this “Linus’s Law,” and it is actually a paraphrase of a more formal principle. This is the idea behind James Surowiecki’s interesting book, The Wisdom of Crowds.

6. “If you treat your beta-testers as if they’re your most valuable resource, they will respond by becoming your most valuable resource.” Pretty good leadership principle, methinks.

7. “The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.” More on leadership.

8. “Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.” This sounds almost Einsteinian in its simple and humble profundity.

9. “Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.” I’m guessing chimpanzees discovered this long ago.

10. “To solve an interesting problem, start by finding a problem that is interesting to you.” We’ll all capable of doing remarkable things, but only when we’re really energized by our work.

No comments:

Post a Comment