Extreme Programming – Das Manifest


In der Softwaretechnik haben sich verschiedene Entwicklungsparadigmen herausgebildet. Extreme Programming (XP) ist eine davon – und XP hat einen schweren Stand. Kent Beck, der als Gründer von XP gilt, übt indirekt an vielen der herkömmlichen Grundsätze der Softwareentwicklung Kritik und stellt Alternativen vor: das klassische Wasserfallmodell etwa wird durch sehr kurze Iterationszyklen ersetzt, die die Phasen Analyse, Design, Implementierung, Test wieder und wieder beinhalten, und anstelle eines umfangreichen Anforderungskatalogs besteht bei Projektbeginn nur ein grobes Bild der gewünschten Software, das innerhalb der Zyklen wieder und wieder durch den Kunden beeinflusst wird. Auf rund 180 Seiten beschreibt Beck in drei Teilen und insgesamt 27 Kapiteln das Problem, XP als die Lösung, und die Implementierung von XP.
Die ersten neun Kapitel unter der Überschrift „Das Problem“ betrachten den Prozess der Softwareentwicklung: Die Risiken eines Softwareprojekts werden stichpunktartig gelistet, und Beck stellt vor, wie XP diesen Risiken entgegenwirkt. Aus ökonomischer Sicht wird beleuchtet, welche Faktoren die Kosten von Softwareprojekten bestimmen, und wie sich XP auch hier positiv auswirken soll. Die Kosten von Änderungen, und wie XP diese Änderungen gering hält, wird in einem weiteren Kapitel im Detail besprochen. Außerdem führt Beck Variablen und Werte von XP ein, stellt Wechselwirkungen heraus, und macht klar, wie man anhand dieser Attribute die Richtigkeit des Kurses in der Softwareentwicklung festmachen kann. Zwischendurch gibt Beck einen Ausblick darauf, wie XP in der Praxis aussehen kann, indem er den typischen Ablauf der Implementierung einer Programmieraufgabe beschreibt, und zeigt anhand einer Metapher, wie XP funktioniert: wie beim Autofahren bestimmen viele kleine Änderungen den Kurs, anstatt weniger großer. Die folgenden neun Kapitel im Teil „Die Lösung“ gehen auf die Bestandteile von XP im Detail ein und beschreiben, wie diese gemeinsam funktionieren und ihre Schwächen gegenseitig ausgleichen. Auch die Funktion von Vorgesetzten sowie verschiedene Strategien, von der Büromöbelplanung bis zum Softwaretest, werden besprochen. Der dritte Teil, „XP imlementieren“, beschreibt anschaulich, wie XP im eigenen Projekt angewendet werden kann, welche Probleme auftauchen können, und wann man XP nicht ausprobieren sollte.
Dass Beck hier aus langjähriger Erfahrung schreibt, ist offensichtlich. Als Softwareentwickler wird man in seinem Buch viele Aussagen und Beispiele entdecken, denen man voll zustimmen kann und die man selbst schon erlebt hat. XP ist die Konsequenz aus Becks offensichtlichem Missmut über die Bürokratisierung der herkömmlichen Entwicklungsprozesse, und so kompakt und flexibel wie XP ist auch das Buch: die Kapitel sind meistens Vierseiter, was ich beim Lesen als angenehm empfunden habe. Becks Tipps, wie „Kaufen Sie Knabberzeug“, oder die Aussage, dass XP mit einem schreienden Baby im Raum unmöglich ist, machen das Buch sympathisch, und machen deutlich, wie sehr bei XP der Entwickler im Vordergrund steht.
Dem Leser muss jedoch bewusst sein, dass es sich bei dem Buch nicht um eine Anleitung zur Verwendung von XP handelt – hierzu existieren andere Titel, wie bspw. Planning Extreme Programming von Kent Beck und Martin Fowler oder Extreme Programming Installed von Ron Jeffries et al -, sondern um eine Einführung, die – und so formuliert der Autor sein Ziel auch selbst – dem interessierten Entwickler als Entscheidungshilfe für oder wider XP dienen soll. Denjenigen, die XP bereits verwenden, soll es außerdem zu einem besseren Verständnis von XP verhelfen.
Ich persönlich habe die Erfahrungen eines anderen, langjährigen Entwicklers gerne gelesen und mich durch einige seiner Argumente für bestimmte XP-Eigenschaften begeistern können. Auch wenn ich mich nicht vollends für XP entscheiden konnte, und einen Mittelweg zwischen XP und herkömmlichen Grundsätzen einschlagen würde, hat mir das Buch eine weitere Sichtweise auf ein Softwareprojekt gezeigt und Gesichtspunkte vor Augen geführt, die mir bisher nicht bewusst waren. Das Lesen lohnt also alleine deshalb, weil Beck sich die Mühe gemacht hat, die Wechselwirkungen verschiedenster Faktoren des Entwicklungsprozesses aufzuschlüsseln und Lösungen für Probleme vorschlägt, die jeder Entwickler und Projektleiter ernsthaft in Erwägung ziehen sollte.
Kent Beck, „Extreme Programming – Das Manifest“;
Addison-Wesley Verlag, Programmers Choice Reihe, 2003;
ISBN 3-8273-2139-5
Matthias Gall, Juli 2004

Leave a Reply

Your email address will not be published. Required fields are marked *