Jonathan Altman

Dotcom Thousandaire

February 08, 2006

Found this wonderful article today with the following excerpt:

In the world of economics, it is the U.S. that believes in natural selection, and it is Europe, specifically the EU and its leading countries, which clings to an outmoded ideology of intelligent design.

I bet this economic argument at the macro level also works at much smaller business cycles as well, including computer software development. Here is another quote from the link above

The problem with intelligent design is that it is rarely intelligent enough to out-perform self-organizing systems shaped by natural selection.

Agile Programming is natural selection: short cycles that produce output that can be tested for validity and if it doesn't survive then it wasn't fit. On the other hand, you have not invested much into it and it can go away or be replaced by a more suitable design based on the results of the previous design mistakes. Each iteration has fewer equations and fewer unknowns, to use an algebra analogy. Biologically, Agile is a colony of beetles. Lots of offspring appearing quickly.

By contrast, long product cycles with a heavy emphasis on planning, product management, large design documentation and so forth are intelligent design. The effort and time that implies means that you are trying to make intelligent feedback over a long time with no input from your environment. When the result is finally born it turns out that it probably does not meet your needs on many fronts, and if it does not the problem is that you have invested too much time and energy into bringing it to fruition that nobody has the will to let it die. More equations, more unknowns. Long cycle, "high ceremony" processes are dinosaurs. Long gestation period, few offspring.

Which one survived until the present day, and which one ended up so out of touch with its environment and/or so unable to adapt that it perished?