E-Book, Deutsch, 240 Seiten
Eckstein Agile Softwareentwicklung mit verteilten Teams
1. Auflage 2009
ISBN: 978-3-86491-082-1
Verlag: dpunkt
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Deutsch, 240 Seiten
ISBN: 978-3-86491-082-1
Verlag: dpunkt
Format: PDF
Kopierschutz: 1 - PDF Watermark
Jutta Eckstein ist Beraterin und Trainerin für agile Softwareentwicklung, Kommunikations-Managerin sowie Partner von IT Communications. Ihr Wissen über agile Prozesse basiert auf mehr als zehn Jahre langer Erfahrung bei der Entwicklung objektorientierter Anwendungen. In Projekten mit bis zu 300 Personen lag ihr Schwerpunkt auf der Einführung und Umsetzung angemessener (agiler) Prozesse. Sie ist Mitglied der Agile Alliance und unterstützt das Agile Manifest. Sie hält Seminare und ist Vortragende auf mehreren Konferenzen (z.B. OOP, Jax). Mehr Informationen findet man unter jeckstein.de oder it-communication.de.
Zielgruppe
- Softwareentwickler
- Gruppen-, Team-, Projektleiter
- IT-Manager
- IT-Entscheider
Autoren/Hrsg.
Weitere Infos & Material
1;Inhaltsverzeichnis;6
2;Vorwort;12
3;Danke;14
4;1 Einführung;16
4.1;1.1 Fokus dieses Buches;17
4.1.1;1.1.1 Projekterfahrung;17
4.1.2;1.1.2 Wem hilft dieses Buch;18
4.1.3;1.1.3 Was dieses Buch nicht beinhaltet;18
4.2;1.2 Fahrplan für das Buch;19
5;2 Agilität und verteilte Projekte;22
5.1;2.1 Verteilte Entwicklung verstehen;22
5.1.1;2.1.1 Beteiligung mehrerer Entwicklungsstandorte;23
5.1.2;2.1.2 Verteilte und verstreute Teams;23
5.1.3;2.1.3 Große Projekte;24
5.1.4;2.1.4 Beteiligung verschiedener Firmen;25
5.1.5;2.1.5 Verschiedene Strukturen;26
5.1.6;2.1.6 Weit entfernte Kunden;27
5.1.7;2.1.7 Zentrale Koordinierung oder globale Integration;27
5.1.8;2.1.8 Distanz überwinden;28
5.2;2.2 Agilität verstehen;29
5.2.1;2.2.1 Wertesystem;29
5.2.2;2.2.2 Systemische Vorgehensweise;30
5.2.3;2.2.3 Risikoreduzierung;31
5.2.4;2.2.4 Agil: Nicht notwendigerweise produktiver;32
5.2.5;2.2.5 Mehr als nur Praktiken;32
5.2.6;2.2.6 Weder chaotisch noch undiszipliniert;32
5.3;2.3 Einfluss agiler Prinzipien auf verteilte Entwicklung;33
5.4;2.4 Zusammenfassung;36
6;3 Teambildung;38
6.1;3.1 Featureteams;40
6.1.1;3.1.1 Zusammensitzende oder standortübergreifende Teams;41
6.1.2;3.1.2 Verstreute Teams;43
6.1.3;3.1.3 Ein Team formen;44
6.2;3.2 Rollen;47
6.2.1;3.2.1 Konstellation eines Featureteams;47
6.2.2;3.2.2 Architekt und Chefarchitekt;49
6.2.3;3.2.3 Coach;53
6.2.4;3.2.4 Product Owner oder Produktmanager;55
6.2.5;3.2.5 Projektleiter;58
6.2.6;3.2.6 Schlüsselrollen sitzen mit ihren Teams zusammen;59
6.3;3.3 Konzeptionelle Integrität sicherstellen;60
6.3.1;3.3.1 Startteam hat Vorbildfunktion;60
6.3.2;3.3.2 Technisches Serviceteam;60
6.4;3.4 Zusammenfassung;61
7;4 Kommunikation und Vertrauen;64
7.1;4.1 Vertrauen und gegenseitiger Respekt;65
7.1.1;4.1.1 Grenzwert für vertrauensvolle Beziehungen;66
7.1.2;4.1.2 Wechselnde Treffpunkte;67
7.1.3;4.1.3 Vokabular;67
7.2;4.2 Kommunikation;69
7.2.1;4.2.1 Persönliche Teammeetings;69
7.2.2;4.2.2 Persönliche Projektmeetings;70
7.2.3;4.2.3 Mitarbeiterrotation;71
7.2.4;4.2.4 Kommunikation hat ihren Preis;71
7.2.5;4.2.5 Kenntnis des Kommunikationsflusses;72
7.3;4.3 Kulturelle Unterschiede;73
7.3.1;4.3.1 Fokus auf Gemeinsamkeiten;74
7.3.2;4.3.2 Gestaltung einer Kultur;75
7.3.3;4.3.3 Realistische Planung;77
7.3.4;4.3.4 Verantwortung übernehmen;77
7.3.5;4.3.5 Probleme ansprechen;78
7.3.6;4.3.6 Ehrliches Feedback geben;79
7.3.7;4.3.7 Lärm;80
7.3.8;4.3.8 Humor;81
7.3.9;4.3.9 Sorgfältige Auswahl der Kommunikationsmedien;81
7.4;4.4 Zusammenfassung;83
8;5 Standorte in Verbindung halten;84
8.1;5.1 Kommunikationsvermittler;85
8.1.1;5.1.1 Kommunikationsvermittler als Vertrauensperson;86
8.1.2;5.1.2 Kompetenzen eines Kommunikationsvermittlers;86
8.1.3;5.1.3 Management durch Herumfliegen;86
8.2;5.2 Botschafter;87
8.2.1;5.2.1 Standorte repräsentieren;88
8.2.2;5.2.2 Eigenschaften und Kompetenzen eines Botschafters;89
8.2.3;5.2.3 Terminplan;90
8.2.4;5.2.4 Konkrete Aufgaben;90
8.3;5.3 Soziale Verbindungen;91
8.3.1;5.3.1 Gemeinsam feiern;91
8.3.2;5.3.2 Die Kraft der Bilder;91
8.3.3;5.3.3 Am Leben der anderen teilhaben;92
8.3.4;5.3.4 Reisen angenehmer machen;92
8.4;5.4 Werkzeuge;93
8.4.1;5.4.1 Direkte Verbindungen;93
8.4.2;5.4.2 Synchron versus asynchron;94
8.4.3;5.4.3 Audio oder Video;95
8.4.4;5.4.4 Instant Messaging;96
8.4.5;5.4.5 E-Mail;97
8.4.6;5.4.6 Virtueller Raum;98
8.4.7;5.4.7 Gemeinsames Repository;98
8.4.8;5.4.8 Wiki und andere Kollaborationsplattformen;98
8.5;5.5 Zusammenfassung;100
9;6 Entwickeln und Ausliefern;102
9.1;6.1 Iterationen;103
9.1.1;6.1.1 Iterationslänge;103
9.1.2;6.1.2 Das Konzept von done-done;104
9.1.3;6.1.3 Iterationen als Herzschlag;105
9.1.4;6.1.4 Verzögern der Auslieferung;105
9.2;6.2 Release;107
9.2.1;6.2.1 Release-Iteration;107
9.2.2;6.2.2 Releasestandort;108
9.3;6.3 Integration und Build;108
9.3.1;6.3.1 Lokal funktionierende Integration;109
9.3.2;6.3.2 Integration erfordert Aufwand;109
9.3.3;6.3.3 Ein fehlgeschlagener Build stoppt die Produktion;111
9.3.4;6.3.4 Integration als Herz des Projekts;112
9.4;6.4 Infrastruktur;113
9.4.1;6.4.1 Prozesse und Werkzeuge für Integration und Build;113
9.4.2;6.4.2 Konfigurationsmanagement;115
9.4.3;6.4.3 Strom;118
9.4.4;6.4.4 Netzwerk;118
9.4.5;6.4.5 Sicherheit;119
9.4.6;6.4.6 Werkzeuge;120
9.5;6.5 Zusammenfassung;120
10;7 Der Geschäftswert ist das Ziel;122
10.1;7.1 Steuerung mithilfe wertvoller Funktionalitäten;122
10.1.1;7.1.1 Verbindung zum realen Kunden;123
10.1.2;7.1.2 Iterationsvorbereitung;125
10.1.3;7.1.3 Anforderungen verstehen;127
10.1.4;7.1.4 Benötigte Dokumentation als Anforderung behandeln;128
10.2;7.2 Teamgeschwindigkeit;129
10.2.1;7.2.1 Mit unbekannter Teamgeschwindigkeit planen;129
10.2.2;7.2.2 Schätzeinheit;131
10.2.3;7.2.3 Planungspoker;132
10.2.4;7.2.4 Unterschiedliche Teamgeschwindigkeiten;135
10.3;7.3 Iterationsplanung;136
10.3.1;7.3.1 Featureteams planen individuell;136
10.3.2;7.3.2 Planungstreffen;137
10.3.3;7.3.3 Termin für das Planungstreffen;138
10.3.4;7.3.4 Handfeste Planungswerkzeuge;139
10.4;7.4 Iterationsverfolgung;140
10.4.1;7.4.1 Planungs- und Nachverfolgungswerkzeuge;140
10.4.2;7.4.2 Ziele im Fokus behalten;141
10.5;7.5 Umgang mit Änderungen;143
10.5.1;7.5.1 Die Iterationslänge bestimmt das Antwortzeitverhalten;144
10.5.2;7.5.2 Mit Änderungswünschen umgehen;144
10.5.3;7.5.3 Die Teamstruktur verändern;145
10.6;7.6 Projektplan;146
10.6.1;7.6.1 Releaseplanung;146
10.6.2;7.6.2 Prognosen;148
10.6.3;7.6.3 Release versus Meilenstein;149
10.7;7.7 Zusammenfassung;150
11;8 Feedback;152
11.1;8.1 Den Kunden involvieren;153
11.1.1;8.1.1 Wer ist der Kunde?;153
11.1.2;8.1.2 Kunde auf Distanz;154
11.1.3;8.1.3 Kundenpräsentation;155
11.2;8.2 Rückblick;155
11.2.1;8.2.1 Iterationsrückblick;156
11.2.2;8.2.2 Rückblick - verteilt individuell versus gemeinsam persönlich;156
11.2.3;8.2.3 Releaserückblick;158
11.3;8.3 Retrospektive;159
11.3.1;8.3.1 Individuelle Featureteamretrospektive;161
11.3.2;8.3.2 Gemeinsame Projektteamretrospektive;162
11.3.3;8.3.3 Gemeinsame Standortretrospektive;164
11.3.4;8.3.4 Durchführung einer Retrospektive;164
11.3.5;8.3.5 Virtuelle Retrospektive;165
11.3.6;8.3.6 Teilnehmer;167
11.3.7;8.3.7 Weniger ist mehr und andere Tricks;168
11.3.8;8.3.8 Gegen die Langeweile - Moderationstechniken;169
11.4;8.4 Metriken;172
11.4.1;8.4.1 Fortschritt messen;173
11.4.2;8.4.2 Schätzqualität messen;175
11.4.3;8.4.3 Testbasis vergrößern;176
11.5;8.5 Zusammenfassung;176
12;9 Praktiken;178
12.1;9.1 Entwicklungspraktiken;178
12.1.1;9.1.1 Paarweises Programmieren;179
12.1.2;9.1.2 Unit Test;181
12.1.3;9.1.3 Refactoring;181
12.1.4;9.1.4 Gemeinsame Verantwortlichkeit;186
12.1.5;9.1.5 Gemeinsame Programmierrichtlinien;186
12.1.6;9.1.6 Features durch Tests übermitteln;187
12.1.7;9.1.7 Mühe mit Praktiken von der Stange;191
12.2;9.2 Prozesspraktiken;192
12.2.1;9.2.1 Tägliche Synchronisation;192
12.2.2;9.2.2 Projektweite Synchronisation;193
12.2.3;9.2.3 Verstreute Synchronisation;195
12.3;9.3 Entwicklungskultur;200
12.3.1;9.3.1 Gemeinsame Praktiken erfassen;200
12.3.2;9.3.2 Vereinbarte Praktiken ändern;201
12.3.3;9.3.3 Unterschiedliche Entwicklungskulturen;202
12.3.4;9.3.4 Standortübergreifend den Prozess mit CMMI oder ISO harmonisieren;203
12.3.5;9.3.5 Gleiches Recht für alle;205
12.4;9.4 Zusammenfassung;206
13;10 Agilität in ein verteiltes Projekt einführen;208
13.1;10.1 Lokal beginnen - global wachsen;209
13.1.1;10.1.1 Projektstart;210
13.1.2;10.1.2 Frühzeitige Iterationen;211
13.1.3;10.1.3 Ein Team - wechselnde Standorte;212
13.2;10.2 Teams und Standorte vergrößern;213
13.2.1;10.2.1 Projektstart in der Timebox;214
13.2.2;10.2.2 Kick-off;214
13.2.3;10.2.3 Die Projektkultur verbreiten;216
13.2.4;10.2.4 Kulturelles Training;216
13.2.5;10.2.5 Neue Mitarbeiter integrieren;218
13.3;10.3 Einen agilen Prozess in ein existierendes Projekt einführen;218
13.3.1;10.3.1 Einer nach dem anderen oder alle auf einmal;219
13.3.2;10.3.2 Veränderung der Teamstruktur;219
13.3.3;10.3.3 Mehr und bessere Coachs sind vonnöten;220
13.3.4;10.3.4 Schätzungen und Geschwindigkeit;221
13.3.5;10.3.5 Einzelkämpfer;222
13.4;10.4 Zusammenfassung;223
14;Nachwort;224
15;Glossar;226
16;Referenzen;230
17;Index;236