Evolutionary development

  title={Evolutionary development},
  author={Tom Gilb},
  journal={ACM SIGSOFT Softw. Eng. Notes},
  • T. Gilb
  • Published 1 April 1981
  • Geology
  • ACM SIGSOFT Softw. Eng. Notes
For at least thirteen years, I have practiced a form of software syste m development that I would now call "evolutionary", but for which I ha d no name to begin with . In recent years, I have started to write abou t the method, to develop its methodology, and to try to expand m y understanding of its attributes [1,21 . In my international courses an d consultancy, I have been more and more amazed to note the followin g facts . 

Approach to a theory of software evolution

  • M. Lehman
  • Business
    Eighth International Workshop on Principles of Software Evolution (IWPSE'05)
  • 2005
The author summarises his most recent results outlining a proof that every E-type program reflects an unbounded number of assumptions about the application implemented, supported or modelled by the program, and that some of these become invalid over time as a consequence of changes in the dynamic real world.

Experience with evolutionary prototyping in a large software project

This paper first takes a broad look at the approaches to prototyping and then describes a large software project which employed an evolutionary prototyping approach, concluding that, in contrary to some previous suggestions, evolutionary prototypeing in not limited to small scale software and can cope with large projects as well.

Rules and Tools for Software Evolution Planning and Management

This paper develops and presents some fifty rules for application in software system process planning and management and indicates tools available or that could usefully be developed to support their application.

Towards a theory of software evolution - and its practical impact

  • M. LehmanJ. Ramil
  • Computer Science
    Proceedings International Symposium on Principles of Software Evolution
  • 2000
The need for such a theory, underlying concepts and the contribution that a theory could make to achieving greater software evolvability and improved planning and management for effective and responsive evolution are discussed.

SERIOUS: Software Evolution, Refactoring, Improvement of Operational  and Usable Systems

The application of evolutionary software development resulted in changes in the state-of-practice, yielding reduced total development costs and increased product lifetimes for the participating business units.


1. MOTIVATION Should the Waterfall model be dropped in favour of more modern approaches such as incremental development and eXtreme Programming? Many developers appear to show a preference for such

Agile management of uncertain requirements via generalizations: a case study

This paper uses quantitative process data to argue that the deliberate development of an evolvable design, based upon extensions and variations to the requirements, and the generality derivable from the implemented system, may provide agility within a more traditional development, showing that the two concepts are interchangeable, to some extent.

A Taxonomy of Software Development Environments and their Applicabilities to Supporting Evolutionary Information Systems Development

  • M. Er
  • Computer Science
  • 1990
It is pointed out that the harmonious integration of the methodological tools provided by the evolutionary information systems development and the software maintenance problem caused by the evolution of software can be alleviated.

Iterative and incremental developments. a brief history

Although many view iterative and incremental development as a modern practice, its application dates as far back as the mid-1950s. Prominent software-engineering thought leaders from each succeeding

Software Engineering Processes for Self-Adaptive Systems

It is argued how the traditional software engineering process needs to be reconceptualized to distinguish both development-time and run-time activities, and to support designers in taking decisions on how to properly engineer such systems.


Iterative enhancement: A practical technique for software development

The development and quantitative analysis of a production compiler for the language SIMPL-T is used to demonstrate that the application of iterative enhancement to software development is practical and efficient, encourages the generation of an easily modifiable product, and facilities reliability.