create account

Vorgehensmodelle: eXtreme Programming (XP) by ozelot47

View this thread on: hive.blogpeakd.comecency.com
· @ozelot47 ·
$3.94
Vorgehensmodelle: eXtreme Programming (XP)
**Extreme Programming** ist ein Ansatz, der in einem evolutionären Prozess in kleinen Schritten, sogenannten Releases, die Entwicklung vorantreibt.

Die wesentlichen Arbeitsschritte eines Projekts beschränken sich beim Extreme Programming auf die Planung einzelner Releases, Iterationen mit Programmierarbeiten sowie Abnahme-Tests für die einzelnen Releases. Das Entwicklerteam konzentriert sich ganz auf das eigentliche Programmieren, indem es auf umfassende Analysen verzichtet. Dahinter steckt das Ziel, einzelne Software-Releases möglichst schnell zu erzeugen. Typische Release-Intervalle betragen nur ein bis drei Monate. Hieraus soll ein zweifacher Nutzen für das Projekt erwachsen. Zum einen erhält der Auftraggeber bereits sehr früh ein Produkt, das seinen Verwendungszweck zumindest zum Teil erfüllt. Zum anderen erhalten die Anwender sehr
früh die Gelegenheit, den Entwicklern aufgrund erster Erfahrungen mit dem System Kommentare und Änderungswünsche mitzuteilen.

In diesem Punkt weist XP Analogien zur evolutionären Softwareentwicklung auf, die hier ins Extreme getrieben wird. Eine Charakterisierung des XP kann am besten durch die in XP eingesetzten Techniken erfolgen, die in der XP-Terminologie **Praktiken** heißen. Die Praktiken sind dabei nur in ihrer Gesamtheit sinnvoll. Das Weglassen einzelner Praktiken stellt das gesamte Vorgehen in Frage, weil sich die Praktiken gegenseitig unterstützen. Hier ein paar Aufzählungen von Praktiken:

![xp.jpg](https://files.peakd.com/file/peakd-hive/ozelot47/1eVrPI9j-xp.jpg)


**Abbildung: Modell zu Extreme Programming [3]**

* **Kleine Releases**
Wie bereits erwähnt, besteht eine erste Kernidee des XP darin, einzelne Software-Releases möglichst schnell zu erzeugen. Damit soll den sich ständig ändernden Anforderungen in einem Software-Projekt Rechnung getragen werden.

* **Tests**
Eine der zentralen Praktiken von XP ist das automatische Testen. Die Testfälle, die unbedingt vor der Implementierung der entsprechenden Features festgelegt werden müssen, repräsentieren neben den User Storys die einzige Festlegung der gewünschten Funktionalität.

* **Einfacher Entwurf**
Die Einfachheit der Lösungen wird als wichtiger Schritt auf dem Weg zu einer schnellen Lösung angesehen. Dem liegt auch die These zugrunde, dass ein Bemühen um technisch perfekte, allgemein wiederverwendbare, zukünftige Erweiterungen antizipierende Lösungen sinnlos ist, weil sich die Anforderungen bis dahin ohnehin geändert haben werden.

* **Dokumentation**
Im Hinblick auf die Dokumentation des Systems setzt XP auf Programmcode, der in hohem Maße selbsterklärend ist. Dazu ist auf eine entsprechende Programmstruktur und eine sinnvolle Namensgebung zu achten.

* **Programmieren in Zweierteams**
Die Programmierung geschieht bei XP immer in Zweierteams mit einer klaren Rollenverteilung. Der erste Partner kümmert sich um die aktuelle Kodierung, während der zweite Partner den Code auf Schreibfehler und logische Fehler überprüft und Strategien für weitere Implementierungen
entwickelt.

* **Gemeinsamer Code-Eigentum**
Der Entwickler bzw. das Paar, das einen bestimmten Programmcode erarbeitet hat, hat an diesem Code keine besonderen Rechte. Programmcode gehört in XP grundsätzlich allen Entwicklern gemeinsam. Das bedeutet, dass jedes Entwicklerpaar jederzeit überall Änderungen vornehmen darf (bspw. git).

* **Programmierrichtlinien**
Sowohl das Arbeiten in Paaren als auch das gemeinsame Code-Eigentum machen es erforderlich, dass Programmcode allgemein verständlich ist. Hierzu werden in XP feste Programmierrichtlinien verwendet, die von den Entwicklern untereinander vereinbart werden. Dadurch erhält man einheitlichen Code, der von allen Entwicklern verstanden und leicht modifiziert werden kann.

Wichtig ist dabei, die Voraussetzungen zu sehen, auf denen XP aufbaut:

1. Die Entwickler sollten alle über eine sehr gute und breite Qualifikation verfügen, da sie laufend in anderen Paaren und mit anderen Aufgaben eingesetzt werden.

2. XP ist für kleine Projekte mit 10 bis 15 Entwicklern gedacht und typischerweise in einem Umfeld mit sich rasch ändernden Anforderungen sinnvoll.

3. Die ganze Vorgehensweise im XP-Ansatz ist stark auf Kommunikation ausgerichtet und damit am besten umsetzbar, wenn die Entwickler an einem Ort konzentriert sind und die gleichen Arbeitszeiten haben.

4. Da die Tests sehr häufig ausgeführt werden müssen, sollten sie weder zu umfangreich noch zu laufzeitintensiv sein. Andererseits müssen sie aber die gesamte Funktionalität des gewünschten Systems abdecken.

**Quellen**
[1] Jeffries, Ron (Editor): XProgramming.com, 2001 (http://www.xprogramming.com/index.htm)
[2] Beck, Kent: Extreme Programming Explained – Embrace Change, Addison-Wesley, Reading, Mass., 1999
[3] expertiza.csc.ncsu.edu/images/5/5b/Extreme.jpg
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 180 others
👎  
properties (23)
authorozelot47
permlinkvorgehensmodelle-extreme-programming-xp
categoryhive-196387
json_metadata{"app":"peakd/2020.08.2","format":"markdown","tags":["science","hivestem","engineering","stem","palnet","deutsch"],"links":["http://www.xprogramming.com/index.htm"],"image":["https://files.peakd.com/file/peakd-hive/ozelot47/1eVrPI9j-xp.jpg"]}
created2020-08-11 10:27:24
last_update2020-08-11 10:27:24
depth0
children2
last_payout2020-08-18 10:27:24
cashout_time1969-12-31 23:59:59
total_payout_value2.052 HBD
curator_payout_value1.887 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length4,799
author_reputation143,905,104,194,245
root_title"Vorgehensmodelle: eXtreme Programming (XP)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id99,010,614
net_rshares9,880,608,614,697
author_curate_reward""
vote details (245)
@germanbot ·
Du hast ein Upvote von mir bekommen, diese soll die Deutsche Community unterstützen. Wenn du mich unterstützten möchtest, dann sende mir eine Delegation. Egal wie klein die Unterstützung ist, Du hilfst damit der Community. DANKE!

👍  
properties (23)
authorgermanbot
permlinkre-vorgehensmodelle-extreme-programming-xp-20200811t103224z
categoryhive-196387
json_metadata"{"app": "beem/0.22.8"}"
created2020-08-11 10:32:24
last_update2020-08-11 10:32:24
depth1
children0
last_payout2020-08-18 10:32:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length231
author_reputation6,584,993,625,435
root_title"Vorgehensmodelle: eXtreme Programming (XP)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id99,010,706
net_rshares31,027,586,171
author_curate_reward""
vote details (1)
@steemstem ·
re-ozelot47-vorgehensmodelle-extreme-programming-xp-20200813t071029198z
<div class='text-justify'> <div class='pull-left'>
 <img src='https://stem.openhive.network/images/stemsocialsupport7.png'> </div>

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider <a href="https://hivesigner.com/sign/update-proposal-votes?proposal_ids=%5B91%5D&amp;approve=true">supporting our funding proposal</a>, <a href="https://hivesigner.com/sign/account_witness_vote?approve=1&witness=stem.witness">approving our witness</a> (@stem.witness) or delegating to the @stemsocial account (for some ROI).

Please consider using the <a href='https://stem.openhive.network'>STEMsocial app</a> app and including @stemsocial as a beneficiary to get a stronger support.&nbsp;<br />&nbsp;<br />
👍  
properties (23)
authorsteemstem
permlinkre-ozelot47-vorgehensmodelle-extreme-programming-xp-20200813t071029198z
categoryhive-196387
json_metadata{"app":"stemsocial"}
created2020-08-13 07:10:30
last_update2020-08-13 07:10:30
depth1
children0
last_payout2020-08-20 07:10:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length778
author_reputation262,017,435,115,313
root_title"Vorgehensmodelle: eXtreme Programming (XP)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id99,045,090
net_rshares31,661,373,200
author_curate_reward""
vote details (1)