Software entwickeln mit eXtreme Programming
- Titel erscheint in neuer Auflage
- Artikel merken
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
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? |