Planning Extreme Programming
- By Kent Beck, Martin Fowler
- Published Oct 16, 2000 by Addison-Wesley Professional. Part of the XP Series series.
- Copyright 2001
- Dimensions: 7-3/8x9-1/4
- Pages: 160
- Edition: 1st
- ISBN-10: 0-201-71091-9
- ISBN-13: 978-0-201-71091-5
Register your product to gain access to bonus material or receive a coupon.
The complete guide to planning your next XP software project!
- Essential techniques for taming projects on "Internet time!"
- Easy steps managers can perform every day to keep XP projects under control and headed in the right direction.
- An enjoyable, quick read -- full of ideas that apply in any project, software-related or not!
In this timely follow-up to Extreme Programming Explained, software engineering gurus Kent Beck and Martin Fowler show exactly how to plan your next software project using Extreme Programming (XP). KEY TOPICS:Planning is a vital element of software development -- but all too often, planning stops when coding begins. Beck and Fowler show how to make software projects far more manageable through a series of simple planning steps every project manager and team leader can easily perform >every day. The book follows XP projects from start to finish, presenting successful planning tactics managers and team leaders can use to adjust to changing environments more quickly and efficiently than ever before. This book is full of war stories and real-world analogies, and offers actionable techniques on virtually every page.MARKET:For every project manager called upon to deliver reliable, high-value code in "Internet time."
Product Author Bios
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.
"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 they've devised.
31 of 31 people found the following review helpful
How to make things work by making them small,
This review is from: Planning Extreme Programming (Paperback)Skepticism about new techniques is a natural state for programmers and those who manage them. Hype amid the desperate search for effective strategies is one of the many factors contributing to the poor rate of success in the business. Extreme programming, where development is broken up into a series of microcycles performed by small teams, is an apparent step backwards in the evolution of the planning of software projects. I was initially very skeptical about it, for the primary reason that not all things can be broken up into executable cycles of approximately two weeks in length.
However, this book, packed with some of the most sensible advice you can find, sold me on the concept, if not the implementation. The approach is an admirable one, let the customer decide. If the project and customers are worth having, then there will be more features than can be implemented in the allotted time. Since slipping the release date is NOT considered an option, it is the responsibility... Read more
59 of 65 people found the following review helpful
Essential, If a Tad Narrow,
Amazon Verified Purchase(What's this?)
This review is from: Planning Extreme Programming (Paperback)The many other reviews here give you a sense of what you'll find in this book. I think there is one important point that is missing from this picture: the fact that the focus of the authors in this and the first book is on software processes where there really is no visioning going on at all. What do I mean by that? Well, in the first book they are describing the writing of a payroll program (their project @ Chrysler). In this book it's a travel application. Thankfully, not all of us are writing software that has been written a thousand times before. While this may sound like a trifle, I believe it is a central point with regard to this book. The whole concept of iterative, incremental development takes on a different hue when you remove visioning from the process. In fact, what the world really needs to figure out how to do is not write the 10,000th payroll program faster than someone else, but how to write new, innovative software on time allowances that are absurdly short. I think... Read more
21 of 22 people found the following review helpful
How exactly to plan XP?,
Amazon Verified Purchase(What's this?)
This review is from: Planning Extreme Programming (Paperback)This book is very valuable if you already started to practice Extreme Programming. It contains a very encouraging foreword by Tom DeMarco. The first nine chapters are introductory, and you may skip them if you read the XP Manifesto "Extreme Programming Explained" by Kent Beck. Chapters from ten to twenty three contain valuable information not found in any other XP-related book.
- How exactly to plan releases? What if frequent releases aren't appropriate and marketing demands to release once a year?
- How exactly to write user stories, and how to handle them? Although the reader may find some sample stories in "Extreme Programming Installed" by Ron Jeffries, Ann Anderson and Chet Hendrickson, the stories in the "Planning Extreme Programming" are used as core elements in the whole planning process, shown as example.
- How exactly to build the iteration plan and the release plan? How to track an iteration?
I would also like to recommend... Read more
› See all 26 customer reviews...
Praise For Planning Extreme Programming
"Kent and Martin focus here on the planning and management process of XP. Buy them all, own the complete set!." - www.xpprogramming.com
"As expected, the book is full of practical advice based on experiences of the authors…However, this book is a worthy read whether or not you agree with the XP philosophy." -- Javamug.org, January 2001
"Its casual yet pragmatic attitude toward software development management, like XP itself, is a breath of fresh air." -- Javamug.org, January 2001
"This book is full of war stories and real-world analogies, presenting valuable techniques throughout. A must read." --ambysoft.com, May 2001
Online Sample Chapter
Table of Contents
1. Why Plan?
3. Driving Software.
4. Balancing Power.
6. Too Much to Do.
7. Four Variables.
8. Yesterday's Weather.
9. Scoping a Project.
10. Release Planning.
11. Writing Stories.
13. Ordering the Stories.
14. Release Planning Events.
15. The First Plan.
16. Release Planning Variations.
17. Iteration Planning.
18. Iteration Planning Meeting.
19. Tracking an Iteration.
20. Stand-Up Meetings.
21. Visible Graphs.
22. Dealing with Bugs.
23. Changes to the Team.
25. Business Contracts.
26. Red Flags.
27. Your Own Process.
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, Massachusetts http://www.martinfowler.com
I have a cunning plan.
This book includes free shipping!
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.