lehrerbibliothek.deDatenschutzerklärung
Software entwickeln mit Extreme Programming
Software entwickeln mit Extreme Programming




Martin Lippert, Stefan Roock, Henning Wolf

dpunkt.verlag
EAN: 9783898641074 (ISBN: 3-89864-107-4)
298 Seiten, kartoniert, 16 x 24cm, Januar, 2002

EUR 39,00
alle Angaben ohne Gewähr

Umschlagtext
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

- Artefakte: 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.
Rezension
"Wer an professioneller Software-Entwicklung interessiert ist und mehr über XP wissen will, sollte dieses Buch kaufen."
(Linux Enterprise 7/8 2002)

"Das "All-in-one" für Programmierer, Manager und Consultants, die den Einsatz von XP planen."
(literaturtest.de Juli 2002)
Inhaltsverzeichnis
1 Einleitung 1
1.1 DieXP-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. Metapher) 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 Release/yklen (engl. Short Releases) 41
2.4.1 Beschreibung 41
2.4.2 Beispiel: Kurze Releasezyklen bei der Ablösun 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 vo Komponententests 55
2.5.5 Diskussion: Komponententests als Testlabor fü 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 eine 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 eine Ausbildungsprojekt 105
2.10.4 Diskussion: Integrationen beschleunigen durc 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 Weck) 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 sowi 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

Anhang A Häufig gestellte Fragen (FAQ) 217

Anhang B Methodenintegration 221

B.1 Der WAM-Ansatz 222
B.2 Die WAM-Schichtenarchitektur 223
B.3 Literatur 227

Anhang C Programmierwerkzeuge 229
C.1 Entwicklungsumgebungen 229
C.2 Versionsverwaltungssysteme 230
C.3 Testtools 232
C.4 Refactoring-Browser 233
C.5 Make-Werkzeuge 234

Anhang D Programmierrichtlinien 239

Glossar 269

Stichwortverzeichnis 279