Part 1: Thoughts about Software Development 1
Chapter 1: Learning Is the Bottleneck 3
Chapter 2: Personal Agility for Potent Agile Adoption 13
Part 2: Crafting an Agile Adoption Strategy 21
Chapter 3: Business Value 23
Chapter 4: Smells 29
Chapter 5: Adopting Agile Practices 37
Part 3: The
Pattern Catalog 53
Chapter 6: The Patterns of Agile Practice Adoption 55
Chapter 7: Goal 61
Chapter 8: Cycle 65
Part 3.1: Feedback Practices 69
Chapter 9: Iteration 71
Chapter 10: Kickoff Meeting 77
Chapter 11: Backlog 81
Chapter 12: Planning Poker 87
Chapter 13: Stand-Up Meeting 93
Chapter 14: Done State 99
Chapter 15: Demo 103
Chapter 16: Retrospective 109
Chapter 17: Release Often 115
Chapter 18: Co-Located Team 119
Chapter 19: Self-Organizing Team 125
Chapter 20: Cross-Functional Team 131
Chapter 21: Customer Part of Team 137
Chapter 22: Evocative Document 143
Chapter 23: User Story 149
Chapter 24: Use Case 153
Chapter 25: Information Radiator 157
Part 3.2: Technical Practices 161
Chapter 26: Automated Developer Tests 163
Chapter 27: Test-Last Development 173
Chapter 28: Test-First Development 177
Chapter 29: Refactoring 183
Chapter 30: Continuous Integration 189
Chapter 31: Simple Design 197
Chapter 32: Functional Tests 203
Chapter 33: Collective Code Ownership 219
Chapter 34: Pair Programming 223
Part 3.3: Supporting Practices 229
Chapter 35: Coach 231
Chapter 36: Engage the Community 235
Chapter 37: Reading Circle 239
Chapter 38: Workshop 245
Chapter 39: Classroom Training 249
Part 3.4: The Clusters 255
Chapter 40: Agile Iteration 257
Chapter 41: Communication Cluster 263
Chapter 42: Evolutionary Design 269
Chapter 43: Test-Driven Development 277
Chapter 44: Test-Driven Requirements 285
Part 4: Case Studies 293
Chapter 45: BabyCenter 295
Chapter 46: Company X 305
Part 5: Appendices 321
Appendix A: Pattern to Business Value Mappings 323
Appendix B: Pattern-to-Smell Mappings 325
Appendix C: Getting the Most from Agile Practice Patterns 327
Appendix D: Further Reading 331
Bibliography 333
Index 339