Software entwickeln mit eXtreme Programming

Erfahrungen aus der Praxis
298 Seiten
2002
dpunkt (Hersteller)
978-3-89864-107-4 (ISBN)

Lese- und Medienproben

Software entwickeln mit eXtreme Programming - Martin Lippert, Stefan Roock, Henning Wolf
39,00 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage



Seit zwei Jahren ist "eXtreme-Programming" (XP) als leichtgewichtiger Entwicklungsprozess in aller Munde. Einige sehr erfolgreiche Projekte weisen darauf hin, dass die in XP zusammengefassten Techniken deutliche Produktivitätsgewinne ermöglichen. Allerdings ist für einen erfolgreichen Einsatz wichtig, XP auf die Besonderheiten des Unternehmens und des Projektes anzupassen und den Prozess fortlaufend zu kontrollieren.



Die Autoren dieses Buches haben mehrjährige XP-Erfahrungen als Projektleiter, Entwickler und Berater. Auf dieser Basis können sie die XP-Thematik anschaulich darstellen und praxisorientiert in deren Konzepte einführen:



- alle XP-Techniken

Planning Game, Pair Programming, 40 Hour Week u.a.

- Rollen

Von Customer bis Big Boss

- Artekfakte

Story- und Task-Cards, Release- und Iterationsplan



Aufbauend auf den Projekterfahrungen der Autoren werden die einzelnen XP-Techniken und -Organisationsformen kommentiert und bewertet. Ein Schwerpunkt dabei liegt auf Hinweisen und Adaptionsmöglichkeiten, die sich für die einzelnen Techniken bewährt haben. Außerdem geben die Autoren viele wertvolle Hinweise für die Einführung und Verwendung von XP, z.B. unter welchen Bedingungen ein XP-Prozess im Unternehmen überhaupt eingesetzt werden kann.

Projektberichte, Programmierrichtlinien, eine Liste häufig gestellter Fragen sowie ein Glossar runden das Buch ab.








Zielgruppe:


• Softwareentwickler
• Projektmanager / Berater
• Informatiker




Autoren:


Dipl.-Inform. Martin Lippert: Software-Architekt und Berater bei der Firma APCON WPS sowie wissenschaftlicher Mitarbeiter an der Universität Hamburg. Studium der Informatik mit dem Schwerpunkt Softwaretechnik sowie Betriebswirtschaft. Seit 1999 führt er Extreme-Programming-Projekte durch und hilft Entwicklungsorganisationen, agile Entwicklungsprozesse einzusetzen. Zusätzliche Tätigkeitsschwerpunkte: Software-Architekturen, Frameworkdesign und -implementierung und Projektmanagement.

Dipl.-Inform. Stefan Roock:Mitbegründer der APCON WPS, in der er als Software-Architekt und Berater tätig ist. Arbeitsschwerpunkte: Frameworks, Software-Architekturen, Java, Internet-Technologien sowie Projektorganisation. Er führt seit 1999 eXtreme-Programming-Projekte durch und berät Entwicklungsorganisationen bei der Einführung und Anwendung agiler Entwicklungsmethoden.

Dipl.-Inform. Henning Wolf : Wissenschaftlicher Mitarbeiter an der Uni Hamburg und Mitbegründer der APCON WPS, in der er als Software-Architekt tätig ist.



Die Autoren halten regelmäßig Seminare, Projekte und Praktika in den Bereichen objektorientierte Programmierung, Java, Rahmenwerke und Extreme Programming.






1 Einleitung 1

1.1 Die XP-Werte ...................................................................... 4
1.2 Die XP-Prinzipien ................................................................ 5
1.3 Die XP-Techniken ............................................................... 9
1.4 Kein XP-Projekt ................................................................. 14
1.4.1 Bewertung des Projektes ......................................... 15
1.5 Ein XP-Projekt ................................................................... 17
1.5.1 Bewertung des Projektes ......................................... 19
1.6 Überblick über das Buch .................................................... 19
1.7 Literatur ............................................................................ 20

2 Die XP-Techniken 23

2.1 Kunde vor Ort (engl. On-Site Customer) ........................... 23
2.1.1 Beschreibung .......................................................... 23
2.1.2 Beispiel: Kunde vor Ort .......................................... 24
2.1.3 Erfahrungen ........................................................... 25
2.1.4 Beispiel: Angepasste Technik .................................. 28
2.1.5 Empfehlungen ........................................................ 29
2.1.6 Bezug zu anderen XP-Techniken ............................ 29
2.2 Planungsspiel (engl. Planning Game) ................................. 30
2.2.1 Beschreibung .......................................................... 30
2.2.2 Erfahrungen ........................................................... 31
2.2.3 Empfehlungen ........................................................ 35
2.2.4 Bezug zu anderen XP-Techniken ............................ 36
2.3 Metapher (engl. Metaphor) ............................................... 37
2.3.1 Beschreibung .......................................................... 37
2.3.2 Erfahrungen ........................................................... 37
2.3.3 Beispiel: WAM-Metaphern ..................................... 39
2.3.4 Empfehlungen ........................................................ 40
2.3.5 Bezug zu anderen XP-Techniken ............................ 40
2.4 Kurze Releasezyklen (engl. Short Releases) ........................ 41
2.4.1 Beschreibung ........................................................... 41
2.4.2 Beispiel: Kurze Releasezyklen bei der Ablösung eines Hostsystems ....... 42
2.4.3 Erfahrungen ............................................................ 44
2.4.4 Empfehlungen ......................................................... 49
2.4.5 Bezug zu anderen XP-Techniken ............................. 50
2.5 Testen (engl. Testing) ......................................................... 50
2.5.1 Komponententests: Beschreibung ............................ 50
2.5.2 Komponententests: Beispiel ..................................... 52
2.5.3 Komponententests: Erfahrungen ............................. 54
2.5.4 Diskussion: Wiederverwendung von Komponententests ...... 55
2.5.5 Diskussion: Komponententests als Testlabor für erbende Klassen ...... 57
2.5.6 Diskussion: Testen und das Vertragsmodell ............ 57
2.5.7 Akzeptanztests: Beschreibung ................................. 59
2.5.8 Akzeptanztests: Beispiel .......................................... 60
2.5.9 Akzeptanztests: Erfahrungen ................................... 61
2.5.10 Empfehlungen ......................................................... 63
2.5.11 Bezug zu anderen XP-Techniken ............................. 63
2.6 Einfaches Design (engl. Simple Design) .............................. 65
2.6.1 Beschreibung ........................................................... 65
2.6.2 Erfahrungen ............................................................ 68
2.6.3 Diskussion: Einfache Designs etablieren .................. 72
2.6.4 Diskussion: Einfaches Design und Frameworks ...... 72
2.6.5 Diskussion: Performance-Optimierungen ................ 73
2.6.6 Empfehlungen ......................................................... 74
2.6.7 Bezug zu anderen XP-Techniken ............................. 74
2.7 Refactoring ........................................................................ 76
2.7.1 Beschreibung ........................................................... 76
2.7.2 Erfahrungen ............................................................ 76
2.7.3 Beispiel: Umbenennen einer Operation in einer Oberklasse...... 79
2.7.4 Empfehlungen ......................................................... 80
2.7.5 Bezug zu anderen XP-Techniken ............................. 81
2.8 Programmieren in Paaren (engl. Pair Programming) ........... 82
2.8.1 Beschreibung ........................................................... 82
2.8.2 Erfahrungen ............................................................ 83
2.8.3 Empfehlungen ......................................................... 92
2.8.4 Bezug zu anderen XP-Techniken ............................. 93
2.9 Gemeinsame Verantwortlichkeit (engl. Collective Ownership)............. 94
2.9.1 Beschreibung .......................................................... 94
2.9.2 Erfahrungen ........................................................... 94
2.9.3 Empfehlungen ........................................................ 97
2.9.4 Bezug zu anderen XP-Techniken ............................ 97
2.10 Fortlaufende Integration (engl. Continuous Integration) .... 98
2.10.1 Beschreibung .......................................................... 98
2.10.2 Erfahrungen ......................................................... 100
2.10.3 Fortlaufende Integration in einem Ausbildungsprojekt ........... 105
2.10.4 Diskussion: Integrationen beschleunigen durch Komponenten...... 105
2.10.5 Empfehlungen ...................................................... 106
2.10.6 Bezug zu anderen XP-Techniken .......................... 107
2.11 Programmierstandards (engl. Coding Standards) ............. 108
2.11.1 Beschreibung ........................................................ 108
2.11.2 Erfahrungen ......................................................... 108
2.11.3 Empfehlungen ...................................................... 110
2.11.4 Bezug zu anderen XP-Techniken .......................... 111
2.12 40-Stunden-Woche (engl. 40 Hour Week) ....................... 112
2.12.1 Beschreibung ........................................................ 112
2.12.2 Erfahrungen ......................................................... 112
2.12.3 Empfehlungen ...................................................... 115
2.12.4 Bezug zu anderen XP-Techniken .......................... 115
2.13 Literatur .......................................................................... 116

3 Rollen 121

3.1 Kunde (engl. Customer) ................................................... 121
3.2 Programmierer (engl. Programmer) ................................. 122
3.3 Tester .............................................................................. 123
3.4 Verfolger (engl. Tracker) ................................................. 123
3.5 XP-Trainer (engl. XP Coach) ........................................... 125
3.6 Berater (engl. Consultant) ................................................ 126
3.7 Big Boss ........................................................................... 126
3.8 Erfahrungen ..................................................................... 127
3.8.1 Auftraggeber (engl. Client) ................................... 127
3.8.2 Anwender (engl. User) .......................................... 128
3.8.3 Projektverantwortlicher ........................................ 129
3.9 Empfehlungen .................................................................. 130
3.10 Literatur .......................................................................... 130

4 Artefakte 131

4.1 Story-Cards ...................................................................... 132
4.1.1 Adaption: Szenarios .............................................. 133
4.1.2 Adaption: Glossar ................................................. 135
4.1.3 Adaption: Projekttagebuch ................................... 136
4.2 Task-Cards ...................................................................... 137
4.3 Releaseplan ...................................................................... 140
4.3.1 Adaption: Projektetappen ..................................... 140
4.3.2 Adaption: Kernsystem mit Ausbaustufen sowie Spezialsystemen........ 142
4.4 Iterationsplan ................................................................... 145
4.4.1 Adaption: Referenzlinien ...................................... 145
4.5 Literatur ........................................................................... 146

5 Organisation 149

5.1 Anforderungsermittlung ................................................... 149
5.2 Projektplanung ................................................................. 153
5.3 Vertragsgestaltung ........................................................... 155
5.4 Sprints .............................................................................. 156
5.5 Stand-Up-Meetings .......................................................... 157
5.6 Literatur ........................................................................... 158

6 XP einführen 161

6.1 Einführungsstrategien ...................................................... 162
6.1.1 XP als Komplettpaket erlernen ............................. 162
6.1.2 XP schrittweise erlernen ........................................ 163
6.1.3 Zusammenfassung ................................................ 165
6.2 Der XP Coach .................................................................. 166
6.3 Wie wird man ein XP-Entwickler? ................................... 167
6.4 Management für XP-Projekte ........................................... 168
6.5 Anpassung von XP ........................................................... 169
6.6 Typische Fallen und wie man sie umgeht ......................... 172
6.7 XP spielerisch ................................................................... 175
6.7.1 eXtreme Hour ....................................................... 175
6.7.2 eXplanations Game .............................................. 176
6.8 Literatur ........................................................................... 177

7 Spezielle Konstellationen 179

7.1 eXtreme Frameworking ................................................... 179
7.2 Migration von Legacy-Systemen ...................................... 182
7.3 E-Business ........................................................................ 183
7.4 Produktentwicklung ........................................................ 185
7.5 Outsourcing ..................................................................... 187
7.6 Zertifizierung von Entwicklungsprozessen ....................... 189
7.7 Literatur .......................................................................... 190

8 Projektberichte 191

8.1 Projekt Kermit ................................................................. 192
8.1.1 Projektkontext ...................................................... 192
8.1.2 XP-Einsatz ............................................................ 193
8.1.3 Bewertung ............................................................ 194
8.2 Projekt Gonzo ................................................................. 194
8.2.1 Projektkontext ...................................................... 194
8.2.2 XP-Einsatz ............................................................ 196
8.2.3 Bewertung ............................................................ 197
8.3 Projekt Scooter ................................................................ 200
8.3.1 Projektkontext ...................................................... 200
8.3.2 XP-Einsatz ............................................................ 201
8.3.3 Bewertung ............................................................ 206
8.4 Projekt JWAM ................................................................. 207
8.4.1 Projektkontext ...................................................... 207
8.4.2 XP-Einsatz ............................................................ 207
8.4.3 Bewertung ............................................................ 212

9 Bewertung und Ausblick 213

9.1 Bewertung ....................................................................... 213
9.2 Für Bedenkenträger ......................................................... 214
9.2.1 Für Projektleiter und Manager ............................. 214
9.2.2 Für Entwickler ...................................................... 215
9.3 Ausblick .......................................................................... 216
9.4 Literatur .......................................................................... 216



Schlagworte:

Sprache deutsch
Maße 165 x 240 mm
Gewicht 621 g
Einbandart gebunden
Themenwelt Mathematik / Informatik Informatik Software Entwicklung
ISBN-10 3-89864-107-4 / 3898641074
ISBN-13 978-3-89864-107-4 / 9783898641074
Zustand Neuware
Haben Sie eine Frage zum Produkt?