The evolvability is a criterion in the development of software that shows the energy and success with which new features can be introduced.
Software is optimally evolvable if a feature request can be implemented at a later point in the development project with the same effort as if the feature had been requested from the start. If new features can only be implemented at a late point in time with a great deal of effort, the evolvability of the software is low.
Examples of approaches that support evolvability are:
- Separation of implementation and interface
- Separation of Concerns
- Loose coupling
- KISS principle
- Principles of object-oriented design
- Service-oriented architecture
- Matthias Riebisch, Stephan Bode: Current Keyword: Software Evolvability . In: Computer Science Spectrum . tape 32 , no. 4 . Springer, 2009 ( informatik.uni-hamburg.de (PDF; 180 kB)).