The authors offer guidelines for implementing XP, illustrating key points with valuable stories from successful XP pioneers.
List of Pioneer Stories.
Introduction: Playing to Win!
0. BEFORE YOU START. 0. XP Distilled.
The Planning Game.
Collective Code Ownership.
The Practices Work Together.
I. THE RIGHT MINDSET. 1. The Courage to Begin.
The Organizational Imperative.
Your Role. 2. Introducing XP.
Bring a Friend.
Find a Target.
Assemble the Right Tools.
The Lone Wolf.
A Single Pair.
A Small Team.
A Small Team with a Lead Developer.
It's All Right to Feel Awkward. 3. Taming the Resistance.
Where Resistance Comes From.
The Result That Matters.
What Not to Do. 4. Manager Resistance.
The Manager Perspective on Winning.
XP Is Too New to Trust.
XP Is Simplistic.
Pair Programming Is Too Expensive.
I Can't Afford a Full-Time, On-Site Customer.
XP Is Too Informal.
Be Wary of “XP-Lite”.
5. Developer Resistance.
Developers Are Different.
The Developer Perspective on Winning.
XP Is Too Simplistic.
I Won't Like Pair Programming.
XP Is Weird.
XP Doesn't Give Us Enough Information. 6. Having the Right Attitude.
Honesty and Trust.
II. First Things First. 7. The Bare Essentials.
The First Step.
The XP Essentials.
Remember the XP Values.
Get Feedback Early and Often.
Be Courageous. 8. Exception Handling.
Handling XP Exceptions Like Code Exceptions.
An Odd Number of Developers.
The Customer Won't Write Stories.
The Customer Won't Write Acceptance Tests.
Management Sets Unrealistic Schedules.
Management Doesn't Like Your Estimates.
Management Won't Let You Pair.
The Cost of Tea in China Doubles. 9. Can We Talk?
Atmosphere and Environment.
It Doesn't Stop There. 10. Planning Roles and Reality.
How XP Planning Is Different.
How to Steer.
Out in the Open.
Requirements are a Dialogue—Not a Document.
A Tool to Introduce Reality.
How the Roles Work with Multiple Projects.
When Roles Are Clear.
The Xtreme Hour. 11. Project Planning.
Charting the Course.
The Planning Game.
The Customer Writes Stories.
The Developers Estimate.
Breaking Down Stories.
Back to Estimating.
Determining Iteration Size.
Sorting the Stories.
Exploration Phase. 12. Iteration Planning.
What Plans Are.
The Iteration Planning Game.
Iteration Plan Verification.
One at a Time.
Fill Your Bag.
How to Start Planning.
The Art of Estimation.
The Last Word on Iterations and Planning. 13. Write the Tests, Run the Tests.
Keeping Code Clean.
Tests as Documentation.
How to Write Tests First.
What to Test.
How to Start Writing Tests First.
Testing User Interfaces.
Testing in Small Spaces.
Testing the Web.
Tests Have to Run Fast. 14. Stop the Maverick.
The Need for Speed.
How to Pair Program.
Don't Ignore Problem Children.
Taking It to the Next Level.
The Inevitable Objections.
When Not to Pair.
How to Start Pair Programming. 15. Making It Right.
Being Ready for Change.
Making Change Possible.
Putting Learning into Your Code.
How to Refactor.
When to Refactor.
When Not to Refactor.
When to Stop Refactoring.
How to Start Refactoring.
Why People Don't Refactor. 16. Pulling It Together.
How to Integrate Continuously.
How to Start Integrating Continuously.
Techniques to Make It Easier. Chapter 17 Staying on Process.
Why Teams Lose Their Way.
How to Get Back on Process.
III. THE REST OF THE STORY. 18. Designing the Simple.
Why People Don't Keep It Simple.
Why Keep Things Simple?
How to Start Doing Simple Design.
Why Not Start with Simple Design?
The Essential Design Tool. 19. It's Everybody's Job.
What Collective Ownership Means.
Moving From “I” to “We”.
Why Have Collective Code Ownership?
How to Start Having Collective Code Ownership.
Why Not Start with Collective Code Ownership? 20. Where's the Customer?
Why Have an On-Site Customer?
On-Site Versus Available When Needed.
How to Get an On-Site Customer.
Why Not Start with an On-Site Customer? 21. Knowing When You're Done.
Acceptance Tests as Documentation.
How to Write Acceptance Tests.
Automating Acceptance Tests.
What to Test.
How to Start Writing Acceptance Tests.
Why Not Start with Acceptance Testing? 22. Don't Get Distracted by the Code.
Why Have Coding Standards?
How to Start Having Coding Standards.
Why Not Start with a Coding Standard? 23. Overtime Is Not the Answer.
Why People Work Too Much.
What's Wrong with Burning the Midnight Oil?
How to Start Working Normal Hours.
Why Not Start with a 40-Hour Week? 24. Painting a Thousand Words.
Where the Concept of Metaphor Came From.
How to Start Creating Metaphors.
Why Not Start with a Metaphor? 25. Looking for Guidance.
Why You Do Need a Coach.
What If We Don't Have a Coach?
How to Coach.
How About a Player/Coach?
Why Start Without a Coach? 26. Keeping Score.
What to Track.
How to Track.
Why Not Start with a Tracker?
IV. UNCHARTED TERRITORY. 27. Selling XP.
How to Sell XP.
Developing a Track Record.
Relationships Sell. 28. XP and Startups.
Selling to Startups.
Strategic Initiatives: Startups in Disguise.
Joining Them. 29. Scaling XP.
Does Anything Really Scale?
Should You Need to Scale?
Why Can't XP Scale?
When to Scale.
How to Scale.
Reserving Judgment. 30. The Next Best Thing to Being There.
The Limits of Technology.
Can a Team Telecommute?
When to Try Distributed XP. 31. Measuring XP.
What to Measure.
The XP Challenge.
The Before-and-After Study.
What Having the Numbers Will Mean. 32. Where to Next?