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.
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.