: Christoph Mathis, Andreas Wintersteiger
: Agile Developer Skills Effektives Arbeiten in einem Scrum-Team
: entwickler.press
: 9783868022476
: 1
: CHF 17.80
:
: Informatik, EDV
: German
: 400
: kein Kopierschutz/DRM
: PC/MAC/eReader/Tablet
: PDF
Viele Unternehmen und Teams haben ihren Entwicklungsprozess umgestellt und agile Softwareentwicklung eingeführt. Begleitend zum Prozess müssen aber auch Fähigkeiten und Praktiken erlernt werden, um den Herausforderungen agiler Entwicklungsprozesse, insbesondere denen von Scrum gerecht zu werden. Im Gegensatz zu anderen Fachbüchern zum Thema Scrum konzentriert sich dieses Buch auf die Aufgaben des agilen Entwicklerteams. Es führt in die Praktiken sowie richtige Anwendung agiler Entwicklungstechniken ein und beantwortet Fragen zu spezifischen Situationen im Projekt. Das Buch stellt ein Einführung- und ein Referenzwerk für jeden agilen Entwickler zu diesen Themen dar: Agile Grundlagen für Entwickler Scrum, Lean und andere Methoden Qualität und agile Prozesse Konfigurationsmanagement für agile Teams Kontinuierliche Integration Testen, testgetriebenes Design und Refactoring Clean Code Architektur und emergentes Design Das agile Team Aufgaben und Situationen im Projekt Kontinuierliches Lernen Zusammenarbeit mit Product Owner und Kunden Arbeiten im Unternehmen

Christoph Mathis ist Certified Scrum Coach und Certified Scrum Trainer mit langjähriger Erfahrung mit Scrum und agiler Softwareentwicklung. Seine technischen Schwerpunkte konzentrieren sich auf agile Entwicklung vor allem für Java- und JEE-Systeme. Zur Zeit berät er hauptsächlich Teams und Firmen bei der Einführung und produktiven Umsetzung von Scrum, agilen Engineering-Praktiken und agilen Prozessen. Andreas Wintersteiger ist Certified Scrum Coach und Certified Scrum Trainer und als solcher bei Objectbay in Österreich tätig. Er ist Informatiker mit über 20 Jahren Erfahrung, war selbst in kleinen Startups und internationalen Großkonzernen tätig und hilft Entwicklungsteams bei der Einführung von Scrum und agilen Praktiken. Neben seiner beratenden Tätigkeit entwickelt er selbst in Java mit JBoss und Ruby.
Inhaltsverzeichnis5
Kapitel 1 – Einführung 15
1.1 Wissen, Techniken und Skills 16
1.2 Agile Engineering Skills 16
1.3 Skills zur Zusammenarbeit 17
1.4 Skills zur erfolgreichen Arbeit in der Organisation 17
1.5 Sieben Leitlinien für agile Entwickler 18
Kapitel 2 – Agile Grundlagen 21
2.1 Agiler Nutzen für Entwickler 21
2.2 Agiler Nutzen für Unternehmen 22
2.3 Woher kommt Agil 23
2.4 Das Agile Manifest 24
2.5 Wann kann man Agil einsetzen 26
2.6 Softwareentwicklung ist empirisch 29
2.7 Empirische Prozesse und Selbstorganisation 30
2.8 Feedback und Demings PDCA-Zyklus 31
2.9 Und die Methoden? 33
Kapitel 3 – Scrum-Konzepte 37
3.1 Warum Scrum? 37
3.2 Grenzen von Scrum 38
3.3 Wesentliche Scrum-Begriffe 39
3.4 Scrum im Kontext 41
3.5 Der Scrum-Prozess 42
3.6 Ready and Done 44
3.7 Scrum-Rollen 44
3.8 Scrum-Meetings 49
3.9 Scrum-Artefakte 53
3.10 Sprints organisieren 58
Kapitel 4 – Lean und Kanban 67
4.1 Lean Thinking - die Wurzel von Scrum 67
4.2 Prozessmerkmale von „Lean“ 68
4.3 „Lean“ in der Softwareentwicklung 69
4.4 Das Lean-Toolkit 71
4.5 Abgrenzung von „lean“ und agil 74
4.6 Was „lean“ nicht bedeutet 75
4.7 Kanban 76
Kapitel 5 – Entwickeln im agilen Projekt 83
5.1 Technische Exzellenz 84
5.2 Hindernisse 85
5.3 Technische Ziele und Mittel 86
Kapitel 6 – Qualität 91
6.1 Innere Qualität: die Arbeit an der Software 94
6.2 Äußere Qualität: die Arbeit in der Organisation 95
6.3 Umgang mit Fehlern 97
6.4 Metriken 99
Kapitel 7 – Konfigurationsmanagement 105
7.1 Grundlagen 105
7.2 Praxiswissen 110
7.3 CM-Praktiken für Scrum-Teams 126
7.4 Schritte in die Praxis 138
Kapitel 8 – Kontinuierliche Integration 141
8.1 Build-Automation 143
8.2 Continuous Integration leben 153
8.3 Continuous-Integration-Systeme 163
8.4 Schritte in die Praxis 175
Kapitel 9 – Agiles Testen 177
9.1 Testkategorien 179
9.2 Testautomation 186
9.3 Testumgebungen 190
9.4 Testgetriebene Entwicklung 192
9.5 Schritte in die Praxis 203
Kapitel 10 – Refaktorisieren 207
10.1 Wozu Refaktorisieren 209
10.2 Wenn Code verrottet: kontinuierlich Refaktorisieren 209
10.3 Refaktorisieren im TDD-Rhythmus 210
10.4 Übel riechender Code 212
10.5 Refaktorisierungen 215
10.6 Große Refactorings 222
10.7 Altsysteme testbar machen 223
10.8 Schritte in die Praxis 224
Kapitel 11 – Clean Code 227
11.1 Elementare Sauberkeit 228
11.2 Grundprinzipien 230
11.3 SOLID-Prinzipien 234
11.4 Schritte in die Praxis 238
Kapitel 12 – Emergente Architektur 241
12.1 Über Architektur 241
12.2 Produktvision und Architektur 244
12.3 Architektur beschreiben 246
12.4 Architektur herstellen: Vorgehensweisen 254
Kapitel 13 – Pair Programming 265
13.1 Was ist Pair Programming? 265
13.2 Vorteile und Mythen zu Pair Programming 265
13.4 Wie führe ich Pair Programming ein? 268
13.5 Was sind gute Praktiken? 270
13.6 Gren