Execution is Everything
We all have someone who tells us that (Insert some great product) was their idea and wish they had acted on it. Well I am one of them. When I heard of Groupon, I thought it was a great idea. But I also thought it could be made better. Imagine for a moment. Instead of Groupon sending you deals, how good it would be if you could choose the product and service that you need and then let Groupon help you with it. Now, instead of trying to get the idea to work, I feel into the "paralysis through analysis" cycle. I did nothing but think and think. Around last month, I came across this article about about a company called Loopt. It was my damn idea. I missed the bus.
Do I have regrets? Yes. Would I have done it differently now? Hell yes. It is not rocket science to see what went wrong. One word: EXECUTION. What follows below are some hard learned lessons that might help anyone with an idea.
1 Start creating
You have an idea. Great. But an idea is no use to anybody. Don't believe me? Try selling your idea. In the real world, Execution is the salt. So start thinking what you can do with that idea. Design how the screens are going to look. Start designing the interactions in your system. Do something that produces a output. Anything. As you try to develop your idea, you might get a clear picture as to what needs to be done. You will start refining your idea. You would think of items that you have not thought of before. Try to abstract the complexities in the idea and come with a prototype. Take any number of shortcuts/abstractions in this step. Create working software. You do not sit around and think about lighting, exposure etc. if you want to become a photographer. You go out and take pictures. That is how you learn. "Always be shipping" should be your mantra.
2 You always have enough time
This is the main reason that most ideas do not come into fruition. People think they do not have the time to pursue their ideas. The truth in life and as in here is that you always have enough time. You would be surprised if you do a time check on your productive hours in a day. When you cut out the flab in a day, you always have too much time to handle. And, you do not need to quit a job to work on an idea. Also you do not need to work 16-18 hours a day. And here is the surprise - you always make time if you are really interested.
3 You need fewer resources than you think
Really. Advancement have been made in all fields that it costs much lesser to start a business/service. This is true in software development especially. You can take your product much faster/cheaper to the market. You do not need expensive servers, expensive OS licenses, expensive development tools etc. Various open source options are present that you could use. Do you really need a marketing/PR department? Do you really need a customer support department? Think of new ways to market your product/service free of cost. Be your one man customer support department. Start with nothing and then grow as the demand surges. And, even if you are into manufacturing, there is huge number of factories around the world willing to help you. Do not let resources stop you from executing your idea.
4 Have a deadline
Always have some sort of a deadline. You are going to wander about if you do not have any deadline. The best thing about having a deadline is that it enables you to prioritize on the features. You can then decide which features you are going to support for your version one and which are the ones that can be pushed for further releases. Also when having a deadline, you start breaking up your tasks into smaller tasks. When you do this, you not only abstract away the inessential details, you also start getting a clearer picture as to what needs to be done. It also lets you come up with creative solutions to your problems and avoids bloated software. Deadlines always help you focus. Embrace it.
5 Do not wait for perfection
You are not going to release if you wait for the perfect product/service. Release a working model and work up from there. Every great product's journey started with small baby steps. Founders usually think they will get slaughtered by the market if the product is not perfect. It is never so. The first macs did not even have a hard disk. That did not stop them from being a huge success. It is better to put out your product and then grow form the feedback you get. Make changes. Refine your product. Release again. That should be your cycle. Great ideas always get copied. So if you are waiting for that perfect product, someone else is going to come out with your idea ahead of you. You lose potential customers to your competitors. Also, going first to the market has its many advantages. I am sure you would have 'Xeroxed' a document, for starters.
The ability to adapt is what differentiates a successful idea from an unsuccessful one. You need to change to the market. Try to create a platform where change is easier. Lots of companies adapt their way to the top. Flickr started off as a platform to store low quality gaming screen shots. After seeing that users were storing other photos, the founders changed their site to accommodate all kinds of pictures. They quickly grew to be the largest photo sharing site. And Nintendo started off as a playing card manufacturer. Companies failing to adapt gets lost in the market. Ice harvesters were put out of business by the mechanical ice factories who were in turn put out by refrigerators. No matter how mammoth your market share is, failing to adapt puts you out of business. Ask Nokia.
Start now. Do not wait.
If you have read this far, you should follow me on twitter.Also feel free to follow my projects on github.