A Practical Guide to Extreme Programming
Besorgung - Lieferbarkeit unbestimmt
BeschreibungAppropriate for any course on software engineering methodologies, especially courses on XP, or "agile" and/or "light" methodologies.
XP is 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 students need to succeed with XP. 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. They demonstrate how to create a vision of any proposed software system, write effective user stories and acceptance tests, and plan for regular releases and iterations. They present best practices for XP testing, "coding with intention," integration, and refactoring, showing how to overcome key challenges early XP implementers have encountered, and achieve the powerful benefits XP can provide.
Inhaltsverzeichnis(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.
PortraitDave Astels is a Software Engineer at Google and has been involved with software and computing for over 25 years, recently having spent several years working exclusively with Ruby and Rails. Dave wrote the article that prompted Steven Baker to start the RSpec project.
Untertitel: 'Coad'. Sprache: Englisch.
Verlag: PRENTICE HALL
Erscheinungsdatum: Februar 2002
Seitenanzahl: 384 Seiten