eXtreme Programming in a Nutshell 4/4 – XP-Techniken

Das ist nun der vierte und letzte Teil der Serie “eXtreme Programming in a Nutshell”. Die ersten Teile findet ihr hier:

XP-Techniken

Um das Einhalten der Prinzipien und Werte, die XP vorgibt, zu vereinfachen, definiert XP 14 Techniken (ursprünglich 12 durch Kent Beck, allerdings sind Standup-Meetings und Retrospektiven mittlerweile fester Bestandteil des Frameworks).

Kunde vor Ort

Auch XP versucht den Kunden und den Anwender möglichst eng in den Projektprozess zu integrieren. Dabei ist das Ziel, die Anforderungen des Kunden und Anwenders zu verstehen, und nicht eine schriftliche Spezifikation des Systems vom Kunden überreicht zu bekommen.

Planungsspiel

Auch XP ist ein iterativer Prozess. Im Planungsspiel, äquivalent zum Sprint-Planning in Scrum, wird ein Satz von Anforderungen für die nächste Iteration ausgewählt, geschätzt und priorisiert.

Standup-Meetings

Täglich trifft sich das gesamte Team zu einer festgelegten Zeit, um sich kurz über den aktuellen Status und Probleme auszutauschen. Das Meeting sollte nicht länger als 15 Minuten dauern.

Kurze Releasezyklen

Neue oder geänderte Funktionalitäten sollen kurzfristig nach der Fertigstellung in das Produktiv-System released werden, damit dem Anwender schnell die Bugfixes und neuen Features zur Verfügung gestellt werden können und im Gegenzug schnell Feedback dazu artikuliert werden kann.

Retrospektive

Regelmäßig werden Retrospektiven ([glossary id=’1622′ slug=’retrospektive’ /]) mit dem gesamten Team durchgeführt um den reinen Entwicklungsprozess auf den Prüfstand zu stellen und hier eine stetige Verbesserung zu erzielen.

Metapher

Ähnlich einer Projekt-Vision soll das Projekt mit einigen kurzen Metaphern auf den Punkt gebracht werden, die als Richtlinie für Entscheidungen aller Art dienen.

Gemeinsame Verantwortlichkeit

Das komplette Team ist für die Qualität des Ergebnisses, die Zufriedenstellung des Kunden und den Entwicklungsprozess verantwortlich. XP geht sogar so weit, und macht jedes Teammitglied für den kompletten Quellcode verantwortlich und fördert die Arbeit jedes Einzelnen an allen Komponenten. Dadurch soll es jedem Entwickler ermöglicht werden auch für einen Team-Kollegen einzuspringen.

Fortlaufende Integration

Neue oder geänderte Komponenten werden möglichst frühzeitig integriert und somit dem gesamten Team zur Verfügung gestellt. So können diese den neuen Code schneller für ihre eigene Arbeit am Projekt nutzen und Abhängigkeiten werden früher sichtbar.

Programmierstandards

Damit Verantwortung für den gemeinsamen Code übernommen werden kann, muss ein einheitlicher Programmierstandard sichergestellt sein. Dafür entwickeln Teams oder Unternehmen eigene Coding-Guidelines.

Nachhaltiges Tempo

Die Auslastung des Teams soll möglichst gleichbleibend sein. Dabei werden Überstunden in XP-Projekten nur in geringem Maße toleriert. Freiraum und geregelte Arbeitszeiten bedeuten Zufriedenheit und Ausgeglichenheit des Mitarbeiters und fördern Kreativität.

Testen

XP fordert von allen Ergebnissen der Entwicklung eine Qualitätssicherung durch die Durchführung von Tests. Zum einen durch automatisierte Tests und interne Prüfungen der Akzeptanzkriterien, zum anderen durch Live-Tests mit dem Anwender.

Einfaches Design

Es wird die einfachste Lösung für die Entwicklung angestrebt. Diese kann schneller umgesetzt und leichter getestet werden.

Refactoring

Permanentes Refactoring, also die Umstrukturierung des Codes um einen guten Programmierstil zu wahren, erleichtert die spätere Wartung und Weiterentwicklung.

Programmieren in Paaren

XP sieht vor, immer in Paaren vor einem Computer zu sitzen ([glossary id=’1645′ slug=’pair-programming’ /]) und gemeinsam ein Feature zu realisieren. Dadurch wird Wissen schneller verteilt und die Qualität der Software erhöht.

Leave A Reply

Navigate