Vorwort | 7 |
Vorwort zur 1. Auflage | 9 |
Inhaltsverzeichnis | 11 |
1 Einleitung | 17 |
1.1 Unser Ziel | 17 |
1.2 Unser Vorgehen in diesem Buch | 18 |
1.3 Der Aufbau dieses Buches | 19 |
1.4 Das Buch einsetzen | 19 |
2 Einführung | 23 |
2.1 Unsere Sicht auf Softwareentwicklung | 24 |
2.2 Werte hinter agiler Softwareentwicklung | 26 |
2.3 Das agile Manifest | 29 |
2.4 Grundsätzliches agiles Vorgehen | 32 |
2.5 Begriffsklärung | 34 |
2.6 Weiter im Text | 35 |
3 Management, Team, Entwicklung: Wie lernen wir kontinuierlich? | 37 |
3.1 Agile Sichtweise | 37 |
3.2 Agile Lösung | 37 |
3.3 Bezüge zu anderen agilen Praktiken | 40 |
3.4 Übungsaufgaben | 40 |
4 Management und Team: Wie schätzen wir Aufwände? | 41 |
4.1 Agile Sichtweise | 41 |
4.2 Agile Lösung | 42 |
4.3 Bezüge zu anderen agilen Praktiken | 52 |
4.4 Übungsaufgaben | 52 |
5 Management: Wie schreiben wir Anforderungen auf? | 53 |
5.1 Agile Sichtweise | 53 |
5.2 Agile Lösung | 54 |
5.3 Bezüge zu anderen agilen Praktiken | 59 |
5.4 Übungsaufgaben | 59 |
6 Management: Mit welchen Anforderungen fangen wir an? | 61 |
6.1 Agile Sichtweise | 61 |
6.2 Agile Lösung | 62 |
6.3 Bezüge zu anderen agilen Praktiken | 65 |
6.4 Übungsaufgaben | 65 |
7 Management: Wie organisieren wir uns zeitlich? | 67 |
7.1 Agile Sichtweise | 67 |
7.2 Agile Lösung | 68 |
7.3 Bezüge zu anderen agilen Praktiken | 71 |
7.4 Übungsaufgaben | 71 |
8 Management: Wer entscheidet beim Kunden? | 73 |
8.1 Agile Sichtweise | 74 |
8.2 Agile Lösung | 74 |
8.3 Bezüge zu anderen agilen Praktiken | 76 |
8.4 Übungsaufgaben | 76 |
9 Management: Wie können Details geklärt werden? | 79 |
9.1 Agile Sichtweise | 79 |
9.2 Agile Lösung | 80 |
9.3 Bezüge zu anderen agilen Praktiken | 83 |
9.4 Übungsaufgaben | 83 |
10 Team: Wie transportieren wir Wissen zwischen allen Teammitgliedern? | 85 |
10.1 Agile Sichtweise | 85 |
10.2 Agile Lösung | 86 |
10.3 Bezüge zu anderen agilen Praktiken | 91 |
10.4 Übungsaufgaben | 91 |
11 Team: Wie und wo setzt sich ein Team zusammen? | 93 |
11.1 Agile Sichtweise | 93 |
11.2 Agile Lösung | 94 |
11.3 Bezüge zu anderen agilen Praktiken | 95 |
11.4 Übungsaufgaben | 96 |
12 Entwicklung: Wer darf an welchem Quelltext Änderungen vornehmen? | 97 |
12.1 Agile Sichtweise | 97 |
12.2 Agile Lösung | 98 |
12.3 Bezüge zu anderen agilen Praktiken | 100 |
12.4 Übungsaufgaben | 100 |
13 Team: Wer macht eigentlich gerade was? | 103 |
13.1 Agile Sichtweise | 103 |
13.2 Agile Lösung | 104 |
13.3 Bezüge zu anderen agilen Praktiken | 106 |
13.4 Übungsaufgaben | 107 |
14 Team: Wo, wann und wie diskutieren wir Design und Architektur? | 109 |
14.1 Agile Sichtweise | 109 |
14.2 Agile Lösung | 111 |
14.2.1 Quick Design Sessions | 112 |
14.2.2 Testgetriebener Entwurf | 114 |
14.2.3 Design und Architektur bei Feature Driven Development | 116 |
14.3 Bezüge zu anderen agilen Praktiken | 118 |
14.4 Übungsaufgaben | 118 |
15 Entwicklung: Wie können technische Details geklärt werden? | 119 |
15.1 Agile Sichtweise | 119 |
15.2 Agile Lösung | 120 |
15.3 Bezüge zu anderen agilen Praktiken | 122 |
15.4 Übungsaufgaben | 122 |
16 Management: Wie wird Projektfortschritt ehrlich messbar? | 123 |
16.1 Agile Sichtweise | 123 |
16.2 Agile Lösung | 124 |
16.3 Bezüge zu anderen agilen Praktiken | 130 |
16.4 Übungsaufgaben | 130 |
17 Management: Wann ist eine Anforderung erledigt? | 131 |
17.1 Agile Sichtweise | 131 |
17.2 Agile Lösung | 134 |
17.3 Bezüge zu anderen agilen Praktiken | 135 |
17.4 Übungsaufgaben | 136 |
18 Entwicklung: Wie häufig liefern wir Software aus? | 137 |
18.1 Agile Sichtweise | 137 |
18.2 Agile Lösung | 138 |
18.3 Bezüge zu anderen agilen Praktiken | 141 |
18.4 Übungsaufgaben | 142 |
19 Entwicklung: Wie häufig integrieren wir unsere Entwicklung? | 143 |
19.1 Agile Sichtweise | 144 |
19.2 Agile Lösung | 145 |
19.3 Bezüge zu anderen agilen Praktiken | 147 |
19.4 Übungsaufgaben | 147 |
20 Entwicklung: Wie halten wir die Qualität im Sinne von Wartbarkeit hoch? | 149 |
20.1 Agile Sichtweise | 150 |
20.2 Agile Lösung | 151 |
20.3 Bezüge zu anderen agilen Praktiken | 152 |
20.4 Übungsaufgaben | 152 |
21 Management: Wie gehen wir mit Anforderungsmengen um? | 153 |
21.1 Agile Sichtweise | 153 |
21.2 Agile Lösung | 154 |
21.2.1 Product Backlog vs. Sprint Backlog | 154 |
21.2.2 Gruppierung über Feature-Sets (FDD) | 155 |
21.2.3 Speziallösung für Festpreisprojekte | 156 |
21.2.4 Umgehen mit widersprüchlichen Anforderungen | 157 |
21.3 Bezüge zu anderen agilen Praktiken | 158 |
21.4 Übungsaufgaben | 159 |
22 Management: Wer hilft uns bei Problemen mit dem agilen Vorgehen? | 161 |
22.1 Agile Sichtweise | 161 |
22.2 Agile Lösung | 162 |
22.3 Bezüge zu anderen agilen Praktiken | 163 |
22.4 Übungsaufgaben | 163 |
23 Ausgewählte agile Methoden | 165 |
23.1 eXtreme Programming | 165 |
23.1.1 Die fünf Werte des eXtreme Programming | 166 |
23.1.2 Die 14 Prinzipien des eXtreme Programming | 167 |
23.1.3 Die 13 Primärpraktiken | 169 |
23.1.4 Die 11 Folgepraktiken | 172 |
23.1.5 Rollen in eXtreme Programming | 175 |
23.1.6 Projektablauf bei eXtreme Programming | 176 |
23.2 Scrum | 177 |
23.2.1 Die Rollen bei Scrum | 177 |
23.2.2 Projektablauf bei Scrum | 178 |
23.3 Feature Driven Development | 180 |
23.3.1 Erstelle das Gesamtmodell | 181 |
23.3.2 Erstelle die Feature-Liste | 181 |
23.3.3 Plane je Feature | 182 |
23.3.4 Entwirf je Feature | 182 |
23.3.5 Entwickle je Feature | 182 |
23.3.6 Gesamtüberblick über FDD | 183 |
23.3.7 Diskussion: Ist FDD agil? | 183 |
23.4 Kanban | 185 |
23.4.1 Prinzipien von Kanban | 186 |
23.4.2 Kanban als Change-Management-Methode | 189 |
24 Kontraindikation und Indikation | 191 |
24.1 Kontraindikation | 192 |
24.1.1 Kontraindikationen im Bereich des Kunden | 192 |
24.1.2 Kontraindikationen im Bereich der Entwickler | 196 |
24.1.3 Kontraindikationen im Bereich von Technologien | 197 |
24.2 Indikation | 198 |
24.2.1 Indikationen im Bereich des Kunden | 199 |
24.2.2 Indikationen im Bereich der Entwickler | 200 |
24.2.3 Indikationen im Bereich von Technologien | 201 |
24.3 Zusammenfassung | 202 |
25 Rückblick | 203 |
A Übersetzungen | 205 |
A.1 Deutsche Übersetzung der Begriffe aus dem eXtreme Programming | 205 |
A.1.1 Werte | 205 |
A.1.2 Prinzipien | 206 |
A.1.3 Primärpraktiken | 206 |
A.1.4 Folgepraktiken | 207 |
A.2 Deutsche Übersetzung der Begriffe in Scrum | 207 |
A.2.5 Rollen | 207 |
A.2.6 Mittel | 207 |
A.3 Deutsche Übersetzung der Begriffe im Feature Driven Development | 208 |
A.4 Deutsche Übersetzung einiger Begriffe bei Software-Kanban | 208 |
Literaturverzeichnis | 209 |
Index | 215 |