” Big-bang, long winded epic plans to create anything are always trumped by smaller, incremental, self-correcting, attempts. ”
That was my attempt to summarise one of the seminal papers in software making – Richard P. Gabriel’s ‘Worse is Better‘.
Gabriel coined the tongue in cheek catchy phrase to explain why the ‘worse’ C and Unix won. And why the ‘better’ Lisp lost.
I think it holds a fundamental truth and can be applied to all facets of human endeavour. Gabriel himself has written about the application of the concept to architecture. But it is also true for creating a successful blog, a brand, a portfolio….practically anything worth doing.
Once you really grok it, it changes your approach to whatever you do.
Worse is better is about making stuff which is good enough, getting feedback, improving it and then repeating the cycle. It is against ‘planning’ for a long time, working on stuff with that big plan in isolation and then after ‘doing’ being done with it.
The title ‘Worse is better’ is the sort of quixotic title that can make an effective ideavirus and it obviously had a huge role in making the essay meme-worthy and viral.
But it also has lead to a lot of people, most whom haven’t understood or even read the essay,to use the phrase as an excuse for their inferior stuff.
The crux of the argument is that worse and better are not absolute. That being better depends on the environment and on the metrics you are judging something on. And that when you are calling something as ‘better’, you are judging it based on your own (possibly wrong) set of metrics.
And that starting-smaller, self-correcting attempts are actually superior to the big-bang, big plan attempts.
There are a lot of advantages to following this organic growth approach to anything. First of all, there is much less dread in starting something when expectations from it include full rework sometime in the future. Second there is the morale booster of seeing stuff which works, and it improving over time.
And it allows changes in strategy and approach in response to the changes in the environment and context. The biggest death knell is to be wedded to a grand (and most probably wrong) strategic plan. The Worse is Better approach helps you avoid it.
In a way that may also be why a lot of people show an instinctive dislike for the concept – it asks us to acknowledge that we don’t know much about the changes in the environment and the context that may happen. That making a perfect thing based on today’s environment and context is almost sure to fail. But if history is any judge, nothing is more true than that.
The two original examples Gabriel used in his paper were Microsoft and Apple. More specifically, the success of Windows-Intel and the failure of Macintosh. Now with Apple Inc. getting more mind share than any other technology company (any company for that matter) and increasing its market share and market value, it may seem that worse is better belongs to an older landscape. In fact, one of my techie friends was wondering out loud regarding this a few weeks back.
Apple makes big-bang attempts which takes long planning , executes them in utmost secret, and produces stuff which are heavily engineered and designed for perfection, the story goes.
But on closer examination, it is clear that Apple and its present success is just another example of the worse is better approach. They just happen to do it in a different way.
Apple has moved the feedback on worse making from the user side to inside the company. Apple’s development methodology has almost a complete reliance on prototyping. The difference from the normal ‘worse’ is that, instead of releasing to the outside world, it is released internally but the iterations and the reworking remains the same. It helps a lot when the final-sign off has to come from a CEO who is an informed end user who is more tuned in to what an end user actually needs than any focus group or committee , someone who has thought through what he actually needs and is aware of the possibilities and limitations of technology.
And one of the reasons for some of the recent spectacular failures of Microsoft has also been because they turned away from their roots and followed the planned perfect thing approach. The best example was perhaps the WinFS file system which they scrapped after close to a decade of trying to build. The grand plan fixed for WinFS was to substitute a relational database for the main file system (so that the searching in windows which sucks gets fixed). Turned out to be a technically impossible bad idea which was anyway irrelevant – and a signature failure for Microsoft.
Worse, for the lack of a better word, is really, better.
So, start something small.