Entstehungsprozess von Software flexibel gestalten

Erfolgreiche Projekte mit Extreme Programming

11.01.2002
MÜNCHEN (CW) - Das Werk ist Teil einer ganzen Buchreihe über Extreme Programming (XP) und behandelt den Aspekt der Projektplanung. Es wurde vom XP-Erfinder Kent Beck mitverfasst und erläutert die wesentlichen Regeln dieser Methodik. Dazu zählt besonders die Aufteilung von großen Vorhaben in überschaubare Unterprojekte.

Anders als die Bezeichnung XP vermuten lassen könnte, geht es dort nicht um sportliche Höchstleistungen von Programmierern, sondern um ein umfassendes Konzept zur Planung, Programmierung und zum Testen von Software. Der scheinbar extreme Charakter des "leichtgewichtigen" XP zeigt sich beim Vergleich mit Verfahren, wo langfristige Entwicklungspläne und unumstößliche Prozesse im Vordergrund stehen. Martin Fowler und Kent Beck wollen nämlich die gesamte Softwareentwicklung unter Vorbehalt stellen. Anstatt starre Vorgaben einzuhalten, soll es jederzeit möglich sein, auf wechselnde Geschäftsprozesse oder Kundenwünsche zu reagieren.

Gerade wenn es um die Planung geht, scheint der Widerspruch zwischen Flexibilität einerseits und Verlässlichkeit in Bezug auf Termine und Kosten andererseits unausweichlich. In dieser Hinsicht halten es die Autoren mit einem Zitat von Eisenhower, wonach der General Pläne als unnötig, aber Planen als unersetzlich betrachtete. Entsprechend schwören sie auf einfache Pläne, die sich leicht aktualisieren lassen, und erteilen komplexen Ausarbeitungen eine Absage.

Dabei handelt es sich nicht etwa um eine abstrakte Forderung von XP, sondern sie ist eng an dessen Regelwerk gebunden. So flexibel und unbürokratisch Softwareprojekte demnach verlaufen sollen, so streng und klar sind andererseits die Vorgaben durch diese Methodik. Im Zentrum stehen dabei die Begriffe Geschichte, Iteration und Version.

Die Autoren verwenden Geschichte gleichbedeutend mit Feature oder Funktion. Projektteams, zu denen sowohl Programmierer als auch Vertreter des Auftraggebers gehören, legen für das jeweils anstehende Teilprojekt fest, welche Geschichten realisiert werden sollen. Dabei hängt die Dauer einer solchen Iteration keineswegs davon ab, wie viel sich die Beteiligten dafür vorgenommen haben - vielmehr entscheiden sich diese schon am Anfang für feste und unveränderliche Zeiträume, über die sich derartige Miniprojekte generell erstrecken dürfen. Variabel ist hingegen die Zahl der Funktionen, die sich das Team vornehmen kann. Die typische Dauer von Iterationen liegt zwischen zwei und vier Wochen. Über längere Zeitabschnitte dehnt sich demgegenüber die Versionsplanung, die stets mehrere Miniprojekte umfasst.

Wie unumstößlich die Dauer einer Iteration sein sollte, zeigt sich auch daran, dass bei drohenden Verspätungen die Realisierung von einigen Features auf den nächsten Zyklus verschoben werden muss. Welche davon betroffen sind, entscheidet der Kunde - er definiert abhängig von ihrer geschäftlichen Bedeutung die Priorität von Funktionen und bestimmt die Reihenfolge ihrer Umsetzung. Er ist es schlussendlich auch, der darüber entscheidet, ob eine Geschichte als abgeschlossen gilt. Dieser kreisenden Bewegung von Iterationen unterliegt im Übrigen auch die Beseitigung von Fehlern. Sie rivalisiert mit anderen Geschichten um die Aufnahme in die nächste Iteration.

Keep it simpleDie Autoren betonen immer wieder das Prinzip der Einfachheit. Es überrascht daher wenig, dass sie komplexer Software für das Projekt-Management eine Absage erteilen und stattdessen die Verwendung von Karteikarten empfehlen. Gerade Projektleiter, die beide Autoren primär ansprechen wollen, sind häufig stärker geschäftlich als technisch ausgerichtet und werden diese Empfehlung nicht ungern aufnehmen. (ws)

Kent Beck, Martin Fowler: Extreme Programming planen. München: Addison Wesley 2001. 143 Seiten, 30,62 Euro.