Chapter 1
Anomalies & Enigmas
A conceptual divide
Now it would be easy to put this communication failure of mine down to language difficulties, but I discovered that these ideas and concepts were difficult to accept by almost all people from Industrial Age companies: even intelligent, educated people who had a good command of the English language.
I discovered this because at the same time I'd been hosting an Internet list serve forum I'd set up for the readers of my two previous books. The stated intention of this forum was to explore the possibilities of using object oriented design techniques for application on the Internet.
This had got off to a promising start until this subject of evolutionary design came up. It arose when discussion turned to the design of intelligent agents. A proposal was made that we began by designing a language that could be used by the intelligent agents to communicate with each other. I'd argued that this was not only unnecessary but might well inhibit the design.
"How would we start to design a system of intelligent agents if they are not able to communicate with each other", somebody wanted to know. I explained that a language would evolve by itself by means of an evolutionary process. It was a predictable emergence of a complex system.
I was asked what I had in mind for the planning of these intelligent agents and I said that I had no plan at all as I wanted to start with a green frog and see how it evolved when we tried to use it for useful functions. At first, they thought I was joking but when they understood that I was perfectly serious about starting off a complex and ambitious programming project with nothing more than a green frog some of them got quite cross.
At quite some lengths, I tried to explain that what we wanted to do was to create a design which would exceed our present ability to even imagine the final outcome. If such a design could go beyond our imagination, it stood to reason the we wouldn't be able to plan it from the outset. However, as with my proposal for the cafe, the idea of designing a software project without any pre-conceived plan was greeted with scepticism and total disbelief. Even worse, it was greeted with insult and derision.
Evolutionary design I tried to explain, is an empirical, trial and error process where different ideas are experimented with. Some prove successful and some fail. The ideas that work are retained and those that don't are abandoned. Then somebody thought they had cottoned on to the idea and described it as white boarding (people gathering around a large sketch pad to play around with ideas). Another said this was the principle of think tanks and used by most companies prior to any major design project.
When I told them that it was not the same thing and that white boarding and think tank exercises were not appropriate there was total confusion. An ambitious software design project, starting off with no planning, no previous discussion, no pooling of ideas, no initial prototype. It seemed to many that I'd taken leave of my senses.
Evolutionary design uses the same methods as nature I explained. Nature progresses blindly. It doesn't pre-plan yet it produces unparalleled complexity to create highly efficient solutions.
At that point I lost everyone