Ron Jeffries was the on-site XP coach for the original Extreme Programming project, a large financial system for a major automotive manufacturer. An independent consultant who has been involved in eXtreme Programming for over more than four years, he has presented numerous talks and published several papers on the topic. Ron has been a systems developer for more years than most of you have been alive, and his teams have built operating systems, compilers, relational database systems, and a wide range of applications. He has not, as yet, run out of new ways to make mistakes (and resolve them). Ron has recently joined forces with Object Mentor, Inc., to help more people improve their software process.
Ann Anderson is an independent consultant engaged full time in coaching XP and in teaching and using Smalltalk for financial applications development. Ann was a team member on the large payroll system that was the original proving ground for Extreme Programming. Throughout her career she has been involved in object-oriented projects spanning control systems, insurance, tax, and finance.
Chet Hendrickson is a systems architect at ThoughtWorks, Inc, where he makes sure that programmers and customers know and understand their rights. Previously, Chet was a senior software systems specialist at a major automobile manufacturer, where he worked on a large operational finance system that was the test bed for Extreme Programming. He was the winner of the Project Manager Game at OOPSLA'99 (although he thinks it might have been rigged).
Extreme Programming (XP) is a revolutionary lightweight methodology that's supercharging software development in organizations worldwide. Perfect for small teams producing software with fast-changing requirements, XP can save time and money while dramatically improving quality. In XP Installed, three participants in DaimlerChrysler's breakthrough XP project cover every key practice associated with XP implementation. The book consists of a connected collection of essays, presented in the order the practices would actually be implemented during a project. Ideal as both a start-to-finish tutorial and quick reference, the book demonstrates exactly how XP can promote better communication, quality, control, and predictability. An excellent complement to the best selling Extreme Programming Explained, it also works perfectly on a standalone basis, for any developer or team that wants to get rolling with XP fast.
Click below for Sample Chapter related to this title:
1. Extreme Programming.
2. The Circle of Life.
3. On-Site Customer.
4. User Stories.
5. Acceptance Tests.
Sidebar: Acceptance Test Samples.
6. Story Estimation.
Interlude: Sense of Completion.
7. Small Releases.
8. Customer Defines Release.
9. Iteration Planning.
10. Quick Design Session.
Sidebar: Code Quality.
12. Pair Programming.
13. Unit Tests.
14. Test First, by Intention.
15. Releasing Changes.
16. Do or Do Not.
17. Experience Improves Estimates.
18. Resources, Scope, Quality, Time.
20. Steering the Iteration.
21. Steering the Release.
22. Handling Defects.
Sidebar: Advanced Issue: Defect Databases.
Sidebar: Advanced Practice: Tests as Database.
24. We'll Try.
25. How to Estimate Anything.
27. It's Chet's Fault.
28. Balancing Hopes and Fears.
29. Testing Improves Code.
30. XPer Tries Java.
31. A Java Perspective.
32. A True Story.
33. Estimates and Promises.
34. Everything That Could Possibly Break.
There aren't any silver bullets in software development, and there probably never will be. However, Extreme Programming is a simple set of common-sense practices that, when used together, really can give you much of what you just read in the paragraph above. In this book, we tell you what the XP practices are, and how to install them in your project.
We are software developers. We have been involved in many successful projects, and even in some that weren't so successful. The successful ones were a lot more fun, for us, and for our customers. The unsuccessful ones have taught us a great deal about software development.
We have had the privilege of working on a great project, with a great teacher, Kent Beck. We helped shape the software process named Extreme Programming, XP for short. Since then, we have been helping everyone who will listen to learn from our experience.
The first book in the Extreme Programming series, Extreme Programming Explained , covers the reasoning behind the XP process. Based on our experience on the original XP project (and others), this book describes what makes XP work, day to day and month to month.
Successful software development is a team effort--not just the development team but the larger team consisting of customers, management, and developers. Extreme Programming is a simple process that brings these people together and helps them to succeed together. XP is aimed primarily at object-oriented projects using teams of a dozen or fewer programmers in one location. We would use XP for both in-house development and development of shrink-wrapped software. The principles of XP apply to any moderately sized project that needs to deliver quality software rapidly and flexibly.
XP is about balancing the needs of customers with the abilities of programmers, and about steering (managing the project to success). If you're a customer, a programmer, or a manager, here's what this book offers you:
Customers--who have software that needs to be developed: you will learn simple, effective ways to communicate what you need, to be sure that you are getting what you need, and to steer the project to success. You will learn that you can change your mind and still get what you need on time.
Programmers--who, on an XP project, define the architecture, design the system, and write the tests and the code that support them: you will learn how to deliver business value quickly, how to deal with changing requirements, and how to build customer confidence and support. You will learn to build for tomorrow by building only what you need today.
Managers--who control the project resources: you will learn how to measure project progress, how to measure quality, and how to answer the all-important question, "When will you be done?" You will learn an important truth of management--to use the programmers' actual performance to predict completion.
Customers, programmers, and managers must all work together to build the system that's needed. Chapter 1, Extreme Programming, will describe the roles, rights, and responsibilities, and provide a road map for the book. Dig right in. We're sure that the XP practices can improve your projects, as they have ours.