WWW and the Demise of the Clockwork Universe
Designing Complex Adaptive Information Systems
Although it is easy to look back and understand the success of the Internet over the years, it is somewhat more difficult to look ahead and plan systems with the same propensity to spawn emergent properties. First and foremost, however, is the need to consider the nonlinear aspects of the system. A cookbook for this might read:
- Minimize requirements. Your users do not know what they want until they see it. They can't tell you in advance what they want. Provide the minimum set of requirements to define the "primordial soup" from which the system will evolve.
- The system is its own definition. The requirements which can be reduced to linear paper format are not the system. A nonlinear system is only self-definable. This may appear to be a circular definition. It is.
- Define a fitness function. When things change, what defines whether the change is for the better or the worse? This function will drive the evolution of the system. Choose it carefully.
- Define the environment. Draw a circle. Inside this circle, name all the possible users of the system, other systems which may interact with this system. This circle is the environment of the system.
- Think Scale (alternatively, Ignore Scale). What are the characteristics of your system which are independent of scale? Apply these intrinsics to your system as it grows.
- Think Adaptation. Is maintaining a system really different than porting it to a different site? Why invoke different technologies, or even design them to be different?
- Think of Emergent Properties. Although you may not know what may come from the system, at least you can be ready to acknowledge them when they appear.
- Create Simple Initial Conditions. "Simplicate and add lightness" to the initial conditions of your system to all the evolutionary process to start. The important thing is to start the evolutionary process.
- Establish the Evolutionary Process. Even if payoff is intermittant or sparse, it is important to feedback the results of the fitness function to the system's evolution.
- Consider Adaptation to be a Pervasive Process. Assume that nothing is forever, that all elements of your system must adapt, including the adaptation process.