•     •   10 min read

Extreme Programming (XP):
Nicht für Zartbesaitete

Extreme Pro­gram­ming (XP) ist eine agile Soft­wa­reen­twick­lungsmethodik. Wie andere agile Meth­o­d­en hat XP seine einzi­gar­ti­gen Werkzeuge, Prozesse und Rollen. Der Schöpfer von XP, der amerikanis­che Entwick­ler Kent Beck, hat nichts völ­lig Neues erfun­den, son­dern die besten Prak­tiken der agilen Entwick­lung aufge­grif­f­en und bis zum Extrem ver­stärkt, daher der Name Extreme Programming.

Der Autor der Methodik, Kent Beck, leit­ete Ende der 90er Jahre das Chrysler Com­pre­hen­sive Com­pen­sa­tion Sys­tem-Pro­jekt, in dem er erst­mals XP-Prak­tiken anwandte. Er doku­men­tierte seine Erfahrun­gen und das ent­standene Konzept in dem Buch Extreme Pro­gram­ming Explained”, das 1999 veröf­fentlicht wurde. Auf dieses Buch fol­gten weit­ere, die XP-Prak­tiken detail­liert beschreiben. Zu den Miten­twick­lern der Methodik gehören Ward Cun­ning­ham, Mar­tin Fowler und andere.
Im Gegen­satz zu anderen agilen Meth­o­d­en wird XP exk­lu­siv in der Soft­wa­reen­twick­lung ver­wen­det. Es kann nicht auf andere Geschäfts­felder oder das tägliche Leben wie Scrum, Kan­ban oder Lean angewen­det werden.
Das Ziel von XP ist es, mit ständig wech­sel­nden Anforderun­gen an das Soft­ware­pro­dukt umzuge­hen und die Entwick­lungsqual­ität zu verbessern. Daher ist XP für kom­plexe und unsichere Pro­jek­te geeignet.

XP dreht sich um vier Ker­nak­tiv­itäten: Codieren, Testen, Entwer­fen und Zuhören. Darüber hin­aus hat Extreme Pro­gram­ming grundle­gende Werte: Ein­fach­heit, Kom­mu­nika­tion, Feed­back, Mut und Respekt.

13 Prak­tiken des Extreme Programming

1. Das gesamte Team

Alle Pro­jek­t­teil­nehmer, die XP ver­wen­den, arbeit­en als ein einziges Team. Dieses Team muss einen Kun­den­vertreter umfassen, vorzugsweise einen echt­en End­be­nutzer, der über die Geschäftswelt informiert ist. Der Kunde legt die Pro­duk­tan­forderun­gen fest und pri­or­isiert die Funk­tion­al­itäten. Busi­ness-Ana­lysten kön­nen den Kun­den unter­stützen. Von der Seite der Aus­führen­den umfasst das Team Entwick­ler, Tester, manch­mal einen Coach, der das Team anleit­et, und einen Man­ag­er, der Ressourcen bereitstellt.

2. Pla­nungsspiel

Die Pla­nung in XP erfol­gt in zwei Phasen: Release-Pla­nung und Iterationsplanung.
  • Release-Pla­nung: Das Pro­gram­mi­er-Team trifft sich mit dem Kun­den, um die gewün­schte Funk­tion­al­ität für das näch­ste Release zu bes­tim­men, typ­is­cher­weise in 2 – 6 Monat­en. Da die Anforderun­gen des Kun­den oft vage sind, klären die Entwick­ler diese und brechen sie in Auf­gaben herunter, die in einem Tag oder weniger abgeschlossen wer­den kön­nen. Der Kunde muss das betriebliche Umfeld ver­ste­hen, in dem das Pro­dukt arbeit­en wird.

    Die Auf­gaben wer­den auf Karten fest­ge­hal­ten, und der Kunde pri­or­isiert sie. Die Entwick­ler schätzen dann die Zeit, die für jede Auf­gabe benötigt wird. Sobald die Auf­gaben beschrieben und geschätzt sind, über­prüft der Kunde die Doku­men­ta­tion und genehmigt den Beginn der Arbeit­en. Für den Pro­jek­ter­folg ist es entschei­dend, dass der Kunde und das Pro­gram­mi­er-Team auf dem­sel­ben Spielfeld spie­len: der Kunde wählt tat­säch­lich notwendi­ge Funk­tion­al­itäten inner­halb des Bud­gets aus, und die Pro­gram­mier­er richt­en die Anforderun­gen des Kun­den angemessen auf ihre Möglichkeit­en aus.
  • Iter­a­tions­pla­nung: Find­et alle zwei Wochen statt, manch­mal häu­figer oder sel­tener. Der Kunde ist anwe­send, um die Funk­tion­al­ität für die näch­ste Iter­a­tion zu definieren und Änderun­gen an den Pro­duk­tan­forderun­gen vorzunehmen.

3. Kleine Releases

XP-Releas­es sind häu­fig, aber mit begren­zter Funk­tion­al­ität. Dieser Ansatz erle­ichtert das Testen und die Wartung der Betrieb­ssicher­heit des Sys­tems und stellt dem Kun­den in jed­er Iter­a­tion eine funk­tionale Geschäftswert-Funk­tion­al­ität zur Verfügung.

Kun­den­tests

Der Kunde legt automa­tisierte Abnah­me­tests fest, um die Funk­tion­al­ität des Pro­duk­ts zu über­prüfen. Das Team schreibt diese Tests und nutzt sie, um den Code zu testen.

Gemein­same Code-Eigentümerschaft

In XP kann jed­er Entwick­ler jeden Teil des Codes ändern, da der Code nicht dem Autoren gehört, son­dern dem gesamten Team.

Kon­tinuier­liche Integration

Neue Code-Teile wer­den sofort in das Sys­tem inte­gri­ert – XP-Teams veröf­fentlichen alle paar Stun­den oder häu­figer einen neuen Build. Diese Prax­is stellt sich­er, dass die Auswirkun­gen der kür­zlich vorgenomme­nen Änderun­gen am Sys­tem sofort sicht­bar sind. Wenn ein neuer Code-Teil etwas kaputt macht, ist die Iden­ti­fizierung und Behe­bung des Fehlers viel einfacher.

Codierungs­stan­dards

Mit der gemein­samen Code-Eigen­tümer­schaft ist es entschei­dend, gemein­same Codierungs­stan­dards zu ver­ab­schieden, um sicherzustellen, dass der Code aussieht, als wäre er von einem einzi­gen Fach­mann geschrieben wor­den. Teams kön­nen eigene Stan­dards entwick­eln oder beste­hende annehmen.

Sys­tem­meta­pher

Die Sys­tem­meta­pher ist ein Ver­gle­ich mit etwas Ver­trautem, um eine gemein­same Vision inner­halb des Teams zu schaf­fen. Typ­is­cher­weise erfind­et die Per­son, die die Architek­tur entwick­elt und das Sys­tem als Ganzes sieht, die Metapher.

Nach­haltiges Tempo

XP-Teams arbeit­en mit max­i­maler Pro­duk­tiv­ität, während sie ein nach­haltiges Tem­po beibehal­ten. Extreme Pro­gram­ming ermutigt nicht zu Über­stun­den und fördert eine 40-Stunden-Arbeitswoche.

Test­getriebene Entwick­lung (TDD)

Ein­er der her­aus­fordernd­sten Prak­tiken in XP. Pro­gram­mier­er schreiben Tests, bevor sie den zu tes­ten­den Code schreiben. Dieser Ansatz stellt sich­er, dass jedes Funk­tion­se­le­ment voll­ständig durch Tests abgedeckt ist. Wenn Entwick­ler Code einpfle­gen, wer­den sofort Unit-Tests aus­ge­führt, und alle Tests müssen beste­hen, um sicherzustellen, dass das Team in die richtige Rich­tung arbeitet.

Pair Pro­gram­ming

Stellen Sie sich zwei Entwick­ler vor, die an einem Com­put­er an einem einzi­gen Funk­tion­se­le­ment arbeit­en. Diese Prax­is ist Pair Pro­gram­ming, die umstrit­ten­ste Prax­is in XP. Das Sprich­wort Zwei Köpfe sind bess­er als ein­er” ver­an­schaulicht ihren Kern gut. Von zwei Lösun­gen eines Prob­lems wird die beste gewählt, der Code wird sofort opti­miert und Fehler wer­den ver­mieden, bevor sie auftreten, was zu sauberem Code führt, der von bei­den Entwick­lern ver­standen wird.

Ein­fache Gestaltung

Ein­fache Gestal­tung in XP bedeutet, nur das zu tun, was jet­zt benötigt wird, ohne zu ver­suchen, zukün­ftige Funk­tion­al­itäten vorherzusagen. Ein­fache Gestal­tung und ständi­ge Refak­torisierung erzeu­gen einen syn­er­gis­tis­chen Effekt – wenn der Code ein­fach ist, lässt er sich leichter optimieren.

Refak­torisierung

Refak­torisierung ist der fort­laufende Prozess der Verbesserung des Sys­temde­signs, um neuen Anforderun­gen gerecht zu wer­den. Dazu gehört das Ent­fer­nen von Code-Dup­lika­tio­nen, das Erhöhen der Kohä­sion und das Reduzieren von Kop­plun­gen. XP erfordert ständi­ge Refak­torisierung, damit das Code-Design immer ein­fach bleibt.

Vorteile und Nachteile von XP

XP ist umstrit­ten und wird oft von denen kri­tisiert, die es nicht erfol­gre­ich imple­men­tieren kon­nten. Die Vorteile sind jedoch offen­sichtlich, wenn das Team min­destens eine XP-Prak­tik voll ausnutzt.

Zu den Vorteilen des Strebens nach XP gehören:

  • Kun­den­zufrieden­heit: Kun­den erhal­ten das Pro­dukt, das sie benöti­gen, auch wenn sie anfangs keine klare Vision haben.
  • Flex­i­bil­ität: Das Team nimmt schnell Codeän­derun­gen vor und fügt neue Funk­tion­al­itäten hinzu, dank ein­fach­er Codegestal­tung, häu­figer Pla­nung und Releases.
  • Zuver­läs­sigkeit: Der Code funk­tion­iert immer auf­grund ständi­ger Tests und kon­tinuier­lich­er Integration.
  • Wart­barkeit: Das Team kann den Code prob­lem­los warten, da er nach einem ein­heitlichen Stan­dard geschrieben und ständig refak­to­ri­ert wird.
  • Pro­duk­tiv­ität: Schnelles Entwick­lung­stem­po durch Pair Pro­gram­ming, keine Über­stun­den und Kundenbeteiligung.
  • Hochw­er­tiger Code
  • Risiko­min­derung: Entwick­lung Risiken wer­den ver­ringert, da die Ver­ant­wor­tung gle­ich­mäßig verteilt ist und das Pro­jekt nicht durch das Ver­lassen oder den Ein­tritt von Team­mit­gliedern gefährdet wird.
  • Kosten­ef­fizienz: Die Entwick­lungskosten sind niedriger, da sich das Team auf Code anstelle von Doku­men­ta­tion und Meet­ings konzentriert.

Trotz sein­er Vorteile funk­tion­iert XP nicht immer und hat mehrere Schwächen:

  • Kun­den­beteili­gung: Der Erfolg hängt von der Kun­den­beteili­gung ab, was schwierig zu erre­ichen sein kann.
  • Unvorherse­hbare Zeit­pläne: Es ist schwierig, die zeitlichen Kosten eines Pro­jek­ts vorherzusagen, da die voll­ständi­ge Liste der Anforderun­gen zu Beginn unbekan­nt ist.
  • Abhängigkeit vom Fähigkeit­sniveau: XP hängt stark vom Fähigkeit­sniveau der Pro­gram­mier­er ab und funk­tion­iert am besten mit erfahre­nen Fachleuten.
  • Wider­stand des Man­age­ments: Das Man­age­ment wider­spricht oft Pair Pro­gram­ming und hin­ter­fragt die Notwendigkeit, zwei Pro­gram­mier­er anstelle von einem zu bezahlen.
  • Kosten: Häu­fige Meet­ings mit Pro­gram­mier­ern kön­nen für Kun­den teuer sein.
  • Kul­turelle Verän­derun­gen: Die Imple­men­tierung von XP erfordert erhe­bliche kul­turelle Veränderungen.
  • Fehlende Struk­tur: Die fehlende Struk­tur und Doku­men­ta­tion bei XP macht es ungeeignet für große Projekte.
  • Nicht-funk­tionale Anforderun­gen: Funk­tionale Anforderun­gen sind schwierig als Benutzer­sto­ry in agilen Meth­o­d­en zu beschreiben.

Prinzip­i­en von XP

In seinem ersten Buch skizzierte Kent Beck die fol­gen­den Prinzip­i­en von XP: Ein­fach­heit, Kom­mu­nika­tion, Feed­back und Mut. In ein­er späteren Aus­gabe fügte er ein fün­ftes Prinzip hinzu – Respekt.

1. Ein­fach­heit

Die Entwick­lung in XP begin­nt mit der ein­fach­sten Lösung, die den aktuellen funk­tionalen Bedarf deckt. Die Team­mit­glieder berück­sichti­gen nur das, was jet­zt zu tun ist, und inte­gri­eren keine Funk­tion­al­itäten, die möglicher­weise in Zukun­ft benötigt werden.

2. Kom­mu­nika­tion

Die Kom­mu­nika­tion in XP erfol­gt live und nicht durch Doku­men­ta­tion. Das Team kom­mu­niziert aktiv miteinan­der und mit dem Kunden.

3. Feed­back

Feed­back in XP wird auf drei Arten implementiert:
  1. Sys­tem-Feed­back: Durch ständi­ge Modultests.
  2. Kun­den-Feed­back: Der Kunde ist Teil des Teams und beteiligt sich am Schreiben der Abnahmetests.
  3. Team-Feed­back: Während der Pla­nung, hin­sichtlich der Schätzun­gen der Entwicklungszeit.

4. Mut

Einige XP-Prak­tiken sind so unkon­ven­tionell, dass sie Mut und ständi­ge Selb­stkon­trolle erfordern.

5. Respekt

Respekt in XP bedeutet, das Team und sich selb­st zu respek­tieren. Team­mit­glieder soll­ten keine Änderun­gen vornehmen, die die Kom­pilierung, Mod­ul­tests oder die Arbeit der Kol­le­gen behin­dern. Jedes Mit­glied strebt nach der höch­sten Code- und Designqualität.

Imple­men­tierung von XP und der Arbeitsablauf

Kent Beck emp­fiehlt die Imple­men­tierung von XP zur Lösung von Pro­jek­t­prob­le­men. Das Team wählt das drin­gend­ste Prob­lem aus und löst es anhand ein­er der XP-Prak­tiken. Dann gehen sie zum näch­sten Prob­lem über und ver­wen­den eine andere Prax­is. Dieser Ansatz stellt sich­er, dass Prob­leme die Moti­va­tion zur Ein­führung von XP fördern und das Team nach und nach alle Meth­o­d­en­werkzeuge beherrscht.

Um XP in ein beste­hen­des Pro­jekt zu imple­men­tieren, nehmen Sie die fol­gen­den Prak­tiken schrit­tweise an:

  • Testen: Das Team erstellt Tests, bevor es neuen Code schreibt, und refak­to­ri­ert nach und nach alten Code.
  • Design: Das Team refak­to­ri­ert ständig alten Code, nor­maler­weise bevor neue Funk­tion­al­ität hinzuge­fügt wird.
  • Pla­nung: Das Team muss eng mit dem Kun­den interagieren.
  • Man­age­ment: Die Man­ag­er stellen sich­er, dass alle Team­mit­glieder die neuen Regeln befolgen.
  • Entwick­lung: Begin­nen Sie mit der Organ­i­sa­tion von Arbeit­splätzen für Pair Pro­gram­ming und ermuti­gen Sie Paare, die meiste Zeit zusam­men zu programmieren.

Beispiel eines Work­flows unter Ver­wen­dung von XP

Wer nutzt XP

Nach ein­er Umfrage von Ver­sionOne aus dem Jahr 2016 ver­wen­den nur 1% der agilen Unternehmen XP in sein­er reinen Form. Weit­ere 10% ver­wen­den eine Hybrid­form aus Scrum und XP.
Obwohl XP nicht die gängig­ste Methodik ist, wer­den ihre Prak­tiken von den meis­ten Unternehmen, die agile Meth­o­d­en anwen­den, genutzt. So führt Piv­otal Soft­ware, Inc. seinen Erfolg auf XP zurück.

Piv­otal Soft­ware, Inc.

Piv­otal Soft­ware, Inc. entwick­elt Geschäft­s­analyse basierend auf Big Data und bietet Beratungs­di­en­ste an. Ihre Pro­duk­te wer­den von Unternehmen wie Ford, Mer­cedes, BMW, GAP, Humana, großen Banken, Regierungs­be­hör­den und Ver­sicherung­sun­ternehmen genutzt.

Piv­otal unter­stützt agile Meth­o­d­en als entschei­dend für mod­erne Entwick­lun­gen. Unter den agilen Vari­anten wählten sie XP, einen Win-Win-Ansatz für Kun­den und Pro­gram­mierteams. Ihr Arbeit­stag begin­nt mit Stand-up-Meet­ings und endet um 18:00 Uhr — keine Über­stun­den. Piv­otal nutzt Pla­nungsspiele, Pair Pro­gram­ming, ständi­ge Tests, kon­tinuier­liche Inte­gra­tion und andere XP-Praktiken.

Was Sie lesen soll­ten, um XP zu verstehen

  1. Extreme Pro­gram­ming Explained,”, Plan­ning Extreme Pro­gram­ming”, Test-Dri­ven Devel­op­ment” von Kent Beck: Diese Büch­er des Erfind­ers von XP bieten ein tiefes Ver­ständ­nis der Methodik und ihrer Vorteile.
  2. Refac­tor­ing: Improv­ing the Design of Exist­ing Code” von Mar­tin Fowler: Ein Buch eines XP-Mitschöpfers, das die Prinzip­i­en und Tech­niken der Refak­torisierung erklärt.
  3. Extreme Pro­gram­ming Applied: Play­ing to Win” von Ken Auer und Roy Miller: Ein prak­tis­ch­er Leit­faden zu XP-Prak­tiken mit Beispielen.

Werkzeuge zur Imple­men­tierung von XP in Teams

Red­mine

Ein kosten­los­es, Open-Source-Auf­gaben­man­age­mentsys­tem mit Funk­tio­nen wie Unter­stützung für mehrere Pro­jek­te, flex­i­ble Auf­gabev­er­wal­tung, Gantt-Dia­gramme, Zeitver­fol­gung, Doku­men­ta­tionsver­wal­tung und Auf­gaben­er­stel­lung per E‑Mail.

Base­camp


Ein ein­fach­er, benutzer­fre­undlich­er Dienst für die kol­lab­o­ra­tive Pro­jek­tar­beit, ein­schließlich eines Auf­gaben­man­agers, Mes­sage Boards, inte­gri­ertem Chat, Dateis­pe­icherung und Kalender.

Jira


Ein leis­tungsstark­er Dienst, der für agile Pro­jek­ten­twick­ler konzip­iert wurde und einen Fehlerver­fol­ger und ein Pro­jek­t­man­age­ment-Tool mit vie­len Funk­tio­nen und Syn­chro­ni­sa­tion­s­möglichkeit­en kombiniert.

Work­sec­tion


Ein sicher­er Dienst für Pro­jek­tar­beit, der das Set­zen von Auf­gaben und die Prozesskon­trolle, die Nachver­fol­gung von Kor­re­spon­den­zen, die Anpas­sung von Fil­tern, die Zeit- und Finanzver­fol­gung sowie die Dateiver­wal­tung ermöglicht.

Faz­it

Extreme Pro­gram­ming ist eine agile Methodik, die sich auf die Her­stel­lung von hochw­er­tigem, funk­tionalem Code mit ein­er ein­fachen Architek­tur konzen­tri­ert. Ihr Zweck ist es, Unsicher­heit­en in Pro­jek­ten zu reduzieren und flex­i­bel auf sich ändernde Pro­duk­tan­forderun­gen zu reagieren. 

XP ist auss­chließlich für die Soft­wa­reen­twick­lung gedacht und lässt sich nicht auf andere Unternehmen anpassen. 
Es ist eine der her­aus­fordernd­sten Method­olo­gien zur Imple­men­tierung auf­grund sein­er dreizehn Prak­tiken. Den­noch sind seine Prak­tiken in agilen Pro­jek­ten weit ver­bre­it­et und beweisen ihre Wirksamkeit.

Die Autoren rat­en dazu, die XP-Prak­tiken schrit­tweise zu beherrschen, während sie Pro­jek­t­prob­leme lösen. Wenn Sie die Vorteile sehen, fahren Sie im sel­ben Geist fort. Es beste­ht keine Verpflich­tung, XP entwed­er voll­ständig oder gar nicht zu imple­men­tieren. Schließlich soll­ten agile Meth­o­d­en flex­i­bel in der Anwen­dung sein – angepasste Lösun­gen an die Bedürfnisse des jew­eili­gen Projektteams.

esc
Teilen auf
или
PM-Schule
Screenshots alle 10 Minuten. URL-Protokolle. Keylogging. Das klingt nach Überwachung, nicht nach Management — oder? Time Doctor war einer der ersten ernsthaften Zeiterfassungstools mit Produktivitätsüberwachung...
5 Februar 2026   •   15 min read
PM-Schule
Toggl Track bleibt aufgrund seiner minimalistischen Benutzeroberfläche beliebt, aber im Jahr 2026 benötigen Teams mehr: erweiterte Analysen, transparente Berichte für Kunden, automatische Zeiterfassung...
5 Februar 2026   •   18 min read
PM-Schule
Die Uhr tickt. Budgets warten nicht. Startest du den Timer immer noch manuell jedes Mal, wenn du die Aufgaben wechselst? Im Jahr 2026 gibt es Tools, die das für dich übernehmen — und noch viel mehr. Clockify...
5 Februar 2026   •   13 min read
Jetzt loslegen
Bitte geben Sie Ihre echte E-Mail-Adresse ein 🙂