Emergent Design means that Design of Artifacts is itself an Emergent Phenomenon. This implies that it emerges in the creative design process, rather than being a blueprint that exists eternally in the ether like the Platonic source Forms and also that the artifact that is designed has emergent properties that are more than the sum of its parts. Supervenient Design would be the opposite and it would imply that the designed artifact's properties were the sum of its parts, and that the design itself was cobbled together only by permutations of factors that already existed in some other form, say in nature. Thus emergent design has a two fold meaning. It means that the design process is creative and cannot be done by rote, and thus it is a non-routine type of work, but also it implies that the result of this creative non-routine work itself has emergent properties that cannot be reduced to the parts that it is composed of by supervenience.
Emergent Design as an idea can be applied to many different disciplines, but the term is most well known as applied to Education and Software Engineering.
Contents |
'Emergent Design' is a phrase coined by David Cavallo to describe a theoretical framework for the implementation of systemic change in education and learning environments. This examines how choice of design methodology contributes to the success or failure of education reforms through studies in Thailand. It is related to the theories of Situated learning and of Constructionist learning. The term constructionism was coined by Seymour Papert who Cavallo studied under. Emergent Design holds that education systems cannot adapt effectively to technology change unless the education is rooted in the existing skills and needs of the local culture.
The most notable non-theoretical application of the principles of emergent design is in the OLPC, whose concept work, also written by Cavallo can be found supported in Models of growth - towards fundamental change in learning environment.
Emergent Design is a consistent topic in Agile Software Development, as a result of the methodology's focus on delivering small pieces of working code with business value. With Emergent Design, a development organization starts delivering functionality and lets the design emerge. Development will take piece of functionality A and implement it using best practices and proper test coverage, then then move on to delivering functionality B. Once B is built, or while it is being built, the organization will look at what A and B have in common and refactor out the commonality, allowing the design to emerge. This process continues as the organization continually delivers functionality. At the end of an agile or scrum release cycle, we are left with the smallest set of the design needed, as opposed to the design that could have been anticipated in advance. The end result is a smaller code base, which naturally has less room for defects and a lower cost of maintenance[1].
As Emergent Design is heavily dependent upon Refactoring, practicing Emergent Design without a comfortable set of unit tests is considered an irresponsible practice.
Emergent Design refers to not just software but all forms of design of any kind of systems, including Architecture of Buildings, or large Systems of Systems produced by the networking of many systems together. Systems (and Systems of Systems) are by implication emergent as they have properties that cannot be reduced to their parts. Also in the process of Systems Design there is a creative and artful side to the Design Process by which the Design appears in the process of design. This broader sense of Systems Architectural Emergent Design is explored by Kent Palmer in his Dissertation titled Emergent Design.