Differentiation
Needless to say, the highly complex million-fold adaptation of elements cannot occur in random order, or by mere trial and error, not can it occur successfully through addition, one element at a time. Merely additive processes (like the assembly of an erector set from fixed components that are arranged and rearranged) never lead to complex adaptation, or to profound complex structure.
The key to complex adaptation in a generated structure lies in the concept of differentiation. This is a process of dividing and differentiating a whole to get the parts, rather than adding parts together to get a whole.
Differentiation is the key. One way of achieving differentiation is through abstract types that get more and more specialized over time. There might be many other (perhaps even simpler?) ways to bring differentiation to the software development process.
In a structure which is differentiated, the structure will not, in general, be made by small piecemeal acts happening in random order. Rather, each step creates the context for the next step in the whole, and allows the process as a whole to lay down, next, what has to be laid down next in order for an orderly unfolding to occur, and to allow a simple and coherent form to arise in which, nevertheless, all the important small details are done just right.
The fundamental process, when present in specific social processes, is capable of generating living structure in buildings and communities. It is, in principle, the key to the effective creation of generated structure in all built form. We shall see how the repeated application of the fundamental process allows large elements to be differentiated to generate smaller elements in such a way that careful, mistake-free adaptation of all elements, at all levels of scale, in the built world can, in principle, be virtually guaranteed.
#book/The Nature of Order/2 The process of creating life/6 Generated structure#