Fischer, Gerhard. “Seeding, evolutionary growth and reseeding: Constructing, capturing and evolving knowledge in domain-oriented design environments.” Automated Software Engineering 5, no. 4 (1998): 447-464.
URL1 URL2
We live in a world characterized by evolution—that is, by ongoing processes of development, formation, and growth in both natural and human-created systems. Biology tells us that complex, natural systems are not created all at once but must instead evolve over time. We are becoming increasingly aware that evolutionary processes are ubiquitous and critical for technological innovations as well. This is particularly true for complex software systems because these systems do not necessarily exist in a technological context alone but instead are embedded within dynamic human organizations.
The Center for LifeLong Learning and Design (L3D) at the University of Colorado has been involved in research on software design and other design domains for more than a decade. We understand software design as an evolutionary process in which system requirements and functionality are determined through an iterative process of collaboration among multiple stakeholders, rather than being completely specified before system development occurs. Our research focuses on the following claims about software systems embedded within dynamic human organizations: (1) they must evolve because they cannot be completely designed prior to use, (2) they must evolve to some extent at the hands of the users, and (3) they must be designed for evolution.
Our theoretical work builds upon our existing knowledge of design processes and focuses on a software process model and architecture specifically for systems that must evolve. Our theories are instantiated and assessed through the development and evolution of domain-oriented design environments (DODEs)—software systems that support design activities within particular domains and that are built specifically to evolve.