Extreme Programming
Extreme Programming (XP) ist ein relativ neues Grundvorgehen bei der Software-Entwicklung. Dabei wird auf einen strikten Anforderungskatalog des Kunden verzichtet, es werden auch Kundenwünsche berücksichtigt, die sich während der Entwicklung noch ergeben. Statt des klassischen Wasserfallmodells (bzw. einer Model driven architecture) durchläuft der Entwicklungsprozess immer wieder die Zyklen von Implementierung eines kleinen Schrittes, Tests, und eventuellen Änderungen der Anforderungen (ständig verbesserte Prototypen). Nur die im aktuellen Iterationsschritt benötigten Features werden implementiert.
Die Methode hat die Erfahrung zum Hintergrund, dass der Kunde die wirklichen Anforderungen zum Projektbeginn meist noch nicht kompett kennt. Er fordert Features, die er nicht braucht, und vergisst solche, die benötigt werden.
Es handelt sich um ein Konglomerat aus verschiedenen Ideen, insbesondere
- Pair-Programming (Zwei Programmierer teilen sich eine Tastatur und Monitor - einer codiert, einer denkt mit)
- Integration in kurzen Abständen
- Ständiger Test (alle, auch Kunden testen laufend)
- Laufendes Refactoring, ständige Architektur-Verbesserung
Literatur
Kent Beck: Extreme Programming - das Manifest. Die revolutionäre Methode für Softwareentwicklung in kleinen Teams, Addison-Wesley, 2000; ISBN 3-8273-1709-6