Table Of ContentPreface. 1. The Skinny. The First Solution. Changes. What Went Wrong? 2. Playing to Win. Extreme Programming (XP). The Structure of This Book. 3. What is XP? Introduction. Exploration. Spike. Release Planning. Iteration Planning. Development. The Story of a Story. 4. Exploration. The Story of Some Constraints. Architecture. An Expensive Story. Combining Stories. Registration Story. Existing User. Legacy Conversion. Notification. Registration Pages Look and Feel. Miscellaneous. Conclusion. Summary of Stories. 5. Planning. Prioritizing the Stories. Architectural Significance. Release and Iteration Duration. Velocity. Planning the First Release. Conclusion. 6. The First Iteration Plan. Breaking Stories into Tasks. Signing Up for Tasks. Estimating the Tasks. Conclusion. 7. Beginning the First Iteration. Plans Are One Thing, Reality Is Another. Starting the Iteration. Conclusions. Tracking. 8. Task #3, Login Task. Cookies. Tracking. 9. A Flurry of Refactoring. Conclusions. Tracking. 10 retpahC. sdrawkcaB gnikroW. TestNoUser. TestGoodEmail. TestBadEmail. Implementing the Mock-Objects. ForgotPassword Servlet. Conclusion. Tracking. 11. Infrastructure Thrashing. Refactoring the Tests. Refactoring the Databaseagain. Infrastructure Revolution. The Registration Servlet. Conclusion. Tracking. 12. Iteration I-Summary. Cookie Woes. HTML/JSP Tasks. We Thought We Were Done. 13. Steering. An interesting Misunderstanding. What Went Wrong? 14. Finishing the Release. Can't You Fit Two Hours? Task Planning. The Iteration. Lessons Learned. The Third Iteration and Release. Release. Projecting This Experience onto Larger Projects. 15. Conclusion. Lessons Learned. Final Conclusions. Appendix A. Iteration 1Code. Index.
SynopsisExtreme Programming is the most exciting revolution to hit the software engineering industry in the last decade. But what exactly is XP? And how do you XP? Simply put, XP is about playing to win. If you are serious about becoming an agile organization, decreasing your time to market, keeping your development team happy, and improving the overall quality of your software, then XP is for you. Extreme Programming in Practice provides a candid, refreshing, insiders view of how an XP project works. The artifacts presented in this book are real, the user stories are real, and the anecdotes are real. The book represents all-access, uncensored XP. The authors have chosen example over explanation, so that you can personalize the tenets of XP and put them into practice on your next development project. The book is supported with sample code and test examples. You can learn how to emphasize planning in your project; deliver multiple iterations of your project (each with increasing business value); gather customer feedback as you build; and test the integrity of your code without halting your development efforts. The authors also provide a handy summary of more than a dozen lessons learned i, Extreme Programming (XP) is a lightweight methodology that enables small teams of developers to achieve breakthrough productivity and software quality, even when faced with rapidly changing or unclear requirements. In this new book, top object-oriented consultants James Newkirk and Robert Martin walk through an entire XP project, chronicling the adoption of XP by a team that has never used it before. Along the way, they show how to overcome the obstacles facing XP adopters, and present realistic XP best practices virtually any development organization can benefit from. The case study in this book is real, driven by the needs of a real customer. The artifacts, code, user stories, and anecdotes are all real, drawn from videotaped meetings throughout the project's development process. The result: an exceptionally true-to-life narrative, complete with mistakes and false starts, and reflecting the ebb and flow of a real project. For organizations considering XP, this may be the most realistic and useful guide ever produced. For project managers, developers, software engineers, XP customers, and upper-level managers.