Preface. xiii
Part I. Getting Started
1. Why Agile? 3
Understanding Success 4
Beyond Deadlines 4
The Importance of Organizational Success 5
Enter Agility 6
2. How to Be Agile 9
Agile Methods 9
Don’t Make Your Own Method 10
The Road to Mastery 11
Find a Mentor 12
3. Understanding XP 15
The XP Lifecycle 18
The XP Team 27
XP Concepts 39
4. Adopting XP43
Is XP Right for Us? 43
Go! 51
Assess Your Agility 62
Part II. Practicing XP
5. Thinking 69
Pair Programming 71
Energized Work 79
Informative Workspace 83
Root-Cause Analysis 88
Retrospectives 91
6. Collaborating 99
Trust 102
Sit Together 112
Real Customer Involvement 120
Ubiquitous Language 124
Stand-Up Meetings 129
Coding Standards 133
Iteration Demo 138
Reporting 144
7. Releasing153
“Done Done” 156
No Bugs 160
Version Control 169
Ten-Minute Build 177
Continuous Integration 183
Collective Code Ownership 191
Documentation 195
8. Planning 199
Vision 201
Release Planning 206
The Planning Game 219
Risk Management 224
Iteration Planning .. 233
Slack 246
Stories 253
Estimating 260
9. Developing271
Incremental Requirements 273
Customer Tests 278
Test-Driven Development 285
Refactoring 303
Simple Design 314
Incremental Design and Architecture 321
Spike Solutions 331
Performance Optimization 335
Exploratory Testing 341
Part III. Mastering Agility
10. Values and Principles 353
Commonalities 353
About Values, Principles, and Practices 354
Further Reading 354
11. Improve the Process 357
Understand Your Project 357
une and Adapt 358
Break the Rules 359
12. Rely on People 361
Build Effective Relationships 361
Let the Right People Do the Right Things 363
Build the Process for the People 364
13. Eliminate Waste 367
Work in Small, Reversible Steps 367
Fail Fast 369
Maximize Work Not Done 370
Pursue Throughput 371
14. Deliver Value 375
Exploit Your Agility 375
Only Releasable Code Has Value 376
Deliver Business Results 378
Deliver Frequently 379
15. Seek Technical Excellence381
Software Doesn’t Exist 381
Design Is for Understanding 382
Design Trade-offs 383
Quality with a Name 383
Great Design 383
Universal Design Principles 384
Principles in Practice 387
Pursue Mastery 388
References 391
Index... 397