Death via Design by Committee

I’ve always noted this in the past: those designs that are designed by a committee seem to be, more often than not, to be a conglomeration of ideas rather than something revolutionary. Smashing Magazine has an article about design by committee which seems very apt and on-target.

Examples of both design by committee and its contrast abound in the software industry, present and past. Revolutionary items written by one person include:

  • The Apple II. Designed by Steve Wozniak.
  • The Merlin Assembler. Written by Glen Bredon, and became the pre-eminent 6502 assembler.
  • BDS C. A one-man project by Leor Zolman which broke all the rules for compilers and bested them because of it.
  • Puppet. Written by Luke Kanies.
  • Linux. Written (then coordinated and directed) by one man: Linus Torvalds.
  • OpenBSD. Certainly not written by only one person – not even from the beginning – but OpenBSD has always been one man’s dream (and direction): Theo deRaadt.

Likewise, ideas that were designed by committe abound also. I love the quote from Michael Arrington of TechCrunch, from an article he wrote:

And when too many people have product input, you’ve got lots of features but no soul.

Consider these products by committee:

  • COBOL.
  • PL/I.
  • Ada.
  • CORBA.

Rod Johnson, the founder of the Spring Framework for Java, refered to this as the Complexity Industry. He spoke about the development of Java at QCon in December of 2009. Note that the Spring Framework is known for its simplicity.

If you are a Java developer, listen to Rod’s talk in its entirety; it’s wonderful. The talk about design by committee starts at about 27:00.

True revolution is done through the individual, not the committee.

For a more light-hearted look at design by committee, see this video about designing a stop sign…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: