Extreme Programming, kurz XP, ist die radikalste Umsetzung der agilen Softwareentwicklung. 1

Zurückzuführen ist die Methode auf die Softwareentwickler Kent Beck, Ward Cunningham und Ron Jeffries. Die Entwickler wollten sich in den 1990er Jahren deutlich von der Wasserfallmethode abgrenzen, da diese Methode für klassisches Projektmanagement zwar geeignet war, jedoch für Softwareentwicklung diverse Probleme kreierte. 2

Extreme Programming ist eine agile, effiziente und mit wenig Risiko verbundene Entwicklungsmethode. 3

Wie in Scrum und Kanban , zwei anderen agilen Methoden, wird der Kunde und seine Bedürfnisse in den Mittelpunkt gestellt. 4

Es wird von iterativen Prozessen ausgegangen. Anstelle der langfristigen, fest geplanten Durchführung eines großen Projektes, werden kurze Zyklen verwendet, um den Fortschritt zu prüfen, zu besprechen und zu veröffentlichen.

Wie auf der Abbildung zu erkennen, wird in einem Inkrement, Planung, Design und Coding, sowie Tests durchgeführt. Mit jedem kurzen Zyklus werden Verbesserungen vorgenommen, um die Entwicklung des Produktes möglichst effizient voranzubringen. 5

Abbildung 1 - Extreme Programming Zyklus6

Beispielabbildung

Rollen im Projekt

Im Extreme Programming ergeben sich feste Rollen.

Rolle Aufgaben
Kunde Der Kunde ist der Auftraggeber und äußert Wünsche, die von Productowner, Manager und Entwickler zusammen umgesetzt werden soll. 7
Entwickler Innerhalb des Entwicklerteams gibt es keine Rollentrennung. Jeder Mitarbeiter wird unabhängig von seinen Fähigkeiten als Entwickler bezeichnet. Diese sind für die Produktentwicklung zuständig.8
Tester Ein großen Teil der Tests innerhalb der Softwareentwicklung übernehmen die Entwickler. Zusätzlich gibt es noch die Rolle des Testers. Dieser ist sehr fokussiert auf den Kunden und soll dabei helfen funktionale Tests zu schreiben, diese regelmäßig durchzuführen und die Ergebnisse offenzulegen. 9
Productowner Der Productowner übernimmt die Verantwortung für das Projekt, organisiert als Leiter die Kommunikation zwischen Kunde und Entwickler. 10

Werte der Methode

Die Kommunikation zwischen allen Rollen ist extrem wichtig, um Probleme direkt adressieren zu können. So können Missstände direkt behoben werden und ein permanenter Austausch führt zu gleichem Wissensstand der Entwickler. 11

Ein wichtiger Wert der Methode XP ist die Einfachheit. Es wird nach der einfachsten Lösung gestrebt und die Entwickler halten sich so nicht mit Unwichtigem auf. Es werden möglichst nur die im Moment benötigten Features entwickelt und nicht für zukünftige Anforderungen vorgearbeitet. 12

Bei dem Punkt Feedback geht es nicht nur um die Kritik des Kunden, sondern auch um Meldungen des Systems (Logs). Das Team arbeitet in kleinen Zyklen, testet häufig und kann so Änderungen und Fehlerbehebungen kurzfristig vornehmen. 13

Unter Mut ist das Eingestehen von Fehlern, Annehmen von Kritik und Ändern von Organisationsstrukturen zu verstehen. 14

Vor- und Nachteile

Es ergeben sich im Rahmen des Extreme Programmings einige Vor- und Nachteile.

Die Methode kann in der Umsetzung schwierig sein, da das gesamte Team gemeinsam an der aktuellen Aufgabe arbeitet. Diese sollte möglichst einfach gehalten werden und nicht zu kompliziert gestaltet werden. Kontinuierliche Kommunikation, hochwertige Arbeit und wenn nötig das Annehmen von Veränderungen, sind dafür erforderlich. 15

Wenn das Team jedoch das Framework mit verschiedenen Rollen, Werten, Prinzipien und Techniken anwendet, gibt es viele Vorteile.

Durch inkrementelles Vorgehen kann das Produkt genau nach Kundenwünschen entwickelt und Kosten schnell wieder amortisiert werden, da beispielsweise eine Software zu einem frühen Zeitpunkt produktiv gehen kann. Der Code ist durch testgetriebene Entwicklung stets änderbar, erweiterbar und wird in sehr hoher Qualität erstellt. Entwickler werden von den Erfolgserlebnissen motiviert und können sich mit dem Code identifizieren. 16

Extreme Programming ist sehr anspruchsvoll, aber wenn das Team mit einem gemeinsamen Verständnis an der aktuellen Aufgabe zusammenarbeitet und das Framework beachtet ist die Methode sehr effizient und Erfolg bringend.

Siehe auch

Weiterführende Literatur

  • Beck, K. (2004): Extreme Programming explained - Embrace Chance
  • Lippert, M. (2002): Software entwickeln mit eXtreme programming : Erfahrungen aus der Praxis
  • Wolf, H. (2015): Agile Projekte mit Scrum, XP und Kanban

Quellen

  1. https://www.ionos.de/digitalguide/websites/web-entwicklung/extreme-programming/ 

  2. https://www.agile-heroes.de/magazine/extreme-programming/ 

  3. Beck, K. (2000): Extreme Programming explained - Embrace Chance. Massachusetts: Addison-Wesley. Preface XVii 

  4. https://www.agile-heroes.de/magazine/extreme-programming/ 

  5. https://www.ionos.de/digitalguide/websites/web-entwicklung/extreme-programming/ 

  6. Abbildung: http://thedynamicdomain.com/extreme-programming.aspx 

  7. Beck, K. (2000): Extreme Programming explained - Embrace Chance. Massachusetts: Addison-Wesley. Buch S.142 

  8. Beck, K. (2000): Extreme Programming explained - Embrace Chance. Massachusetts: Addison-Wesley. Buch S. 141 

  9. Beck, K. (2000): Extreme Programming explained - Embrace Chance. Massachusetts: Addison-Wesley. Buch S. 144 

  10. Beck, K. (2000): Extreme Programming explained - Embrace Chance. Massachusetts: Addison-Wesley. Buch S. 147 

  11. Beck, K. (2000): Extreme Programming explained - Embrace Chance. Massachusetts: Addison-Wesley. Buch S. 29 

  12. Beck, K. (2000): Extreme Programming explained - Embrace Chance. Massachusetts: Addison-Wesley. Buch S. 30 

  13. Beck, K. (2000): Extreme Programming explained - Embrace Chance. Massachusetts: Addison-Wesley. Buch S. 31 

  14. Beck, K. (2000): Extreme Programming explained - Embrace Chance. Massachusetts: Addison-Wesley. Buch S. 33 

  15. Beck, K. (2000): Extreme Programming explained - Embrace Chance. Massachusetts: Addison-Wesley. Buch S. 151 

  16. http://www.techsphere.de/pageID=pm03.html