The founder of friendfeed, and project orginator of Gmail Paul Buchheit, shares his design view: If your product is Great, it doesn't need to be Good. I'm delighted with the way Paul identifies the signal from noise product features and suggests we try a similar approach when building consumer products.
Pick three key attributes or features, get those things very, very right, and then forget about everything else.
What is left for the reader to discover, is how best to determine those features. Deciding on the important aspects of product creation begins with identifying the problem you're trying to solve. Then try out a solution, gather feedback from the group you are working to satisfy (measurements) and iterate. I wish it was that easy, I left out The Wall. If you hit a design wall, dig under, climb over, or bulldozer it. Bypassing the barrier is what defines your leadership and your team's grit.
It doesn't take a thought leap to abstract this design pattern to a wider problem space than product design: call it Pick 3. Let's have some fun and explore how this methodology might affect a broader range of decisions:
- craft breakfast using only three types of food. This works but the benefits of restricting our culinary mastery to three selections doesn't jump out at me
- throw on three pieces of clothes, with only three colors. Shirt, pants, undergarments, socks... ok this doesn't work, certainly not in the winter. Three colors feels ok, but for a hobo dresser like me, only one feature matters: comfort. Score one for compression
- focus your social activity to three people (on any day). I guess this could work, those three people would really get your attention that day (creepy stalker). Everyone else would wonder why you are ignoring them. Maybe it's better to shift this limit to three people per hour?
- Limit any web project to only three languages. I can live with this. Two languages and a framework makes three
- choose only three libraries to use for a project. Nope, this is too restrictive, but it makes you think about what are your most vital libraries/gems. I would likely reinvent much of what's already available to avoid pulling in a lib
- limit your database to use only three top level objects. Ok I think this needs to jive with three features. Maybe we can create a tree structure of design so that each main feature may have only three supporting database objects
- Max allowed thread concurrency is three. Uh oh, how do we scale this setup?
- Choose three major things to do in a day and do them remarkably well. Let me plot out my typical day: Exercise, blog, read about startups and coding, day job, spend time with Michelle, work on project/startup... Maybe there's something to this pick three philosophy. How about Michelle/fam/friends, Project/Startup, + Blog/Exercise/Read? That would be amazing. I imagine my ideal lifestyle would follow a pattern like that: Social, focused work that matters, open free time to Exercise/Create/Learn
</ul>
While Pick 3 doesn't fit every problem it was a different way to frame choice and helped clear up some long term goals for me.