miércoles, 18 de noviembre de 2009

Do one thing better!!!

There are many things startups have in common, but I would like to guess that limited resources is practically a defining characteristic. When you’re building a startup, you’re short on cash, short on people, and short on time. The only resources you’ll have a surplus of are dedication and drive.

So how can you compete? You’re up against the world, and other products exist in the market. Most competitors will have more people, more money or more time in the market than you. Maybe they’ll even have all three!

So what advantage can you exploit? Well, how often have you heard that a particular software is “bloated”? The 80-20 rule loosely states that “80% of the customers only use 20% of the features of any product”. You don’t need a huge feature set to attract customers, in fact, most customers prefer something simple that takes care of most of their needs instead of something complicated that covers many needs they do not have. I think it boils down to two things. Keep your product simple and to choose one thing and do it better than anybody else.

If your product is simple, it easier to maintain, easier to develop and modify, and easier for others to understand and use. If you do the one thing that people need well, then they are more likely to be exited by your product, and more likely to use it.

Examples? Sourceforge(sourceforge.net) is the defacto standard for hosting your open source projects. It’s huge, sprawling, and includes version control repositories, wikis, message boards, forums and a long list of etceteras. Github(github.com) was launched early last year and has now gathered an impressive following. It lacks many of of sourceforge’s features, but it focuses on hosting code really well, and is really simple to use.

The Flip Ultra (theflip.com) is a handheld camcorder introduced into the US market in 2007. Flip camcorders shot standard definition video (Sony and other competitors at that time were already offering High Def and 1080p), had no zoom, white balance, or any of the other myriad features standard on camcorders at that time. However, it is very simple to use (just point and shoot) and it’s cheap. The Flip Ultra is now the single largest selling camcorder in the US with over 13% of the market, and Pure Digital, the company that makes them, was sold to Cisco in May for almost $ 600 million.

Pure Digital’s founders understood that 80% of the users just want to shoot video. They want something easy to use that just works. The Flip Ultra did one thing well, and did it in a way that was easy to use. I think there is a lesson to be learned there.

miércoles, 4 de noviembre de 2009


I have to admit I was skeptical about pair programing when I first heard about it. Two people, and only one writing code? It seems like a terrible idea to me, cut your productivity in half before you've even started!

Of course, part of the problem is the "lone cowboy coder" syndrome. I mean, we all want to be like Willam Gibson's (link - http://en.wikipedia.org/wiki/William_gibson) characters, the lone hacker against impossible odds. I used to think I coded best when left alone. Anybody else would just slow me down.

Boy, was I wrong. I read a great article about pair programing by Jim Resnik in the New York Times(link http://www.nytimes.com/2009/09/20/jobs/20pre.html?_r=1) and decided to give it a try.

It's by no means easy. You need to trust and have a good relationship with the person you pair program with, but in a startup, well, you're already married to your partners! Any friction will have to be worked out before the shit hits the proverbial fan, or else you need to start looking for some new partners...

If, however, you manage to get past the obstacles (and there are at least 10 reasons why most attempts at pair programming fail (link - http://blog.obiefernandez.com/content/2009/09/10-reasons-pair-programming-is-not-for-the-masses.html)) then you will realize that it's just a better way to do things. You code faster, you maintain concentration much easier, you code is much better quality, bugs are easier to find and quash.

In fact, we've gotten so used to pair programming that when we can't be together we try to use VNC or other means to keep in touch. If that's impossible then I can assure you that you feel the loss.

So, if you're in a position to give it a try, do so, and leave comments on your experiences!