Einführung in eXtreme Programming

Extreme Programming wurde von Kent Beck, Ward Cunningham und Ron Jeffries während ihrer Arbeit an einem Projekt bei Chrysler entwickelt. 

Es entstand zwischen 1995 und 2000 und hat um 2000 eine atemberaubende Adoptionskurve, einen richtigen Hype.
XP nennt 12 Praktiken, meist Programmierpraktiken und kennt ähnliche Rollen wie Scrum. Die Praktiken wurden inzwischen breiter übernommen und die meisten bilden inzwischen ein Art Grundkonsens für Agile Softwareentwicklung. Wir referenzieren sie einfach als Agile Engineering-Techniken, um dieser Verbreitung Rechnung zu tragen.

XP – eXtreme Programming

  • ist ein agiles Framework zur Softwareentwicklung
  • zielt auf qualitativ hochwertige Software ab
  • bietet 5 Werte und 14 Prinzipien an

Der Scope von XP

  • ist ausdrücklich als Methode zur Softwareentwicklung definiert.
  • besteht aus Werten, Prinzipien und Praktiken.
  • … und verschränkten Feedback-Loops.

Die Praktiken

  • Pair Programming
  • Test Driven Development
  • Continuous Integration
  • Coding Standards
  • Refactoring
  • schnelles Nutzerfeedback

XP kennt fünf Werte:

… und 14 Prinzipien

Die sich wiederholenden Schleifen aus Planung, Implementierung, Test und Feedback gehen bei XP bis auf die Ebene des Pair Programming. XP integriert dadurch Planung, Feedback und Entwicklung.

XP Praktiken

XP Praktik: Pair Programming

Zwei Programmierer teilen sich einen Computer — einer codiert der andere denkt mit, beide Rollen werden regelmäßig getauscht.
Erreicht wird ein gesteigerter Wissenstransfer, höhere Ausfallsicherheit und ein kontinuierlicher Codereview nach dem 4-Augen Prinzip.

XP Praktik: Test Driven Development, TDD

Vor der Implementierung der eigentlichen Funktionalität wird der Test geschrieben und das Feature so programmiert, dass der Test erfolgreich durchlaufen wird. Es wird quasi ‘gegen den Test programmiert’.
Effekt ist eine Konzentration auf das Wesentliche und ein durch stetiges Refactoring gut wartbarer Code. Wenn man die Testfälle automatisch als Regressionstest laufen lässt, entsteht ein Software-System, das sich bei Fehlern robust verhält.

XP Praktik: Continuous Integration, CI

Komponenten von Features werden ständig statt einmal monatlich integriert.

So wird eine hohe Routine erreicht und Integration neuen Codes wird zu einem täglichen, stabilen und vollautomatisierten Schritt.

XP Praktik: Coding Standards

Das Entwicklungsteam hält sich an gemeinsam gesetzte und getragene Standards.

Entwickler können so in allen Bereichen der Softwareentwicklung am Produkt arbeiten — und nicht nur in ihrem Spezialbereich.

XP Praktik: Refactoring

Refactoring ist die manuelle oder automatisierte Struktur- verbesserung von Architektur, Design und Code ohne Änderung der Programmfunktion.

Erreicht wird eine bessere Lesbarkeit und Verständlichkeit des Code, bessere Wartbarkeit und Erweiterbarkeit. Aufwände für Fehleranalysen und funktionalen Erweiterungen sinken durch clean code deutlich.

Software ist robust und wird eher deployed: ROI kann schneller erreicht werden  Codebase mit hoher struktureller und syntaktischer Qualität  TDD erleichtert Änderungen und Erweiterungen.

eXtreme Programming

eXtreme Programming: hohe Ansprüche
Funktionierende XP-Teams haben hohe psychologische Sicherheit und Qualität in der Zusammenarbeit — XP stellt dabei weitreichende Ansprüche an individuelle Fähigkeiten.

Zusammenfassung: XP

… ist ein agiles Framework zur Softwareentwicklung
… bündelt erprobte Praktiken
… integriert Planung, Feedback und Entwicklung
… bietet 5 Werte und 14 Prinzipien an
… stellt weitreichende Ansprüche an individuelle Fähigkeiten als Softwareentwickler

Kategorien: Methoden
 
Contributor: Krishan Mathis
Copyright © 2021 Radical Focus
Scroll to Top