"XP is the most important movement in our field today. I predict that it will be as essential to the present generation as the S.E.I. and its Capability Maturity Model were to the last."
--From the foreword by Tom DeMarco
The hallmarks of Extreme Programming--constant integration and automated testing, frequent small releases that incorporate continual customer feedback, and a teamwork approach--make it an exceptionally flexible and effective approach to software development. Once considered radical, Extreme Programming (XP) is rapidly becoming recognized as an approach particularly well-suited to small teams facing vague or rapidly changing requirements--that is, the majority of projects in today's fast-paced software development world.
Within this context of flexibility and rapid-fire changes, planning is critical; without it, software projects can quickly fall apart. Written by acknowledged XP authorities Kent Beck and Martin Fowler, Planning Extreme Programming presents the approaches, methods, and advice you need to plan and track a successful Extreme Programming project. The key XP philosophy: Planning is not a one-time event, but a constant process of reevaluation and course-correction throughout the lifecycle of the project.
You will learn how planning is essential to controlling workload, reducing programmer stress, increasing productivity, and keeping projects on track. Planning Extreme Programming also focuses on the importance of estimating the cost and time for each user story (requirement), determining its priority, and planning software releases accordingly.
Specific topics include:
Planning and the four key variables: cost, quality, time, and scope
Deciding how many features to incorporate into a release
Estimating scope, time, and effort for user stories
Prioritizing user stories
Balancing the business value and technical risk of user stories
Rebuilding the release plan based on customer and programmer input
Choosing the iteration length
Tracking an iteration
What to do when you're not going to make the date
Dealing with bugs
Making changes to the team
Working with business contracts
In addition, this book alerts you to the red flags that signal
serious problems: customers who won't make decisions, growing
defect reports, failing daily builds, and more. An entire chapter
is devoted to war stories from the trenches that illustrate the
real-world problems many programmers encounter and the solutions