Extreme Programmierung

 

Tammo Freese, OFFIS Oldenburg und Frank Westphal, Hamburg

 

GI-Regionalgruppenveranstaltung Bremen/Oldenburg, 12.06.2001

 

 

Extreme Programming (XP) ist ein leichtgewichtiger, hochdisziplinierter Software-Entwicklungsprozess für kleine Teams, die während der Entwicklung mit vagen und sich rasch ändernden Anforderungen konfrontiert werden.

 

XP beruht auf der Beobachtung, dass die Kosten zur Änderung von Software durch einfache Verfahren reduziert werden können. Dazu setzt XP allgemein als vernünftig anerkannte Prinzipien und Verfahren in extremer Weise ein und hat dadurch eine kontroverse Diskussion um effiziente Softwareentwicklung entfacht:

 

·      Wenn Code Reviews gut sind, warum begutachten wir unseren Code nicht immerzu, indem wir ausschließlich in Paaren programmieren?

·      Wenn frühes Testen gut ist, warum schreiben wir nicht Tests, bevor wir den Code schreiben, der die Tests erfüllt?

·      Und warum lassen wir unsere Kunden nicht funktionale Abnahmetests spezifizieren?

·      Wenn Design gut ist, warum machen wir es nicht zur alltäglichen Aufgabe, indem wir unseren Code ständig in die einfachste Form refaktorisieren und "lernen lassen"?

·      Wenn Einfachheit gut ist, warum wählen wir nicht stets die Lösung, die mit dem einfachsten Design auskommt und die geforderte Funktionalität unterstützt?

·      Wenn Architektur gut ist, warum ist nicht jeder ständig bemüht, die Architektur zu definieren und zu verbessern?

·      Wenn Integrationstests wichtig sind, warum integrieren und testen wir nicht mehrmals täglich?

·      Wenn kurze Iterationszeiten gut sind, warum machen wir sie nicht so kurz, dass wir Feedback innerhalb von Sekunden, Minuten und Stunden erhalten statt Wochen, Monaten und Jahren?

·      Wenn der Kontakt zum Kunden wichtig ist, warum integrieren wir nicht einen direkten Ansprechpartner auf Kundenseite in das Team, so dass wir zur Anforderungsdefinition einen Dialog führen und kein Dokument schreiben?

 

Dieser Vortrag gibt Ihnen einen Überblick über die einzelnen Verfahren von XP und berichtet von Erfahrungen aus ersten deutschen XP-Projekten. Dabei wird das Programmieren in Paaren, Testgetriebenes Programmieren, Refaktorisieren und das Planungsspiel live vorgeführt.