Synopses & Reviews
- Software that performs required tasks and meets expectations
- Accurate estimation of time to completion and cost of development
- The opportunity to decide which features to include and which to defer
- Frequent small releases that incorporate continual customer feedback
- Constant integration and automated testing that insures clean code and robust performance
These are some of the many benefits of Extreme Programming (XP), a software development approach especially geared for smaller teams facing vague or rapidly changing requirements. Despite the "extreme" in its name, XP actually reduces risks--the risk of putting out software that is faulty, out of date at its release, over budget, or not fully capable of performing the tasks for which it was intended. Initially considered radical, XP has proven itself successful and is entering the mainstream of software development. The greatest challenge now facing software development managers and engineers is how to implement this beneficial approach.
Extreme Programming Installed explains the core principles of Extreme Programming and details each step in the XP development cycle. This book conveys the essence of the XP approach--techniques for implementation, obstacles likely to be encountered, and experience-based advice for successful execution. You will learn the best approaches to
- Working with an on-site customer
- Defining requirements with user "stories"
- Estimating the time and cost of each story
- Delivering small, frequent releases
- Performing constant integration and frequent iterations
- Running design sessions to help programmers move forward with confidence
- xUnit automated testing
- Handling defects in the fast-paced, team-oriented XP environment
- How to refine estimates and steer the development effort through frequent changes
The authors present the personal reflections of those who have been through the eXtreme Programming experience. Readers will benefit from first hand accounts of hard-won wisdom on topics such as the art of estimation, managing development infrastructure, solving problems without finger-pointing, the importance of simplicity, and how to introduce modern development tools into an environment where none existed.
Extreme Programming Installed is a short presentation of the core practices composing the emerging discipline of Extreme Programming (XP). The book is a connected collection of essays by experienced users of XP, and the material is presented in the order in which it should be implemented in a development project. The authors' unique approach allows this book to be used in a tutorial/user guide fashion, while the individual essays can be continually accessed as a quick reference to specific aspects of XP. The result is a book that allows the reader to improve the quality of their software development efforts with XP.
A guide to the core practices and implementation steps that compose the software development discipline of Extreme Programming (XP). The material is presented in the order in which it should be implemented in a development project allowing the book to be used in a tutorial fashion.
You will learn the best approaches to:- working with an on-site customer- Defining requirements with user 'stories'- Estimating the time and cost of each story- Delivering small, frequent releases- Performing constant integration and frequent iterations- Running design sessions to help programmers move forward- xUnit automated testing- Handling defects in the fas-paced XP environment- Refining estimates and steering the development effort through frequent changes.The authors present the personal reflections of those who have been through the eXtreme Programming experience.
About the Author
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).
Table of Contents
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.