Friday, April 24, 2009

KBall's Second Law of Simplicity

Have you ever spent hours agonizing over which airplane ticket to buy, only to find when you finally decide that your first choice costs $100 more than when you started? How about spending days planning out exactly how you were going to explain yourself over the phone only to rediscover that sales reps don't need much explanation to sell you their product?

The first one is my wife; the second one is me. We each have our neuroses and places where we over-optimize, and thinking about them has led me to propose KBall's Second Law of Simplicity:

Good enough now is almost always better than perfect eventually.

Sometimes known as satisficing, this law indicates that in most circumstances, you're better off taking the first result that is good enough, instead of exhaustively trying to find the best answer. Instead of trying to perfectly optimize your layover while minimizing your cost, figure out the bounds of your comfort, and buy the first tickets that satisfy those restraints.

The inclusion of 'almost always' in the law probably clued you in that there are caveats.

  1. Some things it really matters to get right.
  2. When we were planning our wedding, we spent forever working on our wedding vows and trying to find the right readings. Those decisions were core to what we wanted out of our wedding, and coming back to them day after day was worth it. On the other hand, for decisions like which event rental company to use, where to hold the pre-wedding party, and what the text of the invitations would be, all that mattered was that the result was 'good enough'.
  3. Watch out for interactions with the first law.
  4. If you're buying stuff for your home, following the second law can lead to a build up of extra junk, because its simpler to buy another bookcase than to figure out which books you really need. The second law is most useful for things that are transitory, like airplane tickets, rather than things that are going to be more durable and lasting. In building a product, the same holds true. Some parts will be core to your product vision for years to come, while others cease to be important by the next meeting. Often, it's hard to tell in advance which is which. My rule of thumb is that unless you know something is going to be mission critical, build it first as simply as possible (satisficing), if comes up again try to make it a bit better, and on the third time take the time to rework it into a fully optimized and general solution.
Like the first law of simplicity, this is not something to follow unthinkingly, but rather a good thing to keep in mind against our natural tendency to over optimize.

Liked this post? Looking for more like this? You might like:
  • Or subscribe by RSS using the links on the right.
  • No comments:

    Post a Comment