Sunday, July 11, 2010

on lunch and bike sheds

Today, Seth Godin hits on a pet peeve of mine, arguing about unimportant things.  Although he casts the problem as a discussion from the perspective of deciding on lunch, I like the programmers version better.

We all know the type, whether sitting in a code review or discussing a database schema, there is always one person willing to spend hours discussing minutia.  Either it is the indentation style of a particular comment instead of the correctness of the algorithm.  Or it is the virtues of camel case names for database objects as opposed to the performance trade off of complete normalization.


In the programming community, we know this as the bike shed problem.  It has been written about elsewhere, see http://blog.bryanbibat.com/2009/07/15/color-of-the-bikeshed/ and http://softwaremaven.innerbrane.com/2010/03/why-you-care-about-color-of-bike-shed.html, and you will ultimately find the original source on the matter: Parkinson's Law of Triviality (no, not Wikipedia, Parkinson).  I believe the bike shed analogy can be attributed to Feynmann.

So, if you are here and not familiar with this issue -- please read up and lets all try to avoid this type of thing in the future.

As a post script, I'm not advocating a view in which small details get overlooked, coding style and naming things are very important -- and I really like blue bikesheds.  But at some point, you simply decide on a coding style (or naming standards, or whatever) and stop debating - after that point you simply use it.  Then you move on to discussing the more important aspects of the problem at hand.

No comments: