Das Charakteristikum von eXtreme Programming (XP) besteht im zyklischen Vorgehen auf allen Ebenen: von der Programmierung über die tägliche Abstimmung im Entwicklerteam bis hin zum gemeinsamen Anforderungsmanagement mit dem Kunden.
Was ist XP?
Die Eigenschaften von XP lassen sich zeitlich wie folgt definieren:
- Sekundentakt
Das Programmieren in Paaren (Pair-Programming) führt dazu, dass sich die Entwickler ständig gegenseitig kontrollieren und auf Fehler oder umständliches Design aufmerksam machen. - Minutentakt
In XP wird testgetrieben entwickelt, die UNIT-Tests werden also vor dem Code geschrieben, so dass eine permanente Überprüfung des Codes stattfindet. - Stundentakt
Neu entwickelte Komponenten werden mehrmals täglich in das lauffähige Gesamtsystem integriert (Continuous Integration). So lassen sich Fehler schneller finden – denn je später Fehler entdeckt werden, um so aufwändiger sind sie zu beheben. - Tagestakt
In XP findet ein tägliches Treffen statt, auf dem das Entwicklungsteam kurz über den Projektfortschritt reflektiert und Fehlentwicklungen vermeidet. Weil das Treffen im Stehen stattfindet (durch die mangelnde Bequemlichkeit werden die Teilnehmer zur Prägnanz „gezwungen“), heißt es auch Standup-Meeting. - Wochentakt
XP legt größten Wert auf kurze Iterationszyklen von wenigen Wochen. So erhält der Kunde immer wieder lauffähige Systemversionen, um diese zu testen und seine fachlichen Anforderungen auf den neuesten Stand zu bringen. Es werden also nicht die Anforderungen umgesetzt, die zu Projektbeginn einmal definiert wurden, sondern entwickelt wird immer genau das, was in der aktuellen Situation den größten Geschäftswert für den Kunden erzielt. Deshalb werden in regelmäßigen Abständen neue Iterationspläne erstellt. - Monatstakt
Anders als in klassischen Projekten, in denen es nur ein großes Release am Ende der Projektlaufzeit gibt, werden in XP-Projekten regelmäßig – am besten monatlich – neue Releases produktiv gestellt. Durch die kurzen Releasezyklen kann sehr früh ein Teil-Geschäftswert generiert werden. XP-Projekte werden deshalb sehr viel früher selbstfinanzierend als klassische Projekte. In Abständen von wenigen Monaten werden daher aktuelle Releasepläne erstellt, in denen die nächsten Iterationen festgehalten werden.
Welche Vorteile bietet XP?
Die Vorteile des zyklischen Vorgehens in XP liegen auf der Hand:
- Durch das inkrementelle Vorgehen und die monatliche Auslieferung kann die neue Software zu einem frühen Zeitpunkt produktiv gehen und seine Kosten schnell wieder hereinholen – im besten Fall sogar noch während der Projektlaufzeit.
- Der Code selbst wird in sehr hoher Qualität erstellt und bleibt dank testgetriebener Entwicklung stets änder- und erweiterbar, womit auch in großen Systemen die Voraussetzung geschaffen wird, um Refactorings durchzuführen.
- Nicht zuletzt hat XP eine positive Wirkung auf den Teamgeist und die Motivation der Entwickler: sie identifizieren sich mit dem hochwertigen Code und feiern Erfolgserlebnisse, wenn wieder eine neue Version ausgeliefert werden kann.
Allerdings muss man sich darüber im Klaren sein, dass XP eine anspruchsvolle Methode darstellt und eine Reihe von Hürden zu nehmen sind, bevor die genannten Vorteile erreicht werden können.
Gerne beraten wir Sie unverbindlich zum Thema XP und agilen Vorgehensmodellen.
Kontaktieren Sie uns für ein unverbindliches Beratungsgespräch