Agile Software-Entwicklung
Als Reaktion auf die Nachteile der starren sequentiellen Vorgehensweise des Wasserfallmodells wurden
im „Manifesto for Agile Software Development“ von Kent Beck u.a.
folgende Thesen propagiert:
„Individuals
and interactions over
processes and tools
Working software over
comprehensive documentation
Customer collaboration over
contract negotiation
Responding to change over
following a plan“
http://agilemanifesto.org (16.08.2018)
Diese Thesen begründen die sogenannte agile Software-Entwicklung (iterative Vorgehensweise):

Abbildung 2: Agiler Prozess ist iterativ mit kurzen Durchlaufzeiten
Möglichst unbürokratisch werden die Kernanforderung des Kunden mit funktionierender Software erfüllt. Danach wird iterativ mit dem Kunden die nächste wichtige Anforderung (die sich zwischenzeitlich schon geändert haben kann) bedient. Die Rechnungsstellung kann nach jedem Durchlauf erfolgen.Jede Iteration erweitert nicht nur die Codebasis, sondern macht auch Codeänderungen notwendig. Um diese Refactorings durchführen zu können, ist jederzeit optimales Softwaredesign und hohe Softwarequalität Voraussetzung. Werden Änderungen notwendig, so müssen diese unmittelbar vorgenommen werden, um dem Anwachsen einer technischen Schuld zu begegnen. Dabei sind Einfachheit und Komponententests Pflicht.