Extreme Programming (XP) was conceived and developed to address the specific needs of software development conducted by small teams in the face of vague and changing requirements. This new lightweight methodology challenges many conventional tenets, including the long-held assumption that the cost of changing a piece of software necessarily rises dramatically over the course of time. XP recognizes that projects have to work to achieve this reduction in cost and exploit the savings once they have been earned.
Fundamentals of XP include:
Why is XP so controversial? Some sacred cows don't make the cut in XP:
You may love XP, or you may hate it, but "Extreme Programming Explained" will force you to take a fresh look at how you develop software.
Foreword by Erich Gamma. Preface. I. THE PROBLEM. 1. Risk: The Basic Problem. Our Mission.2. A Development Episode. 3. Economics of Software Development. Options.Example.4. Four Variables. Interactions Between the Variables.Focus on Scope.5. Cost of Change. 6. Learning to Drive. 7. Four Values. Communication.Simplicity.Feedback.Courage.The Values in Practice.8. Basic Principles. 9. Back to Basics. Coding.Testing.Listening.Designing.Conclusion.II. THE SOLUTION. 10. Quick Overview. The Planning Game.Small Releases.Metaphor.Simple Design.Tesing.Refactoring.Pair Programming.Collective Ownership.Continuous Integration.40-Hour Week.On-Site Customer.Coding Standards.11. How Could This Work? The Planning Game.Short Releases.Metaphor.Simple Design.Testing.Refactoring.Pair Programming.Collective Integration.Continuous Integration.40-Hour Week.On-Site Customer. @@AHEADS = Coding Standards.Conclusion.12. Management Strategy. Metrics.Coaching.Tracking.Intervention.13. Facilities Strategy. 14. Splitting Business and Technical Responsibility. Business.Development.What to Do?Choice of Technology.What If It Is Hard?15. Planning Strategy. The Planning Game.Planning in a Week.16. Development Strategy. Continuous Integration.Collective Ownership.Pair Programming.17. Design Strategy. The Simplest Thing that Could Possibly Work.How Does Designing Through Refactoring Work?What Is Simplest?How Could This Work?Role of Pictures in Design.System Architecture.18. Testing Strategy. Who Writes Tests?Other Tests.19. Adopting XP. 20. Retrofitting. Testing.Design.Planning.Management.Development.In Trouble?21. Lifecycle of an Ideal XP Project. Exploration.Planning.Iterations to First Release.Productionizing.Maintenance.Death.22. Roles for People. Programmer.Customer.Tester.Tracker.Coach.Consultant.Big Boss.23. 20-80 Rule. 24. What Makes XP Hard. 25. When to Try XP. 26. XP at Work. Fixed Price.Outsourcing.Insourcing.Time and Materials.Completion Bonus.Early Termination.Frameworks.Shrinkwrap Products.27. Conclusion. Expectation.Annotated Bibliography.Glossary. Index. 0201616416T04062001
Kent Beck consistently challenges software engineering dogma, promoting ideas like patterns, test-driven development, and Extreme Programming. Currently affiliated with Three Rivers Institute and Agitar Software, he is the author of many Addison-Wesley titles.