Definition „Extremprogrammierung“

Was ist Extreme Programming?

| Autor / Redakteur: HJL / Stephan Augsten

Beim Extreme Programming stehen möglichst kurze Iterations- und Entwicklungszyklen sowie die Kundenorientierung im Vordergrund.
Beim Extreme Programming stehen möglichst kurze Iterations- und Entwicklungszyklen sowie die Kundenorientierung im Vordergrund. (Bild: geralt - Pixabay.com / CC0)

Der Begriff „Extreme Programming (XP)“ beschreibt im Wesentlichen die Art und Weise, wie Software programmiert wird. Agile Prozesse, kurze Entwicklungszyklen und schnelle Reaktionszeiten auf neue oder sich ändernde Anforderungen stehen dabei im Vordergrund.

Als Vater des Extreme Programming gilt der amerikanische Software-Ingenieur Kent Beck. Gemäß Insidern aus der Software-Programmierer-Szene beschreibt XP den extremsten Fall hinsichtlich agiler Vorgehensmethodik bei der Software-Programmierung. Die „Feuertaufe“ bestand XP in den Jahren 1997-1998 bei der programmtechnischen Umsetzung des Daimler-Chrysler „Project C“ – Chrysler Consolidated Compensation.

Das interne Softwareprogramm für eine neue Mitarbeiter-Gehaltsabrechnung war in eine kritische Sackgasse geraten. Eine vom Autobauer engagierte Software-Entwicklungsgruppe um Kent Beck setzte das Projekt, basierend auf der Methode „Extreme Programming“ neu auf. Der neue Weg war von Erfolg gekrönt.

Beck fasste die in diesem Projekt gesammelten Erfahrungen in seinem Buch „Extreme Programming Explained“ zusammen. Als Gerüst für die Rahmenbedingungen der Extremprogrammierung bezeichnet der Autor darin die drei Hauptbestandteile

  • Werte (Values),
  • Prinzipien (Principles) und
  • Techniken (Practices).

Charakteristisch: zyklische Vorgehensweise

Charakteristisch beim Extreme Programming ist die zyklische Verfahrensweise auf den Entwicklungsprojekt-Ebenen. Diese Struktur betrifft die eigentliche Programmierung. Sie wirkt aber auch prägend auf die obligatorische Abstimmung im Entwicklungsprojekt-Team.

Diesem Zyklus unterliegt letztlich auch das gemeinsam mit dem Kunden definierte Anforderungsmanagement. Spätestens an dieser Stelle wird deutlich, dass XP auf einen vom Kunden strikt vorgegebenen Projekt-Anforderungskatalog bewusst verzichtet.

An seine Stelle tritt das sogenannte „Agile Modeling“. Es ermöglicht die Berücksichtigung von Kundenwünschen im Laufe der voran schreitenden Software-Entwicklung. So entstehen Entwicklungszyklen in Einheiten von einem Tag bis zu einer Woche. Sämtliche Themeninhalte einer komplexen Programmentwicklung, zum Beispiel

  • Analyse der Anforderungen
  • Produkt Design
  • Implementierung
  • Testphasen und Testtiefe

werden in diesen kurzen Zyklen aktualisiert und in den weiteren Entwicklungsprozess implementiert.

Diese zeitnahe und problemorientierte Verfahrensweise trägt der Erkenntnis Rechnung, dass Kunden und Auftraggeber die tatsächlichen Anforderungen und Leistungsprofile bei Projektbeginn oft nicht im Detail kennen. Die Erfahrung bei der klassischen Projektvorgabe zeigt auf, wie Pflichtenhefte häufig mit entbehrlichen Features belastet werden, während essentielle Funktionen vergessen werden.

Vorteile von XP bei komplexen Entwicklungsprojekten

Die Vorteile von Extreme Programming entfalten insbesondere bei komplexen Software-Entwicklungsprojekten ihre problemorientierte Wirkung. An die Stelle einer komplexen, starren Projektvorgabe tritt die in kürzere Iterationszyklen unterteilte Vorgehensweise.

Auf diesem Wege wird die Software-Entwicklung vereinfacht, was die aktive Einbindung der Kunden und Auftraggeber in das Projekt ermöglicht. Insbesondere diese Möglichkeit der Kommunikation mit dem Kunden gibt den nächsten Programm-Entwicklungsschritten eine konkrete Richtung. Kundenwünsche lassen sich zeitnah korrigieren, revidieren oder ergänzend konkretisieren.

Die Software-Entwicklung lässt sich dank dieser zyklischen Vorgehensweise signifikant beschleunigen. Auch der mit dem reduzierten Zeitaufwand gekoppelte Kostenaspekt birgt Einsparpotenziale. Im günstigsten Falle bewirkt das Zusammenspiel erfahrener Programmierer in Verbindung mit aktiv eingebundenen Kunden Projektvorteile, die sich mit Hilfe des Extreme Programming in Form eines qualitativ hochwertigen, passgenauen Software-Programms darstellen.

Zu guter Letzt sollte noch einmal darauf hingewiesen werden, dass das in Verbindung mit der Extremprogrammierung und ihrer Organisationsform anzutreffende Kürzel „XP“ keinerlei Bezug zum Betriebssystem Windows XP hat, bei dem es für Experience stand.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Was ist Anwendungsentwicklung?

Definition „Software Development“

Was ist Anwendungsentwicklung?

Mit dem Begriff „Anwendungsentwicklung“ ist der gesamte Prozess der Herstellung von Software gemeint. Dieser Prozess besteht nämlich aus verschiedenen Aufgaben, zu denen neben der Programmierung auch die Wartung und Aktualisierung zählen. lesen

So sieht zukunftsfähige Embedded-Softwareentwicklung aus

Entwicklungstrends

So sieht zukunftsfähige Embedded-Softwareentwicklung aus

Mit den Experten von MicroConsult sprachen wir über die Bedeutung von Softwarearchitekturen und Frameworks. Dabei wurde das Thema Softwareengineering aus verschiedenen Blickwinkeln beleuchtet. lesen

Änderung von Cloud-Strategie und Know-how-Konsum

Cloud Foundry bei VW und der Allianz

Änderung von Cloud-Strategie und Know-how-Konsum

Mit kleinen Applikationen sprechen Unternehmen künftig ihre Kunden im Internet an. „Cloud Foundry“ verschafft ihnen als Plattform as a Service Flexibilität und Agilität. Die Kenntnisse dafür sind jedoch rar. lesen

OpenStack und Extreme Programming bei Volkswagen

Mirantis-Cloud-Plattform beim VW-Konzern

OpenStack und Extreme Programming bei Volkswagen

Der VW-Konzern hat sich entschieden: OpenStack wird globaler Standard für seine Private-Cloud, mit dem Ziel, innovative Unternehmens- (B2B) und Kundenanwendungen (B2C) voranzutreiben. Die Open-Source-Cloud per Mirantis soll den Konzern als auch dessen Konzern-Marken dazu befähigen, solche Anwendungen zu erstellen und zu betreiben. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45073954 / Definitionen)