XP - Extreme Programming

 

10-Minuten-Build

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

ten-minute build

Definition

Die »XP-Praktik 10-Minuten-Build gibt als Ziel vor, dass innerhalb von zehn Minuten das gesamte Produkt automatisiert gebaut und getestet werden kann.

Erläuterung

Eine Idee hinter 10-Minuten-Builds ist, dass länger dauernde Builds und Tests nicht oft genug durchgeführt werden und dann Fehler verspätet bzw. zu spät entdeckt werden.

Weiterhin soll die »XP-Praktik 10-Minuten-Build dafür sorgen, dass Builds und Tests klein und schnell genug sind und bleiben, um sie auf dem Arbeitsrechner eines »Entwicklers unabhängig von anderen durchführen zu können.

10-Minuten-Builds unterstützen die »kontinuierliche Integration und werden durch die »XP-Praktik »Test-Driven-Programming unterstützt.

Beispiele

 
 

40-Stunden-Woche

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

keine Überstunden

Englisch

40-hour week

Definition

Die »XP-Praktik 40-Stunden-Woche beschränkt die Zahl der Arbeitsstunden von »Entwicklern pro Woche.

Erläuterung

Die Begrenzung der Arbeitsstunden pro Woche soll schnelles und effizientes Arbeiten mit hohem Qualitätsanspruch und einen ausgeruhten Arbeitsbeginn ermöglichen, sowie einen Burnout verhindern.

Eine Idee der 40-Stunden-Woche ist, dass eine derartige Beschränkung Voraussetzung dafür ist, die Entwicklungsgeschwindigkeit über einen langen Zeitraum aufrecht zu erhalten.

Überstunden sollen nur dann gemacht werden, wenn es in der Vorwoche keine Überstunden gab

»Entwickler sollen nicht mehr als 45 bis 48 Stunden pro Woche arbeiten.

Beispiele

.

 
 

Dreimonatsrhythmus

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

quarterly cycle

Definition

Die »XP-Praktik Dreimonatsrhythmus legt fest, dass alle drei Monate ein »Release basierend auf dem übergreifenden Plan des »Kunden ausgeliefert werden soll.

Erläuterung

Der Dreimonatsrhythmus entstammt einer Zeit, in der »Releases alle drei Monate noch eine Ausnahme waren.

Mit erweiterten Fähigkeiten, z. B. Continuous Deployment, kann der Dreimonatsrhythmus als der maximale Zeitraum verstanden werden, bis zu dem ein weiteres Release ausgeliefert werden sollte.

Beispiele

.

 
 

Einfaches Design

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

Einfacher Entwurf

Englisch

simple design

Definition

Einfaches Design ist die »XP-Praktik, Systemstrukturen so einfach wie möglich zu halten - unter Beachtung auch von nicht explizit formulierten Anforderungen.

Erläuterung

Nicht explizit formulierte Anforderungen können z. B. Sicherheitsanforderungen, Datenschutz, Performanz usw. sein.


Einfaches Design wird z. B. verhindert durch


  • Strukturen und Implementierungen auf Vorrat, die durch Antizipation nicht gestellter Anforderungen entstehen,
  • Überbleibsel nach der Entfernung von Funktionen.


„Das System sollte zu jedem Zeitpunkt so einfach wie möglich strukturiert sein. Lösen Sie unnötig komplexe Strukturen auf, sobald Sie diese entdecken.“

Kent Beck: Extreme Programming. Das Manifest. [Be03], S. 54

»Refactoring und >>testgetriebene Entwicklung|Testgetriebene Entwicklung< sind wesentliche Mittel zur Erreichung eines einfachen Designs.

Beispiele

.

 
 

Energized Work

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

Energiegeladene Arbeit

Englisch

energized work

Definition

Die »XP-Praktik Energized Work bedeutet, dass Schritte unternommen werden, die es den Teammitgliedern ermöglichen, konzentriert und frei von Ablenkungen zu arbeiten.

Erläuterung

Um ablenkungsfrei, konzentriert und motiviert zu arbeiten, soll dafür gesorgt werden, dass die Beteiligten

  • sich nicht überanstrengen,
  • nicht von anderen in eine Überanstrengung getrieben werden,
  • gesund bleiben,
  • körperlich und geistig leistungsfähig sind und
  • achtsam miteinander umgehen.

Das Team darf weder von innen noch von außen unter Druck gesetzt werden, Zusagen zu machen, die nicht oder schwer einhaltbar sind.

Siehe auch die »XP-Praktik »40-Stunden-Woche.

Beispiele

0

 
 

Informative Arbeitsumgebung

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

informative workspace

Definition

Die »XP-Praktik Informative Arbeitsumgebung stellt jederzeit alle Informationen zum Stand der Arbeit des Teams und des zu entwickelnden Produkts zur Verfügung, indem diese aktiv an Teammitglieder und Stakeholder verteilt werden.

Erläuterung

Häufig fließt die informative Arbeitsumgebung in die Gestaltung des Teamraums ein, in dem das Team (»Whole Team) physisch »zusammen sitzt.
Oft wird der Bearbeitungsstand unter Nutzung von »Story-Cards und ähnlichem auf einer Tafel oder einer Wand (»Task-Board) visualisiert.

Zur informativen Arbeitsumgebung gehören auch aktuelle Architekturskizzen, die Teamregeln und gegebenenfalls Maßnahmen aus »Retrospektiven.

Beispiele

.

 
 

Inkrementelles Design

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

incremental design

Definition

Die »XP-Praktik Inkrementelles Design ist eine Vorgehensweise, bei der sich die »Entwickler zuerst einen groben Überblick über die Systemarchitektur verschaffen und erst bei der Implementierung der einzelnen Funktionalitäten die dazu notwendigen Designentscheidungen treffen.

Erläuterung

Inkrementelles Design ermöglicht, Designentscheidungen so lange zu verzögern, bis diese unabdingbar werden, dann aber unter Einbezug von mehr Informationen und Erfahrungen getroffen werden können.
Bei Bedarf erlaubt »Refactoring eine Anpassung der Systemarchitektur in späteren »Iterationen.

Inkrementelles Design soll die Kosten von Änderungen am Source-Code reduzieren.

Inkrementelles Design passt sehr gut zu »iterativem Vorgehen.

Beispiele

.

 
 

Kunde (XP)

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

customer

Definition

Die Rolle Kunde (XP) ist in »XP verantwortlich für die Fachlichkeit im Projekt.

Erläuterung

Kernkompetenz eines Kunden (XP) ist, zu wissen, was entwickelt werden soll.

Ein Kunde (XP)

  • trifft alle geschäftsrelevanten, das Projekt betreffenden Entscheidungen,
  • schreibt, erklärt und entscheidet über »Storys bzw. »User-Storys,
  • spezifiziert funktionale Tests sowie Akzeptanzkriterien,
  • gibt Prioritäten vor und
  • entscheidet, wann ein Projekt beendet wird.

Ein Kunde (XP) kann ein Endbenutzer sein, muss aber nicht.

Idealerweise ist der Kunde (XP) eine einzelne, in das Team integrierte und aktiv mitwirkende Person.

Siehe auch die »XP-Praktik »Kunde vor Ort.

Beispiele

.

 
 

Kundentest

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

customer test

Definition

Die »XP-Praktik Kundentest fordert ein, dass »Kunden (XP) für die Erstellung automatisierter Abnahmetests für das Produkt verantwortlich sind.

Erläuterung

Die automatisierten Abnahmetests basieren auf den >>Storys|Storys< und werden von »Entwicklern und »Kunden (XP) gemeinsam erstellt.

Automatisierte Kundentests werden von »Entwicklerngenauso genutzt wie die automatisierten Unit- und Integrations-Tests.

Beispiele

.

 
 

Kunde vor Ort

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

on-site customer, embedded customer

Definition

Kunde vor Ort ist eine »XP-Praktik, die verlangt, dass ein fachlicher Wissensträger jederzeit zur Verfügung steht, um Fragen zum »Software-Anwendungssystem aus Auftraggeber-, Anwender- bzw. Geschäftssicht schnell zu beantworten und Prioritäten zu setzen.

Erläuterung

Ein Kunde vor Ort führt dazu, dass »Anforderungen an das zu entwickelnde »System zeitnah, schnell und aus Entwicklersicht effizient ermittelt werden können.

Ohne Kunde vor Ort besteht die Gefahr, dass durch spät aufgedeckte Missverständnisse hoher Zusatzaufwand entsteht.

Das Freistellen eines Mitarbeiters auf Kundenseite, damit dieser als Kunde vor Ort tätig sein kann, ist allerdings mit Aufwand verbunden und organisatorisch oft schwierig.

Beispiele

.

 
 

Kurzer Releasezyklus

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

Kleine Releases, kleine Freigaben

Englisch

small releases

Definition

Ein kurzer Releasezyklus ist die »XP-Praktik, sowohl die erste Version eines Produkts schnell auszuliefern als auch das Produkt durch oft ausgelieferte inkrementelle Änderungen in kurzen Iterationen weiter zu entwickeln.

Erläuterung

Die »XP-Praktik der kurzen Releasezyklen führt zum »XP-Prinzip der schnellen Rückmeldungen und ermöglicht es, Fehler und Fehlentwicklungen schnell zu erkennen und zu beheben, sowie ergänzende Produktideen aufnehmen zu können.

Jeder Releasezyklus soll einen Nutzen für »Kunden(XP) bringen.

»Kontinuierliche Integration unterstützt kurze Releasezyklen.

Beispiele

XP-Autoren nennen als Zeitspanne für kurze Releasezyklen eine Woche bis drei Monate.

 
 

Metapher (XP)

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

Systemmetapher

Englisch

metaphor, system metaphor

Definition

Metapher (XP) ist eine »XP-Praktik, die die Funktionsweise bzw. Architektur eines »Systems anhand eines anschaulichen Beispiels aus einer anderen, bekannteren Domäne veranschaulicht und damit die Entwicklung des »Systems leiten soll.

Erläuterung

Eine Metapher soll ein gemeinsames Verständnis (englisch: common vision) aller an der Produktentwicklung Beteiligten herbeiführen.

Metaphern werden nur von wenigen XP-Teams verwendet, weil oft eine geeignete Metapher nicht zu finden ist oder Metaphern zu stark verkürzen.

Beispiele

„Im originalen Chrysler-Projekt C3 [von Kent Beck], das die Entwicklung einer Lohn- und Gehaltslisten-Software zum Ziel hatte und das erste dokumentierte XP-Projekt war, war die Systemmetapher ein Bild aus der Automobilproduktion. Die Software wurde mit einer Automobilproduktionslinie verglichen, weil man davon ausging, dass alle Chrysler-Mitarbeiter mit dieser Begriffswelt vertraut waren.“

Eckhard Hanser: Agile Prozesse: Von XP über Scrum bis MAP. [Ha10] S. 28

In diesem Sinne durchläuft also ein Gehaltszettel Bearbeitungsstationen, an denen ihm z. B. Zuschläge hinzugefügt werden oder Steuern und Abgaben entnommen werden bis er zur Auszahlungsstation läuft.

“this program works like a hive of bees, going out for pollen and bringing it back to the hive” as a description for an agent-based information retrieval system (Ron Jeffries, https://ronjeffries.com/xprog/what-is-extreme-programming/, besucht am 2020-05-14).

 
 

Paarprogrammierung

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

Tandemprogrammierung, Programmierung in Paaren

Englisch

pair programming

Definition

Paarprogrammierung ist eine »Methode zur gemeinsamen Entwicklung von Source-Code durch zwei »Entwickler, von denen jeweils nur einer aktiv den Source-Code editiert.

Erläuterung

Gemäß »XP soll der gesamte im produktiven »System enthaltene Source-Code mittels Paarprogrammierung entwickelt werden, um eine qualitativ höherwertige Software zu erhalten.

Paarprogrammierung wirkt wie ein laufendes Review des Source-Codes gemäß des »XP-Prinzips der schnellen Rückmeldungen.

Paarprogrammieren hat positive Effekte auf die »Collective-Code-Ownership, da kein Source-Code nur von einer Person entwickelt wird und so schon mindestens zwei darüber etwas wissen und über wechselnde Paare über die Zeit sich das Wissen auf weitere Teammitglieder verteilt.

„Die beiden nehmen dabei zwei verschiedene »Rollen ein. Ein Partner, derjenige mit der Tastatur und der Maus, denkt darüber nach, wie sich eine »Methode hier und jetzt am besten implementieren lässt.

Der andere Partner denkt strategischer:

  • Kann der gesamte Ansatz funktionieren?
  • Welche anderen Testfälle gibt es, die möglicherweise noch nicht funktionieren?
  • Gibt es eine Möglichkeit, das gesamte »System so weit zu vereinfachen, dass sich das aktuelle Problem wie von selbst löst?

Paare sind veränderlich. Daher ist es durchaus möglich, dass zwei Personen, die sich morgens zusammentun, am Nachmittag mit anderen Partnern arbeiten. Wenn Sie für eine Aufgabe in einem Bereich verantwortlich sind, der Ihnen nicht vertraut ist, dann können Sie jemanden, der Erfahrung im betreffenden Bereich hat, fragen, ob er Ihr Partner werden möchte. Häufiger ist es aber so, dass sich jedes Teammitglied als Partner eignet.“ [Be03], S. 59.

Neben dem gemeinsamen Verständnis für die fachliche Aufgabe und deren technische Umsetzung kann Paarprogrammierung für ein gegenseitiges Lernen im Umgang mit den Softwareentwicklungs-Werkzeugen sowie ein Angleichen und Verbessern der »Kodierrichtlinien.

Viele »Entwicklerberichten, dass durch Paarprogrammierung eine konstruktive, vorteilhafte Zusammenarbeit entsteht.

Einige wissenschaftliche Studien haben Paarprogrammierung näher untersucht. Dabei wurden verschiedene Aspekte beleuchtet und nicht immer übereinstimmende Ergebnisse dokumentiert.

Diese Studienergebnisse deuten darauf hin, dass

  • Paarprogrammierung sich insbesondere bei komplexen Aufgaben lohnt, bei denen die Lösung schneller erarbeitet wird und
  • besser ausfällt als bei Einzelprogrammierung, d. h. eine höhere Qualität bei verringerten Fehlersuch-Aufwänden erreicht wird.
  • in einigen Untersuchungen eine kürzere Entwicklungszeit und ein höherer Personalaufwand ermittelt und
  • in anderen Untersuchungen zur Gesamtprojektlaufzeit ein geringerer Gesamtprojektaufwand berichtet wurde.
  • Paarprogrammierung bei damit nicht vertrauten Entwicklern erhöhten Stress auslösen kann.

Wenn mehr als zwei Personen zusammen programmieren, wird dies oft “Mob-” bzw. “Ensemble-Programming” genannt.

Beispiele

Für die Entwicklungsumgebung Eclipse gibt es eine Erweiterung zur verteilten Paarprogrammierung.

 
 

Planungsspiel

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

Planning Game

Definition

Ein Planungsspiel wird in einer Sitzung am Anfang einer »Iteration durchgeführt, bei der die »Entwickler und der bzw. die »Kunden (XP) zusammenkommen, um die in der »Iteration umzusetzenden »Features durchzusprechen und deren Umsetzung ausreichend detailliert zu planen.

Erläuterung

Im Planungsspiel notiert der »Kunde (XP) seine »Anforderungen auf »Story-Cards (einfache Karteikarten genügen) und erläutert diese bei Bedarf. Die »Entwickler schätzen dann die »Storys bezüglich ihres Realisierungsumfangs. Schließlich priorisiert der »Kunde (XP) die »Storys und die »Entwickler zerlegen die priorisierten »Storys in »Tasks.

Einige Autoren sehen auch die Planung der »Releases als Teil des Planungsspiels.

Beispiele

Die Webseite http://c2.com/cgi/wiki?PlanningGame [Wi13] beschreibt die Praktik Planungsspiel ausführlich.

 
 

Slack

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

slack

Definition

Die »XP-Praktik Slack gibt vor, dass das Team zusätzliche »Aufgaben vorbereitet, die durchgeführt werden, wenn die Umsetzung der im Zeitraum fest geplanten Aufgaben schneller geht als erwartet.

Erläuterung

Diese zusätzlichen »Aufgaben können weitere fachliche »Storys, aber auch nicht unbedingt notwendige »Refactorings bzw. der Abbau technischer Schulden sein.

Slack ermöglicht es, Leerlauf durch Unsicherheiten von Schätzungen zu vermeiden.

Slack wird sowohl im »Wochenrhythmus als auch im »Dreimonatsrhythmus praktiziert.

Beispiele

.

 
 

Softwareentwickler (XP)

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

Programmierer, Entwickler

Englisch

programmer, extreme programmer, developer

Definition

Die »Rolle Softwareentwickler (XP) ist die spezialisierte Benennung von »Entwicklern in »XP und ist verantwortlich für die Schätzung von Aufwand und Dauer der Umsetzung von »Storys und »User-Storys, für die Planung der durchzuführenden »Tasks, der Implementierung selbst, der Unit- und evtl. Kunden-Tests.

Erläuterung

Softwareentwickler in »XP haben meist unterschiedliche Kenntnisse und Erfahrungen, das Entwicklungsteam ist deshalb cross-funktional.

Beispiele

.

 
 

Spike

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

Durchstich; vertikaler Prototyp; technischer Prototyp

Englisch

spike, spike solution

Definition

Spike bezeichnet bei »XP sowohl ein XP-spezifisches kurzes »Prototyping zur Erkundung technischer Aspekte als auch dessen Ergebnis.

Erläuterung

Spikes werden als kurze, zeitbegrenzte Aktivitäten zum Projekt durchgeführt.

Ein Spike dient der Minimierung von technischen Risiken und zur Verbesserung der Genauigkeit von Schätzungen.

Beispiele

.

 
 

Storys

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

stories

Definition

Die »XP-Praktik Storys soll kurze Beschreibungen, bzw. verständliche Stichworte erstellen, die dokumentieren, was das Produkt für Kunden und Benutzer tun soll.

Erläuterung

In »XP wird der Begriff “Story” in der Mehrzahlform für die »XP-Praktik “Storys” sowie für die durch diese Praktik erstellten kurzen Beschreibungen selbst verwendet.

Storys können für die Planung verwendet werden.

In Gesprächen von »Entwicklern, Stakeholdern usw. dienen Storys als Merkhilfen.

Storys in »XP sind nicht deckungsgleich zu »User-Storys.

Beispiele

.

 
 

Sustainable-Pace

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

sustainable pace

Definition

Die »XP-Praktik Sustainable-Pace soll erreichen, dass der Arbeitsumfang von »Entwicklern derart beschränkt wird, dass er dauerhaft leistbar ist.

Erläuterung

Die »XP-Praktik Sustainable-Pace basiert auf der Erkenntnis, dass bei Wissensarbeit Mehrarbeit oft nicht mehr erreicht und dass müde »Entwickler mehr Fehler machen.

Sustainable-Pace wird auch in den »XP-Praktiken »40-Stunden-Woche und »Energized Work angesprochen.

Sustainable-Pace fordert implizit auf, nur in Ausnahmefällen mit Überstunden zu planen.

Beispiele

35-Stunden-Arbeitswoche gemäß Tarifvertrag

Schulstunden mit einer Länge von 45 Minuten mit anschließender kurzer Pause

 
 

Test-Driven-Programming

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

test-driven programming

Definition

Test-Driven-Programming ist eine »XP-Praktik, bei der zuerst automatisierte Tests geschrieben werden und dann eine Software realisiert wird, die diese Tests erfüllt.

Erläuterung

Test-Driven-Programming unterstützt die iterative Entwicklung: Im ersten Schritt werden ein oder wenige Tests für eine neue Funktionalität erstellt. Im Schritt 2 werden die Tests mit dem aktuellen Stand der Software durchgeführt, um zu klären, ob sie - wie zu erwarten - Fehler finden. Wenn die Tests Fehler finden, wird im Schritt 3 programmiert. Die Schritte 2 und 3 werden wiederholt, bis kein Test mehr einen Fehler findet.

Beim Test-Driven-Programming wirken Tests wie “ausführbare Anforderungen”.
Test-Driven-Programming unterscheidet sich von »Test-First-Development durch die Bedeutung der Tests.

Bei Test-Driven-Programming steuern die Tests die Programmierung, beim »Test-First-Development prüfen die Tests die Programmierung.

Test-Driven-Programming geht von der impliziten Annahme aus, dass Tests initial richtig sind und später nicht verändert werden dürfen.

Test-Driven-Programming geht von der impliziten Annahme aus, dass das gewünschte Verhalten initial durch die Tests richtig erfasst wird. Andernfalls müssen die Tests angepasst werden.

Beispiele

.

 
 

Whole Team

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

Vollständiges Team

Englisch

whole team

Definition

Die »XP-Praktik Whole Team soll dazu führen, dass alle »Rollen, die zur Arbeit an einem Produkt bzw. Projekt erforderlich sind, funktionsübergreifend zusammenwirken.

Erläuterung

Sowohl die Personen, die einen Bedarf haben, als auch die, die diesen Bedarf befriedigen, arbeiten tagtäglich interdisziplinär zusammen, um das gewünschte Ergebnis zu erreichen.

Z. B. setzen die »Entwickler im Team die »Anforderungen der »Kunden (XP) um.

»XP legt nicht fest, welcher Bedarf direkt durch das Team befriedigt werden soll.

Das Team soll »zusammen sitzen, inklusive des »Kunden vor Ort.

Beispiele

.

 
 

Wochenrhythmus

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

Wöchentlicher Zyklus

Englisch

weekly cycle

Definition

Die »XP-Praktik Wochenrhythmus legt fest, dass pro Woche eine »Iteration durchgeführt wird, mit dem Ziel, am Ende der Woche dem »Kunden (XP) getestete und laufende Funktionen vorlegen zu können, so dass dieser schnelle Rückmeldungen (»XP-Prinzipien) geben kann.

Erläuterung

Am ersten Tag der Woche trifft sich das Team, um den Stand zu besprechen. Dazu entscheidet der »Kunde (XP), welche »Storys in der Woche umgesetzt werden sollen.

Danach plant das Team die Umsetzung der »Storys.

Einige Autoren empfehlen einen Zwei-Wochen-Rhythmus.

Der wöchentliche Zyklus muss nicht Montag beginnen.

Beispiele

.

 
 

XP-Praktiken

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

XP practices, extreme programming practices

Definition

Die XP-Praktiken sind die in den XP-Dokumenten beschriebenen Praktiken zur Umsetzung der »XP-Werte und »XP-Prinzipien.

Erläuterung

»XP beschreibt ursprünglich, (Beck, K …; Cunningham,W.; Jeffries, R.) zwölf »Praktiken die gewöhnlich in vier Gruppen sortiert werden:

Später wurden die XP-Praktiken umgearbeitet, ergänzt und als Hauptpraktiken (primary practices) dokumentiert:

Die XP-Praktiken unterstützen sich gegenseitig und sollen gemeinsam genutzt werden.
www.XProgramming.com visualisiert XP-Praktiken und deren Zusammenhang durch:


Kent Beck führt im überarbeiteten Buch weitere Praktiken auf, von ihm “corollary practices” genannt:

  • Real Customer Involvement (Richtige Kundeneinbeziehung)
  • Incremental Deployment (Inkrementelles Ausrollen)
  • Team Continuity (Team-Konstanz, Teamkontinuität)
  • Shrinking Teams (Schrumpfende Teams)
  • Root Cause Analysis (Ursachenanalyse)
  • Shared Code (Gemeinsamer Quelltext, Geteilter Code)
  • Code and Tests (Kodierung und Testen)
  • Single Code Base (Eine zentrale Codebasis, eine Quelltextbasis)
  • Daily Deployment (Tägliches Ausrollen, tägliche Ausbreitung)
  • Negotiated Scope Contract (Vertrag mit verhandelbarem Umfang, verhandelbarer, vertraglicher Funktionsumfang)
  • Pay per Use (Bezahlung pro Nutzung)

Stefan Roock stellt dies in einer Grafik so dar:



H. Wolf und W. G. Bleek [WoBl11] führen die Corollary-Praktiken als die elf Folgepraktiken weiter aus.

Beispiele

.

 
 

XP-Prinzipien

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

XP principles

Definition

»XP hat aus den »XP-Werten abgeleitete »Prinzipien.

Die fünf meistgenannten sind:

  • schnelle Rückmeldungen
  • angestrebte Einfachheit
  • inkrementelle Änderungen
  • Veränderungen annehmen
  • Qualität der Arbeit

Erläuterung

Die XP-Prinzipien sollen die »XP-Werte konkretisieren und handhabbarer machen.

Schnelle Rückmeldungen (englisch: rapid feedback) sollen den Teammitgliedern das Verstehen der eingegangenen Feedbacks und eine sofortige Reaktion ermöglichen. Sie werden durch “kleine” Freigaben einzelner »User-Storys und Modultests möglich gemacht.

Angestrebte Einfachheit (englisch: assumed simplicity) soll bewirken, dass sich die Softwareentwickler auf die »Aktivitäten konzentrieren, die jeweils wichtig sind und den Leitsätzen YAGNI (You Ain’t Gonna Need It, deutsch: Es wird nicht gebraucht werden) und DRY (Don’t Repeat Yourself, deutsch: Keine Wiederholungen) folgen.

Inkrementelle Änderungen (englisch: incremental changes) sollen bewirken, dass das Produkt in kleinen Schritten weiterentwickelt wird. Die Idee dahinter ist, dass Schritt für Schritt vorgenommene kleine Änderungen besser sind, als auf einmal vorgenommene große Änderungen.

“Veränderungen annehmen” (englisch: embracing changes) soll bewirken, dass »Entwickler Ideen von »Kunden (XP) bzw. Nutzern der Software zu Änderungen bzw. Weiterentwicklungen begrüßen, unterstützen und dass sie deren Umsetzung planen.

Qualität der Arbeit (englisch: quality work) soll bewirken, dass ein gut arbeitendes Team ein wertvolles Produkt herstellt, auf das es stolz sein kann.

In der zweiten Ausgabe des Buchs “Kent Beck, Cynthia Andres: Extreme Programming Explained - Embrace Change” [BeAn04] werden teils andere Prinzipien beschrieben.

Beispiele

.

 
 

XP-Rollen

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

XP roles

Definition

Die XP-Rollen sind die in XP-Dokumenten beschriebenen »Rollen:
Coach
»Kunde (XP)
Manager
Schwarzseher
»Entwickler
Tester
Tracker

Erläuterung

Ein Coach in »XP ist eine Spezialisierung des »agilen Coach und ist dafür verantwortlich, dass ein Team und sein Umfeld gemäß den »XP-Werten, »XP-Prinzipien und »XP-Praktiken handelt.

Ein Coach beobachtet die Arbeit eines Teams und dessen Umfeld und greift ein, wenn es Verstöße gibt. Die XP-Rolle Coach wird nicht immer besetzt.

»Entwickler, die neu in »XP einsteigen, wird ein Coach als Mentor empfohlen.

Die XP-Rolle Manager (Synonym: Terminmanager, englisch: XP manager, IT manager) ist verantwortlich für administrative »Aufgaben innerhalb des XP-Projekts und dessen Umfeld.

Administrative Aufgaben eines Managers sind

  • Planung und Leitung von Sitzungen
  • Protokollierung von Sitzungen
  • Sicherstellung, dass in Sitzungen gemäß »Entwickler, die neu in »XP vorgegangen wird
  • Teilnahme an relevanten Sitzungen außerhalb des XP-Projekts
  • Kommunikation mit Projekt-Externen
  • Bereitstellung der Arbeitsumgebung
  • Personalmanagement, wie Urlaubsanträge, Arbeitszeitkontrolle usw.
  • Teambildung

Ein Manager hat im wesentlichen die klassischen Manager-Verantwortlichkeiten, außer dass er keine Arbeitsaufträge erteilt. Diese erteilen sich die »Entwickler selbst.

In einigen XP-Projekten führt ein Tracker einen Teil der Manageraufgaben durch.

Die XP-Rolle Schwarzseher (englisch: doomsayer) stellt sicher, dass die »Entwickler kein kritisches Problem übersehen, indem sie alle kritischen Probleme an die »Entwickler selbst oder den »Kunden (XP) kommuniziert. Sie wird nicht immer ausgefüllt.

Beim Ensemble (Mob) Programming (einer Variante des »Paarprogrammierens) ist eine ähnliche Rolle verbreitet und nennt sich Advocatus Diaboli (englisch: devil’s advocate).

Die XP-Rolle Tester (englisch: tester, functional tester) ist in »Entwickler, die neu in »XP verantwortlich für die Implementierung und Durchführung funktionaler Tests, die Visualisierung der Ergebnisse und dafür, dass Stakeholder über die Ergebnisse der funktionalen Tests informiert sind.

Im Gegensatz zu funktionalen Tests werden Unit-Tests in »XP von »Entwicklern entwickelt und durchgeführt.

Die XP-Rolle Tracker (synonyme: Terminmanager, Fortschrittsmanager, englisch: tracker) ist in »XP verantwortlich für die Erhebung von Daten zum Stand der Entwicklung (Aufwand, Termineinhaltung und so weiter), deren Visualisierung, deren Bereitstellung für Stakeholder. Darüber hinaus kann er Maßnahmen unterschiedlichster Art vorschlagen.
Nicht alle Teams, die »Entwickler, die neu in »XP nutzen, machen die XP-Rolle Tracker explizit.

In der zweiten Ausgabe des Buchs “Kent Beck, Cynthia Andres: Extreme Programming Explained - Embrace Change” [ ] werden teils andere Rollen beschrieben, auch Verteilung und Zuweisung von Rollen zu den »Teammitgliedern wird anders beschrieben.

Beispiele

.

 
 

XP-Werte

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

XP values

Definition

»XP hat fünf übergeordnete Werte.

Diese sind:

  • Kommunikation
  • Einfachheit
  • Feedback
  • Respekt
  • Mut

Erläuterung

Die XP-Werte stehen für erwartete Denk- und Verhaltensweisen der Teammitglieder eines XP nutzenden Teams. Die Teammitglieder sollen durch die XP-Werte motiviert werden, auf dem Weg zu einem gemeinsamen Ziel ihr Bestes zu geben.

Kommunikation (XP-englisch: communication) bedeutet bei »XP

  • überwiegend direkte persönliche Gespräche
  • schnelle Rückmeldungen (»XP-Praktiken) als wesentlicher Bestandteil
  • konstruktive Zusammenarbeit in allen Phasen eines Projekts
  • den Aufbau und das Beibehalten eines gemeinsamen Verständnisses zum Projekt, zwischen »Entwicklern, »Kunden (XP) usw.

Zur Entwicklungsdokumentation sind laut »XP nur »Storys, Source-Code und Tests erforderlich. Weitere Dokumente zur Kommunikation werden von »XP abgelehnt.

Einfachheit (XP-englisch: simplicity, rule of simplicity) steht bei »XP dafür, dass

  • »Entwickler sich bemühen, einfachen Source-Code zu schreiben und ein möglichst einfach strukturiertes System zu entwickeln, da ein einfacher Source-Code dem Produkt mehr Wert verleiht, indem dieser Zeit und Mühe spart und später auch wieder leichter erweiterbar ist.
  • nur die feststehenden und bekannten »Anforderungen umgesetzt werden und nicht irgendwelche, vielleicht irgendwann einmal dazu kommenden.

Einfachheit im Design und im Source-Code unterstützt laut »XP die Kommunikation, da diese von mehr Personen schneller verstanden werden können.

Feedback bei »XP steht dafür, dass die »Entwickler häufig Software-Stände liefern, zu diesen schnell Rückmeldungen (»XP-Praktiken) erhalten und diese dazu nutzen, das Produkt und die Arbeitsweisen zu verbessern.

»XP kennt drei Quellen für Feedback:

  • vom System, speziell aus durchgeführten (Modul-) Tests
  • von »Kunden (XP)
  • vom Team

Der XP-Wert Respekt bedeutet in »XP, dass alle Teammitglieder und alle weiteren dem Projekt zugeordneten Personen jederzeit zum gemeinsamen Projektziel beitragen und dabei freundlich, konstruktiv, offen und respektvoll miteinander umgehen.

Viele Autoren relativieren den XP-Wert “Respekt”, indem sie ihn so interpretieren, dass mit ihm überwiegend “Rücksichtnahme auf sich und andere” und “gegenseitige Achtung” sowie Achtsamkeit gemeint sei.

Der XP-Wert Mut (englisch: courage) bedeutet in »XP, dass »Entwickler ihre eigenen Ergebnisse objektiv und ohne Rechtfertigungen bewerten und immer bereit sind, auf Änderungsvorschläge zu reagieren und diese sowie Verbesserungsvorschläge anzunehmen. Zu Mut gehört auch, suboptimalen Source-Code wegzuwerfen und durch besseren zu ersetzen, sowie eine suboptimale Architektur zu »refaktorieren.

Die »XP-Prinzipien leiten sich aus den XP-Werten ab und sollen diese konkretisieren und handhabbarer machen.

Beispiele

.

 
 

Zusammensitzen

Begriffssammlung

Agile Methoden

Themenbereich

XP

Synonyme

.

Englisch

sit together

Definition

Gemäß der »XP-Praktik Zusammensitzen sollen die Mitwirkenden am Projekt physisch in einem Raum ohne Kommunikationsbarrieren, wie z. B. Trennwände, zusammensitzen.

Erläuterung

Zusammen in einem Raum zu arbeiten fördert die persönliche Kommunikation durch direkte Gespräche.

Im selben Raum sollen auch Kommunikationsmittel wie Tafeln und Projektionsflächen verfügbar sein, die eine Kommunikation im gesamten Team (»Whole Team) unterstützen und Teil der »informativen Arbeitsumgebung sind.

Beispiele

.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



Der gesuchte Begriff

ist zur Zeit in Bearbeitung und im Web noch nicht verfügbar.