Having been involved in SW Product Development process over the last few years , on several ocassions i could not help noticing the uncanny similarities between Software Product Design and Evolution. And this similarity probably holds true even for general product design in any domain, not just software.
The first version of any piece of Software ( and Electronics Hardware ) always sucks. There is never an instance of the first version of any great products we know today, being user friendly or good ( in the sense that the product had most of the features that the user wished or wanted ) when they first hit the market. True, there have been extraordinary products like the first version of the iPod or even the Mac , but they were invariably bettered by the subsequent versions.
The first versions of many life forms were probably not the mos successful in the environment. For instance the earliest ancestors of todays mammals had many odd body parts and features which eventually disappeared over millions of years. There were lizard like creatures with wings. There were several creatures which were mammals but suckled their young all of which disappeared ( except duck billed platypus )
In most cases, the product improves over several versions, and the refinement and the feature set both evolve incrementally in each version. The incremental improvement in design and useability come from user feedback from the previous version. And when the new version hits the market, the consumer responds by buying the product with the best design, features and useability that is affordable to him.
In the animal kingdom, the same feedback loop comes into play. The tail bone in humans ( also known as coccyx ) is an example, is a remnant of vestigial tail , being an evolutionary throw back to primate origins of humans. The tail since then has become mostly redundant, being eliminated in the feedback process of human evolution in the last million years or so, as primates migrated from trees to plains, eliminating the need for tails.
The market punishes the sloppily designed product and rewards the best product with more market share. And then this feedback cycle continues, as competing products improve their design in incremental steps based on the feedback from the previous version. Of course, when i say good product design here, i am referring to the sum total of the user experience of a given product, so that obviously includes the market price of a product.
A great but very expensive product will probably not be popular, as it is very unaffordable to majority of consumers. The contrary holds true as well, a very cheap but badly designed product will not find takers as well, as the nominal cost is offset by the products lack of useability.
A bad animal design or a very energy inefficient body part will disppear gradually ( or sometimes sudden as in the case of dinosaurs) in any species. A very useful body part , that gives competitive advantage to an animal ( or plant ) and enables it to reproduce will survive. The tail is an example, being useful to a variety of animals, from big cats to primates.
When this cycle of incremental improvement, based on user feedback, when applied to the spectrum of products across several domains, leads to a gradual emergence of a class of few highly efficient and engineered products in each domain, that dominate in the market niches they operate. There is no dearth of such products, examples iPod, iMac, Oracle, zthe Windows OS and Linux OS, Firefox browser etc.
This is very similar to the emergence of several species and sub-species that dominate several ecological niches in which they live. We have cockroaches, foxes, cats, dogs, tigers, lions and crows that thrive in the niches that they occupy.
This resemblance in a way is not surprising as product design is sort of like an extension to human brain and in way, humans are evolving by proxy by their tools and good product development is all about better tools atleast tools that are better than their previous versions. Perhaps at a broader level , product managers can learn from evolution , from the numerous success stories of complex organisms and body parts like the eye to the several evolutionary dead end stories , like the death of the Dinosaur.
In fact, if the intelligent theory of evolution is to be believed, then the creator or God is perhaps the most capable and able handed Product Manager the world has ever seen and there should be no harm in learning from the creator.
( Of course with the explosion of human population in the last few hundred years, many animals are being eclipsed by humans and we are slowly enroaching on their space. That is a disaster in progress, unless some drastic action is taken. And that is a topic for another blog post! )
Filed under: Futurology, Science, Software, Technology Tagged: | Darwin, Darwinian evolution, product design, useability
Hi read sw architecture evolvement and u will find the similarity of development of component packages of today with the earlier shells and their simple base components which is similar to development of anyother technology from wheel to drives, mud to latest concretes etc