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