Planning Extreme Programming

by ;
  • ISBN13:


  • ISBN10:


  • Edition: 1st
  • Format: Paperback
  • Copyright: 2000-10-16
  • Publisher: Addison-Wesley Professional

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $38.99 Save up to $35.76
  • Rent Book $4.99
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The Used and Rental copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


Without careful ongoing planning, the software development process can fall apart. Extreme Programming (XP) is a new programming discipline, or methodology, that is geared toward the way that the vast majority of software development projects are handled -- in small teams. In this new book, noted software engineers Kent Beck and Martin Fowler show the reader how to properly plan a software development project with XP in mind. The authors lay out a proven strategy that forces the reader to plan as their software project unfolds, and therefore avoid many of the nasty problems that can potentially spring up along the way.

Author Biography

Kent Beck consistently challenges software engineering dogma, promoting ideas like patterns, test-driven development, and Extreme Programming. Currently affiliated with Three Rivers Institute and Agitar Software, he is the author of many Addison-Wesley titles.

Martin Fowler is the Chief Scientist of ThoughtWorks, an enterprise-application development and delivery company. He's been applying object-oriented techniques to enterprise software development for over a decade. He is notorious for his work on patterns, the UML, refactoring, and agile methods. Martin lives in Melrose, Massachusetts, with his wife, Cindy, and a very strange cat. His homepage is http://martinfowler.com.

Table of Contents

Foreword xi
Preface xiii
Acknowledgments xvii
Why Plan?
Driving Software
Balancing Power
Too Much to Do
Four Variables
Yesterday's Weather
Scoping a Project
Release Planning
Writing Stories
Ordering the Stories
Release Planning Events
The First Plan
Release Planning Variations
Iteration Planning
Iteration Planning Meeting
Tracking an Iteration
Stand-up Meetings
Visible Graphs
Dealing with Bugs
Changes to the Team
Business Contracts
Red Flags
Your Own Process
Index 131


This is a book about planning software projects. We are writing it mostly for project managers--those who have to plan and track the correspondence of the planning with reality. We also are writing it for programmers and customers, who have a vital role to play in planning and developing software. Planning is not about predicting the future. When you make a plan for developing a piece of software, development is not going to go like that. Not ever. Your customers wouldn''t even be happy if it did, because by the time the software gets there, the customers don''t want what was planned; they want something different. Like so many, we enjoy Eisenhower''s quotation: "In preparing for battle I have always found that plans are useless, but planning is indispensable." That''s why this isn''t a book about plans; it''s about planning. And planning is so valuable and important, so vital, that it deserves to go on a little every day, as long as development lasts. If you follow the advice in this book, you are going to have a new problem to solve every day--planning--but we won''t apologize for that, because without planning, software development inevitably goes off the rails. The scope of this book is deliberately narrow. It covers how to plan and track software development for XP projects. It''s based on our experience as consultants and coaches, together with the experience of the growing band of early adopters who are using XP. As a result this isn''t a book about the whole of project management. We don''t cover typical project manager jobs such as personnel evaluation, recruiting, and budgeting. We don''t address the issues of large projects with hordes of developers, nor do we say anything about planning in the context of other software processes, or of planning other activities. We think there are principles and techniques here that everyone can use, but we have stuck to the parts of the process we know--getting everybody on the team pointed in one direction, discovering when this is no longer true, and restoring harmony. XP (Extreme Programming) is a system of practices (you can use the m-word if you want to; we''d rather not, thank you) that a community of software developers is evolving to address the problems of quickly delivering quality software, and then evolving it to meet changing business needs. XP isn''t just about planning. It covers all aspects of small team software development--design, testing, implementation, deployment, and maintenance. However, planning is a key piece of the XP puzzle. (For an overview of XP, read Extreme Programming Explained: Embrace Change. While you''re at it, buy copies of all of the rest of our books, too.) XP addresses long projects by breaking them into a sequence of self-contained, one- to three-week mini-projects. During each iteration Customers pick the features to be added. Programmers add the features so they are completely ready to be deployed. Programmers and customers write and maintain automated tests to demonstrate the presence of these features. Programmers evolve the design of the system to gracefully support all the features in the system. Without careful planning, the process falls apart. The team must choose the best possible features to implement. The team must react as positively as possible to the inevitable setbacks. Team members must not overcommit, or they will slow down. The team must not undercommit, or customers won''t get value for their money. Team members must figure out clearly where they are and report this accurately, so that everyone can adjust their plans accordingly The job of the daily planner is to help keep the team on track in all these areas. We come by our project planning ideas by necessity. As consultants, we are usually introduced to projects when they are mostly dead. The projects typically aren''t doing any planning, or they are drowning in too much planning of the wrong sort. The resulting ideas are the simplest planning ideas we could think of that could possibly work. But above all, remember all the planning techniques in the world, including these, can''t save you if you forget that software is built by human beings. In the end keep the human beings focused, happy, and motiviated and they will deliver. Kent Beck, Merlin, Oregon Martin Fowler, Melrose, Massachusettshttp://www.martinfowler.com July 2000 I have a cunning plan. --Baldrick,Blackadder 0201710919P04062001

Rewards Program

Write a Review