XP ist eine schlanke Methode zur Entwicklung von Software für Projekte mit vagen, unvollständig formulierten oder sich rasch verändernden Anforderungen. Sie vermindert die Risiken durch eine starke Orientierung auf schnelle Fertigstellung produktiver Teillösungen, die inkrementell zum vollständigen System erweitert werden. Im Gegensatz zu herkömmlichen Methoden werden hohe Aufwände für Analyse- und Designphasen vor Beginn der eigentliche Softwareentwicklung vermieden.

Die Softwareentwicklung funktioniert in kurzen Zyklen mit wenigen Wochen Dauer, bei denen zunächst zusammen mit dem Kunden der Teil der Anforderungen identifiziert wird, dessen Erfüllung den größten Nutzen für den Kunden hat. Für diese Minimal Anforderungen wird ein einsatzfähiges System erstellt und beim Kunden in Betrieb genommen.

Dadurch steht für den nächsten Schritt unmittelbares Feedback des Kunden zur Verfügung und die bereits realisierten Anforderungen können nochmals verifiziert werden. Gleichzeitig werden die nun wichtigsten verbleibenden Anforderungen identifiziert und umgesetzt. Dieses Verfahren wird durchgeführt, bis der durch die noch zu realisierenden Restanforderungen zu erwartende Nutzen den geschätzten Aufwand nicht mehr rechtfertigt.

Um ein solches Vorgehen zu ermöglichen, werden bei eXtreme Programming einige einfache Praktiken kombiniert, die zum Ziel haben, die Effizienz der Entwicklung und die Stabilität des Codes zu erhöhen und das finanzielle Risiko zu minimieren. Zu diesen Praktiken gehören das Erstellen automatisierter Regressionstests, permanente Überarbeitung des gesamten Codebestands (Refactoring), paarweises Arbeiten bei der Codierung. Im Mittelpunkt stehen dabei immer die Erfordernisse der Mitarbeiter und permanente reibungslose Kommunikation im Team und mit dem Kunden.

eXtreme Programming schafft ein Umfeld, in dem die Kosten einer Änderung nicht mehr exponentiell mit der Zeit seit Beginn eines Projekts steigen, sondern fast unabhängig vom erreichten Projektstadium sind. Das ermöglicht es, Designentscheidungen jederzeit zu ändern, wenn sich Anforderungen ändern oder hinzukommen. eXtreme Programming ist deshalb eine geeignete Technologie für den gesamten Lebenszyklus einer Software, gerade bei sich verändernden Bedingungen und Erfordernissen.

Eine wesentliche These von XP ist "You are not gonna need it" (Simplicity). Die Konsequenz daraus ist, die einfachste und simpelste Lösung für die Umsetzung der vorliegenden Anforderungen umzusetzen und nicht eine Lösung zu entwickeln, die mögliche zukünftige Anforderungen abdeckt. Wie oft haben wir schon erlebt, dass diese Anforderungen gar nicht gestellt werden, in ganz anderer Form kommen oder der vorab halbherzig entwickelte Ansatz nicht die nötige Qualität hat. Anstelle dessen wird das System erweitert und umstrukturiert, wenn die Anforderungen konkret vorliegen. Flexible und allgemeine Anvorderungen werden im Refactoring gefunden und nicht vorab erfunden.

Die XP-Intensiv Camps werden von erfahrenen eXPerten und Coaches der Cosulting Firma ANECON gehalten.

Als Coach sind unter anderen verfügbar:

  • Martin Kahr
  • Hannes Färberböck

    Angefragt sind weitere internationale eXPerten, Autoren und Trainer