next up previous contents index
Nächste Seite: 7.2.4 Die 12 Grundpraktiken Aufwärts: 7.2 Agiler Vertreter: Extreme Vorherige Seite: 7.2.2 Grundwerte   Inhalt   Index

7.2.3 Umkehrung der Kostenkurve

Extreme Programming stellt die These auf, dass die Kostenkurve42 nach Barry Boehm nicht (mehr) gültig ist. Durch den Einsatz von modernen Technologien und Programmierverfahren kann die Kostenkurve quasi umgekehrt werden. (vgl. Bec00, S. 21ff) Es ergibt sich der in Abbildung 10 auf Seite [*] gezeigte Graph.

Abbildung: zeitliche Abhängigkeit der Kosten für Änderungen nach Beck
Image kurve-agil

Die Schlussfolgerung aus dieser These lautet, dass eine ständige Änderung der Software jederzeit möglich ist und prinzipiell Kosten auf ähnlichem Niveau verursacht. Deshalb müssen nicht alle Anforderungen vor Beginn des Entwurfs und der Implementierung feststehen. Es können jederzeit neue Anforderungen durch den Kunden aufgestellt werden, alte Anforderungen geändert werden oder noch nicht implementierte Anforderungen gestrichen werden.

Da jederzeit Änderungen an den Anforderungen berücksichtigt werden können, fordert Extreme Programming den Kunden auf, Anforderungen immer dann zu ändern, wenn die Änderung einen höheren Geschäftswert verspricht. Extreme Programming formuliert, dass dies zu einem völlig anderen Verhalten während der Entwicklung führt. Es gilt ,,wichtige Entscheidungen so spät wie möglich im Entwicklungsprozess [zu]43 treffen, um die Kosten aufzuschieben, die durch diese Entscheidungen bedingt sind, und um die Wahrscheinlichkeit zu erhöhen, dass die richtigen Entscheidungen getroffen werden.`` (Bec00, S. 23) Dabei geht es nicht darum, sich um Entscheidungen zu drücken. Der Teilsatz ,,so spät wie möglich`` umfasst auch, dass die Entscheidung nicht zu spät gefällt werden darf.

Extreme Programming stellt eine Reihe von Techniken zur Verfügung um abzusichern, dass die These von änderbarer Software tatsächlich erfüllt werden kann.

Durch die Softwarearchitektur, erarbeitet während des Entwurfs, wird die zu entwickelnde Software strukturiert und geordnet. Eine nachträgliche Änderung kann diese Ordnung zerstören, wenn die Änderung sich mit der Softwarearchitektur nicht vollständig erfüllen lässt. Durch jede Änderung wird somit die interne Struktur der Software ungeordneter. Nur durch die bewusste Zuführung von Aufwand kann das Streben zur Unordnung verhindert werden. Extreme Programming beschreibt, welche Maßnahmen konkret ergriffen werden müssen.


next up previous contents index
Nächste Seite: 7.2.4 Die 12 Grundpraktiken Aufwärts: 7.2 Agiler Vertreter: Extreme Vorherige Seite: 7.2.2 Grundwerte   Inhalt   Index
Sebastian Stein 2004-08-30