Synopses & Reviews
You know what XP is, how to get it up and running, and how to plan projects using it. Now it's time to expand your use of Extreme Programming and learn the best practices of this popular discipline.
In Extreme Programming Explored, you can read about best practices as learned from the concrete experience of successful XP developers. Author and programmer Bill Wake provides answers to practical questions about XP implementation. Using hands-on examples--including code samples written in the Java programming language--this book demonstrates the day-to-day mechanics of working on an XP team and shows well-defined methods for carrying out a successful XP project.
The book is divided into three parts:
- Part 1, Programming--programming incrementally, test-first, and refactoring.
- Part 2, Team Practices--code ownership, integration, overtime, and pair programming; how XP approaches system architecture; and how a system metaphor shapes a common vision, a shared vocabulary, and the architecture.
- Part 3, Processes--how to write stories to plan a release; how to plan iterations; and the activities in a typical day for the customer, the programmer, and the manager of an XP project.
To demonstrate how an XP team uses frequent testing, you'll learn how to develop the core of a library search system by unit testing in small increments. To show how to make code ready for major design changes, the author teaches you how to refactor a Java program that generates a Web page. To see how a system metaphor influences the shape of a system, you'll learn about the effects of different metaphors on customer service and word processing applications. To show how customers and programmers participate in release planning, the book demonstrates writing and estimating stories, and shows how the customer plans a release.
About the Author
William C. Wake
, http://www.xp123.com , is an independent software consultant, coach, and trainer with more than twenty years of programming experience. Bill previously held positions with Capital One Financial, DMR Trecom, and VTLS, Inc. He is the author of the Refactoring Workbook
and Extreme Programming Explored
(both from Addison-Wesley).
Table of Contents
I. PROGRAMMING. 1. How Do You Write a Program?
Program Incrementally and Test First. 2. What is Refactoring?
“Refactoring: Improving the Design of Existing Code.”—Martin Fowler.
II. TEAM PRACTICES. 3. What Are XP's Team Practices?
“We'll Explore These Practices and Their Alternatives.” 4. What is it Like to Program in Pairs?
Pair Programming is Exhausting but Productive. 5. Where's the Architecture?
Architecture Shows Up in Spikes, the Metaphor, the First Iteration, and Elsewhere. 6. What is the System Metaphor?
“The System Metaphor is a Story that Everyone—Customers, Programmers, and Managers—Can Tell About How the System Works,”—Kent Beck.
III. PROCESS. 7. How Do You Plan a Release? What are Stories Like?
Write, Estimate, and Prioritize Stories. 8. How Do You Plan an Iteration?
Iteration Planning Can be Thought of as a Board Game. 9. Customer, Programmer, Manager: What is a Typical Day?
Customer: questions, tests, and steering.
Programmer: testing, coding, and refactoring.
Manager: Project Manager, Tracker, and Coach. 10. Conclusion.