XP (Extreme Programming) beschreibt eine agile iterative
Vorgehensweise beim Softwareentwicklungsprozess mit
leichtgewichtiger Methodologie und wenig Dokumentation und Overhead.
Schwerpunkte sind:
User Stories: Die Anforderungen an die zu erstellende Software
werden nicht wie beim RUP in Use Cases, sondern in User Stories
erfasst. User Stories beschreiben GUIs, Funktionalitäten und
Testszenarien.
On-site Customer: Ein kompetenter Vertreter des Kunden ist währendder gesamten Entwicklungszeit bei den Entwicklern anwesend (dürftenur selten realisierbar sein).
Pair Programming: An den Entwicklungsrechnern sitzen jeweilszwei Entwickler und entwickeln gemeinsam.
Testing: Vor der Entwicklung eines Moduls werdenautomatisierbare Testfälle (Unit Tests) programmiert.
Simple Design: Es werden keine unnötigen Features implementiert.
Small Releases: Es werden häufige Iterationen durchgeführt
mit lauffähigen Programmen als Ergebnis, welche der Kunde
begutachtet.
Refactoring: Der Sourcecode wird eher früh restrukturiert
(falls erforderlich).
Continuous Integration: Von verschiedenen Teammitgliedern
produzierter Code wird sehr häufig zusammengeführt.
Collective Ownership: Der entwickelte Sourcecode gehört dem
gesamten Team, jeder ist für jeden Code verantwortlich. Die
Teams rotieren zyklisch.
Coding Standards: Es werden Konventionen zum Aufbau des Codes
erstellt, um Lesbarkeit zu erleichtern.