Fast Iteration: lessons from genetic programming
Okay, I am not going to get too geeky here, but there are important lessons that I have learned from hanging around with some serious geeks. One lesson was about the power of value networks (learned from the open source community). The other is the power of fast iteration. This one I learned from practitioners of genetic programming.
The origins of genetic programming dates back to 50’s but it really only began to come into its own after the turn of the century (doesn’t that sound quaint?) with cheap access to serious computing horsepower. The idea was that you could develop programs that could evolve themselves to solve complex problems.
Okay guys, let’s get one thing out of the way. Yes, there is evolution. Not all programs are created in unblemished perfection.
Key concept here: “evolve themselves”.
Basically, what you can do is to take a set of generic programs and point them at a complex question that needs to be solved. Turn them on, and walk way. Lo and behold, the problem is eventually solved.
In essence, in the darkened room of discovery, the programs begin to try to address the problem. They try, and fail, and learn from that failure, then morph, and try again. Over and over again until the answer is found. This process often takes hours, but it has been successfully demonstrated multiple times.
But if you think about it, this process is the same for any innovation. It needs to be focused. It needs to iterate a potential new solution multiple times, and it needs to learn. At its core, the innovation process needs be obsessive, agile and unrelenting. In time, it will work. Always. Though probably not in the way you expected.