紹介
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.
目次
(NOTE: Each section ends with a conclusion.) Foreword by Scott W. Ambler. Preface. Introduction. I. THE GAME. 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. II. CONCEPTUALIZING THE SYSTEM. 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. III. PLANNING. 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. IV. DEVELOPMENT. 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. V. DELIVERY. 18. Delivering the System. Delivery Day. Productionizing. Testing. Celebrating Victories. VI. ADDITIONAL TOPICS. 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. Bibliography. Index.