When you want to create something meaningful that makes a difference to the world, what do you work on? And how do you go about it?
Is it better to start small, bring out a product fast, with few features, crappy design and even bugs, or is it better to take your time, polish it, make it beautiful, scalable and robust?
My thesis is: quick and dirty winds hands-down, for several reasons. Why?
Quick and dirty surely is the better approach in the early phases of a new large wave, when nobody yet has a good answer to the problems and everyone just scrambles to get any kind of solution.
Venture capitalists call this a "hair on fire" problem: someone who's hair is on fire will not care if the fire extinguisher you have is ugly, wasteful, leaky and has no certification label. He also will not haggle much about the price. The only thing that counts for him is: it extinguishes fire.
In this situation, you win if you can deliver something crappy right now, and lose if you could deliver something great some time in the future. Find out what is needed and go get it.
Once the original fire is gone, you will want to buy the certified, safe, effective extinguisher. So the situation is different in mature markets. There what counts is the best, most user-friendly solution. In software production costs per user are essentially zero once the thing is written, so it also makes sense to hire expensive, genius-level hackers and designers, or lots of hackers and designers, if only they can come up with the best tool that will sell millions of copies. Because when you selling a crappy thing to ten users, all you can afford is an undergraduate with bad breath.
Look at the iPod. There were MP3 players before it, but they were not friendly to use. The design of the iPod was so far above the rest, that it created a huge market by itself. So excellence, a truly great product can succeed where mediocre ones fail.
Building perfection is also the only way to create something timeless that will be valued in it's own right. Crappy work dies with the change of the tide. On the other hand, progress marches on, and unless you look at something from the aesthetic standpoint, as a work of art, any technological achievement will be temporary and superseded. Just look at the Apple II. Or at VisiCalc.
Sometimes being first creates an advantage, momentum that can be kept going, especially if there are network effects, where usefulness for each user increases with the number of other users (think ebay). But if these effects are missing it often only paves the way for others, who can look at the first solution, take time to understand the problem better, and create a clean, elegant product which is easier to use and maintain and then takes over. Look at AltaVista and Google. Or again, at VisiCalk, which was replaced by Lotus 1-2-3, which fell to Excel.
How do you create something wonderful?
There are cases where brilliant people just get it right at the start. Often from observing their own problems and building a solution to them. But usually, you will get it more right by listening to user's requests. Not always by doing what they ask for, but by understanding the underlying problem they have, which is the reason why they ask for what they ask for, and solving it. See VisiCalc.
One advantage of the quick-and-dirty approach is that it enables you to get feedback from users right away. So you can listen, understand better what they need, iterate quickly in small steps from something that already works, and develop what they need. All the while you are growing a user community, and if they see things improve, they may stick around and ride the glitches out. In that sense, quick-and dirty is the best way to be fast, and to be good. I would bet on it rather than on a masterminded project that will come out fully fledged five years down the road.
In my opinion, great things are the outcome of so many little steps. People just do not come out with the great solution, even if it looks like that from afar. But every time you look closer, they have been tirelessly working on it long before you heard about it.
The downside of quick-and-dirty is the risk of disappointing users that will never come back, so you can't get it all wrong in the beginning. or you'll have no users to get feedback from.
Something can great by leaving out distracting features. Few things are harder to do well than simplicity. "A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away." —- Antoine De Saint-ExupĂ©ry. There's also an anecdote about Pascal who wrote in a letter "I apologize that this letter is so long. I did not have the time to make it short.". On the iPod you could not change the battery.
This is interesting, because it overlaps with the quick and dirty approach in which by necessity you are forced to some extent keep things small. In fact, many entrepreneurs quote the lack of initial funds as a blessing, because it forced them to focus on the important stuff. The difference is that a lot of thought and obsessive attention to detail goes into the few things that are present.
Is it possible to start quick and dirty and then refine to beauty? I think it is simpler to restart from scratch, when the problem and the alternatives are fully understood. No matter of tinkering will turn your Lada into a Ferrari. Brooks stated "Build one to throw away, you will, anyways" -- although his point was that the second one would be even worse.
What this altogether tells me is that you should be either working in a new field, where you matter by discovering it, or in an existing one where you matter by creating something so much better. There's no point in redoing in a slight variation what had been done before.
This was made more clear to me by being at a scientific conference where I saw hundreds of posters, but most scarily free of new ideas, a defining high-performance implementation of old ideas, or diligent scientific study and inquiry of fundamentals. It was somehow pseudo-scientific, so many people playing around with slight variations of the same old data sets, machine learning tools or crappy implementations of web sites on the same stuff that was done before. A question so obscure and narrow that its solution tells you nothing worthwhile also is a popular way to avoid doing something that matters. To find an original, disciplined thinker is the exception.
This leads to the last area: people. It's been said that you should rather put your money on a great team than a great idea, because the team will be able to fix a bad idea, whereas a mediocre team can screw up implementation of a good idea. Yet there are plenty of cases where droves of very smart people fail, because they fall in love in solving complex puzzles with little bearing on the world, because they have invested their ego in an old idea, because they get caught up in a problem so messy that there really is no good solution, or because they work in a field that is old and mature where it is very hard to do better than what already has been done.
There can be no great surfer without a great wave. It is really observing a pressing problem and finding an ingenious solution. Seeing a trend or change, a market being born, and going for it.
So for you, if you are weak, it does not matter what you work on, you probably will fail, even if you have the right idea. Be content with your life and do not worry. The world would be a terrible place if all the billions of people would be reinventing it all the time. If you are average in skills, like me, and have the good luck to find an idea that matters, you may be able to do something good. So go and look for it. If you are great, but work on the wrong stuff, you may yet create something good and solid that will prevail in it's field, but it will not make a large difference, and you are wasting your gifts. Go work on the right stuff, and magic happens.
No comments:
Post a Comment