About Local Peaks
September 01, 2008
By Jeff Freund
This is a blog about technology, but with a title borrowed from an evolutionary biology concept. I am a believer that building technology is best done by recognizing, embracing and optimizing the evolutionary forces and processes at work. We can learn a great deal about how to build world class products and technology over time by thinking about why zebras got their stripes.
Evolution is driven by a process described as Natural Selection, whereby a set of environmental pressures force species to favor specific mutations and adaptations over time - camels developed humps to store water in arid regions, cacti developed spines to keep would be snackers away, and zebras got their stripes to confuse incoming predators. These selective pressures which not only relate to survival of the individual organism ultimately will define the entire species' ability to perpetuate in the face of these environmental pressures.
One way to think about natural selection is that it drives the species up an evolutionary hill. There will be periods of rapid change and periods of slow change, there will be big leaps and there will be small steps, but as long as the environmental pressures keep pushing "uphill", the species will continue to climb towards the peak.
Species that reach the peak (or are getting close to it) may seem to appear to be reaching the pinnacle of evolution. However, it is possible that the peak they are approaching is just a local peak. Perhaps it is just one of the smaller peaks in a mountain chain, perhaps it is a false summit, with the hardest climbing yet to come, or perhaps over the course of the ascent, the environmental conditions have actually changed and the peak itself has take a new shape.
The local peak is superseded by these higher peaks that represent greater ability to survive and greater proliferation of the species. But alas, a species maybe stuck on the local peak (at least for a while) without the ability to jump peaks.
With software too, this idea of local peaks must be recognized. Are we too focused on climbing the hill in front of us to recognize the bigger opportunity in the distance? Is there false hope that the summit we feel we are approaching is the true peak? And perhaps the biggest question of all: when we see we are on a local peak, can we jump our path to the higher summit?
In writing this blog, my goal is to capture some of the thoughts, ideas and lessons learned that I've had in the course of my tenure as a "web-native" CTO. I am passionate about such things as Software as a Service, Agile development methodologies, and open-source technologies. I will share successes and failures and in the end hope that some of the things shared here will help evolve your technical endeavors.