Evolvability (software)
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.
Evolvability is a non-functional property of software that depends among other things on software design and software architecture decisions.
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
See also
literature
- 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)).
Web links
- Matthias Riebisch, Stephan Bode: Software Evolvability. Gesellschaft für Informatik, August 20, 2009, accessed May 14, 2011 .
- The value system on clean-code-developer.de