A Practical Guide to eXtreme Programming

A Practical Guide to eXtreme Programming

3.44 (9 ratings by Goodreads)
By (author)  , By (author)  , By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 3 business days
When will my order arrive?


XP is taking off like a rocket, rapidly becoming the world's most popular agile methodology. Now, there's a readable, concise guide that brings together all the guidance and best practices you need to make XP work in your organization. The authors begin by introducing the key practices that developers must take to heart in order to make XP work, and the key players in an XP project -- including developers, managers, and customers. You'll learn how to create a vision of your proposed software system, write effective user stories and acceptance tests, and plan for regular releases and iterations. The book identifies best practices for XP testing, "coding with intention," integration, and refactoring -- showing how developers can overcome the challenges early XP implementers have encountered, and achieve the powerful benefits XP can provide. For all software developers, architects, analysts, and project managers interested in XP and agile methodologies.
show more

Product details

  • Paperback | 384 pages
  • 152.4 x 226.06 x 20.32mm | 521.63g
  • Prentice Hall
  • Upper Saddle River, United States
  • English
  • 0130674826
  • 9780130674821

Back cover copy

The one-stop guide for everyone getting started with eXtreme Programming!

Making XP principles work in the real worldBest practices for the entire project lifecycle: conceptualization through deliveryUnderstand the role of every participant: developer, manager, and customerSpecific solutions to the most common XP transitioning problems

Practically overnight, Extreme Programming (XP) has become one of the world's leading agile methodologies. Now, there's an easy, concise introduction that delivers all the guidance and best practices you need to make XP work in your organization!

A Practical Guide to eXtreme Programming doesn't just introduce key XP principles such as simplicity, communication, and feedback: it shows how to make them work in the real world. Using a start-to-finish case study, this book covers the entire project lifecycle, every key task, and the role of every XP participant--developers, managers, and customers. Coverage includes:

Envisioning your proposed software systemWriting effective user stories and acceptance testsPlanning for regular releases and iterations"Coding with intention"Best practices for integration, refactoring, testing, and deliveryOvercoming the challenges of transitioning to XP

Want all the benefits XP can provide? Want to implement XP as smoothly and painlessly as possible? This is the place to start!
show more

Table of contents

(NOTE: Each section ends with a conclusion.)

Foreword by Scott W. Ambler.



1. Extreme Principles.

Work with Your Customers. Using Metaphors to Describe Difficult Concepts. Plan. Keeping Meetings Short. Test First. Keep it Simple. Program in Pairs. Code to Standards. Own it Collectively. Integrate Continuously. Refactor. Release in Small Increments. Don't Burn Out (40-Hour Work Week). Embrace Change.

2. The Players.

Two Teams. The Customer Team. The Development Team. The Role of Roles. Establishing Rights.


3. Creating a Vision of the System.

Conceptualizing the System. The Vision Card. The Metaphor. Metaphors for Development.

4. Writing User Stories.

The Philosophy of User Stories. User Stories. Numbering the Stack. Appendix to Chapter 4.

5. Writing Acceptance Tests.

What Is an Acceptance Test? Writing Tests. Difficulty with Acceptance Tests. Infinitely Many Acceptance Tests. Automating Acceptance Tests. Conclusion.

6. One Simple Solution.

What Are We Looking for? Keep It Simple. Conceptual Solution Spikes. Conclusion.

7. Watching Our Words.

The Problem. What's in a Name. Constant Refactoring and Communicating.


8. Providing Estimates.

Proving Estimates. Assumptions, Splitting. Planning Spikes. Conclusion.

9. Planning Releases.

Velocity. The Cost of the Release. Establishing Priorities. Pair Programming. Creating the Release Plan. Conclusion.

10. Planning Iterations.

Creating a Series of Iterations. The Setting for Iteration Planning. The First Iteration. Subsequent Iterations. Scheduling Iterations. Conclusion.

11. Tactical Planning.

Beginning an Iteration. Volunteering for Tasks. Standup Meetings. Tracking the Project. Finishing Early.


12. Pair Programming.

The Mechanics of Pair Programming. Development as a Conversation. Peer Pressure. Double the Fun. The Net Effect. As Fast as the Slowest. Conclusion.

13. Test First.

The XP Project. Why Test? What to Test. When to Test. How to Test: A Testing Framework. Warranted Assumptions Revisited: Test Driven Development. Conclusion.

14. Design.

Design and XP. Where Design Patterns Fit in XP. Architecture and XP. Agile Modeling. What is Agile Modeling (AM)? Overview of the Values, Principles, and Practices of Agile Modeling (AM).

15. Code With Intention.

What's in a Name. Simplicity is the Ultimate Complexity. Warranted Assumptions. Let the Compiler Tell You. "No Comment". Collective Code Ownership. Better to Burn Out than to Fade Away? Happy Developers Are Productive Developers. Get a Life. Conclusion.

16. Refactoring.

Examples of Refactorings. Courage. Code Smells. When to Refactor. The Two Hats. Refactoring to Patterns. Example of Refactoring. Conclusion.

17. Relentless Integration.

Some Practical Advice. Only Check in When Tests Pass at 100 Percent. An Antipattern. Approaches to Integration. What About Code Reviews. The Impact of Collective Code Ownership.


18. Delivering the System.

Delivery Day. Productionizing. Testing. Celebrating Victories.


19. Adopting and Adapting XP.

Understanding XP. Adopting XP. Methods of Adoption. Adapting XP. XP Practices. Return on Investment. Conclusion.

20. Scaling XP.

Large-Scale Development. Organizing the Large XP Project. Open and Honest Communication. Integration. The Importance of Good People. Conclusion.

21. The Future of XP.

Where XP is Going. On to the Battlefield. A Holonic Approach to XP. Software Development as a Craft. Evolving XP.

Appendix: Example.
show more

About Granville Miller

DAVE ASTELS has more than 17 years' experience as a software developer in areas ranging from embedded environment control to intellectual property protection systems to electrical energy trading systems. For more than a decade, he has been working almost exclusively with object technologies. He runs his own consulting company specializing in Extreme Programming and pervasive Java solutions.

GRANVILLE MILLER is co-author of Addison Wesley's Advanced Use Case Modeling series of books, has presented tutorials at object-oriented technology conferences worldwide, and has worked with companies ranging from early-stage startups to the world's most established software giants.

MIROSLAV NOVAK has been a proponent of eXtreme Programming for nearly three years, actively following its development and taking advantage of opportunities to apply its tenets. Miroslav is a Mentor at Togethersoft Corporation. He currently teaches and develops workshops and contributes to product development specification and testing.
show more

Rating details

9 ratings
3.44 out of 5 stars
5 11% (1)
4 33% (3)
3 44% (4)
2 11% (1)
1 0% (0)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X