Was ist Extreme Programming? - Wissen kompakt - t2informatik (2024)

Prinzipien in Extreme Programming

Neben den Werten definiert XP auch 14 Prinzipien:

  • Menschlichkeit,
  • Wirtschaftlichkeit,
  • Beidseitiger Vorteil,
  • Selbstgleichheit bzw. Selbstähnlichkeit,
  • Verbesserungen,
  • Vielfältigkeit,
  • Reflexion,
  • Fluss,
  • Gelegenheit,
  • Redundanz,
  • Fehlschlag,
  • Qualität,
  • kleine Schritte und
  • akzeptierte Verantwortung.

Software wird von Menschen entwickelt. Menschlichkeit bedeutet, dass bspw. ein angemessenes Verhältnis zwischen Berufs- und Privatleben nicht nur die Arbeitsmoral und Motivation fördert, sondern auch die Effizienz aller Beteiligten verbessert. Zudem ist Menschlichkeit ein wichtiger Faktor für die Zusammenarbeit im Team, die Verantwortungsübernahme der Beteiligten und das gegenseitige Feedback.

Wirtschaftlichkeit adressiert die Absicht, Software gewinnbringend zu entwickeln. Trotz aller Menschlichkeit geht es auch darum, Gewinne zu erzielen. Natürlich muss die entwickelte Software die definierten Anforderungen des Kunden erfüllen, dabei sollte es aber die Kosten und Ressourcen so gering wie möglich halten. Hier gilt es ein richtiges Gleichgewicht zwischen Features, Kosten und Kundenzufriedenheit zu finden, um sicherzustellen, dass die Entwicklung wirtschaftlich sinnvoll ist.

Das Prinzip des beidseitigen Vorteils in Extreme Programming (XP) besagt, dass sowohl das Entwicklungsteam als auch der Kunde von der Zusammenarbeit profitieren sollten. Es geht darum, dass beide Parteien ihre Bedürfnisse und Erwartungen klar kommunizieren und aufeinander abstimmen, um ein gemeinsames Ziel zu erreichen: die Entwicklung einer qualitativ hochwertigen Software, die die Anforderungen des Kunden erfüllt. Dies erfordert eine enge Zusammenarbeit und eine offene Kommunikation, um sicherzustellen, dass das Projekt erfolgreich ist und sowohl das Team als auch der Kunde mit dem Ergebnis zufrieden sind.

Selbstgleichheit oder Selbstähnlichkeit adressiert die Wiederverwendung als Prinzip. Es geht darum, nicht immer das Rad neu zu erfinden, sondern Ansätze, Strukturen, Ideen aus bereits entwickelten Lösungen wiederzuverwenden. Dabei geht es aber nicht darum, eine vorhandene Lösung zu kopieren, sondern sie bei Bedarf als Bezugspunkt zu nutzen.

Erinnern Sie sich noch an Kaizen und die Projekt- bzw. Organisationsperspektive? Software lässt sich nicht von Grund auf perfekt entwickeln – sich ändernde Anforderungen, neue Wünsche oder Ideen, Fehler, Seiteneffekte verhindern dies. Zudem entwickelt sich Technik häufig weiter – was gestern fast unmöglich schien, funktioniert heute ohne großen Aufwand. Durch Verbesserungen steigen sowohl die Qualität des Produkts, als auch die Zufriedenheit des Kunden; Voraussetzung ist, dass insbesondere die Werte Kommunikation und Feedback gelebt werden.

Vielfältigkeit ist ein Prinzip, das die Zusammenstellung des Teams aus Mitgliedern mit unterschiedlichen Hintergründen, Fähigkeiten und Erfahrungen fordert. Vielfältigkeit ermöglicht es Teams, Probleme aus verschiedenen Blickwinkeln zu betrachten und Lösungen zu finden. Es geht darum, die Stärken jedes Mitglieds zu nutzen und die Zusammenarbeit der Teammitglieder zu fördern, um die Entwicklung der Software dauerhaft zu verbessern und erfolgreicher zu machen.

Bei der Reflexion geht darum, das Team in die Lage zu versetzen, sich selbst zu evaluieren und die Art und Weise der Zusammenarbeit zu verbessern. Der Austausch von Erfahrungen, die Identifikation von Problemen, die Veränderung von Vorgehensweisen und die gegenseitige Unterstützung tragen aktiv dazu bei, die Qualität der Software zu verbessern, die Produktivität zu steigern und die Zufriedenheit der Teammitglieder und des Kunden zu verbessern.

Eine grundlegende Idee von XP ist das Fluss-Prinzip. Es geht darum, während des gesamten Entwicklungsprozesses einen stetigen Arbeitsfluss aufrechtzuerhalten. Es geht darum, sicherzustellen, dass die Arbeit immer erledigt wird und dass das Team stetige Fortschritte bei der Fertigstellung des Projekts macht. Dies kann erreicht werden, indem das Projekt bspw. in kurze Iterationen unterteilt wird, in denen kleine Arbeitsschritte – bspw. in Form sogenannter User Storys – realisiert werden. Idealerweise kommt so das Projekt reibungslos voran. Darüber hinaus bezieht sich dieses Prinzip auch auf die Idee, Unterbrechungen und Ablenkungen zu minimieren, um die Konzentration und Produktivität des Teams aufrechtzuerhalten.

Probleme im Zuge von Softwareentwicklungen sind nicht unüblich. Probleme sind Gelegenheiten. Es gilt, Probleme als Chance zur Verbesserung und als Aspekt eines Lernprozesses zu begreifen. Ähnlich verhält es sich übrigens mit Feedback und Kommunikation – auch diese Werte lassen sich als Gelegenheit nutzen.

Das Prinzip der Redundanz wird im Entwicklungsprozess angewandt, indem mehrere Personen an der gleichen Aufgabe oder Funktion arbeiten oder indem es mehrere Möglichkeiten gibt, ein Problem zu lösen. Diese Redundanz trägt dazu bei, dass das Projekt auch dann fortgesetzt werden kann, wenn etwas schiefgeht oder ein unerwartetes Problem auftritt. Sie trägt auch dazu bei, Risiken zu mindern und die Qualität und Robustheit des Endprodukts zu verbessern.

Das Prinzip des Scheiterns bzw. des Fehlschlags basiert auf der Idee, dass es besser ist, früh und oft zu scheitern, als bis zu einem späten Zeitpunkt im Entwicklungsprozess zu warten. Dieses Prinzip ermutigt das Team, potenzielle Probleme frühzeitig zu erkennen und Schritte zu ihrer Entschärfung zu unternehmen, anstatt unnötig zu warten und kostspielige Verzögerungen und Nacharbeiten im späteren Verlauf des Entwicklungsprozesses in Kauf zu nehmen. Darüber hinaus bezieht sich dieser Grundsatz auch auf die Idee, Misserfolge zu akzeptieren und aus ihnen zu lernen, was dem Team ermöglicht, sich kontinuierlich zu verbessern und an veränderte Anforderungen oder unerwartete Probleme anzupassen.

Hochwertige Software flexibel zu entwickeln, ist ein Anspruch von Extreme Programming. In der Praxis können jedoch der Wunsch nach Wirtschaftlichkeit und der Zwang zu Kostensenkungen die Qualität einer Software beeinträchtigen. Um dies zu verhindern, adressiert XP Kosten nicht als Maßstab. Zudem werden auch keine Endtermine fixiert, da auch dies die Qualität beeinflussen könnte. Ohne zeitliche Flexibilität bleiben mögliche Verbesserungen auf der Strecke und Kundenwünsche unerfüllt.

Kleine Schritte sind ein zentrales Prinzip in XP. Durch kleine Schritte entsteht ein kontinuierlicher Fluss, so lassen sich Veränderungen zeitnah vornehmen, so lässt sich Feedback zu Features umsetzen. Gleichzeitig hilft das Prinzip dabei, Risiken von Fehlentwicklungen und die Wahrscheinlichkeit von Fehlschlägen zu minimieren.

Die akzeptierte Verantwortung ist das letzte der 14 Prinzipien. Es besagt bspw., dass ein Entwickler, der für die Bearbeitung einer User Story verantwortlich ist, für die Umsetzung und damit für den Entwurf, das Kodieren und das Testen Verantwortung übernimmt.

Was ist Extreme Programming? - Wissen kompakt - t2informatik (2024)
Top Articles
Latest Posts
Article information

Author: Msgr. Benton Quitzon

Last Updated:

Views: 6595

Rating: 4.2 / 5 (43 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Msgr. Benton Quitzon

Birthday: 2001-08-13

Address: 96487 Kris Cliff, Teresiafurt, WI 95201

Phone: +9418513585781

Job: Senior Designer

Hobby: Calligraphy, Rowing, Vacation, Geocaching, Web surfing, Electronics, Electronics

Introduction: My name is Msgr. Benton Quitzon, I am a comfortable, charming, thankful, happy, adventurous, handsome, precious person who loves writing and wants to share my knowledge and understanding with you.