The Art of Agile Development: Chapter 8: Planning

The second edition is now available! The Art of Agile Development has been completely revised and updated with all new material. Visit the Second Edition page for more information, or buy it on Amazon.

Full Text

The following text is excerpted from The Art of Agile Development by James Shore and Shane Warden, published by O'Reilly. Copyright © 2008 the authors. All rights reserved.


Today I talked to a friend who wanted to know how I organized software projects. His team has grown rapidly, and their attempts to create and manage detailed plans are spiraling out of control. "It just doesn't scale," he sighed.

The larger your project becomes, the harder it is to plan everything in advance. The more chaotic your environment, the more likely it is that your plans will be thrown off by some unexpected event. Yet in this chaos lies opportunity.

Rather than try to plan for every eventuality, embrace the possibilities that change brings you. This attitude is very different from facing change with clenched jaws and white knuckles. In this state of mind, we welcome surprise. We marvel at all of the power we have to identify and take advantage of new opportunities. The open horizon stretches before us. We know in which direction we need to travel, and we have the flexibility in our plan to choose the best way to get there. We'll know it when we find it.

This approach may sound like it's out of control. It would be, except for eight practices that allow you to control the chaos of endless possibility.

  • Vision reveals where the project is going and why it's going there.

  • Release Planning provides a roadmap for reaching your destination.

  • The Planning Game combines the expertise of the whole team to create achievable plans.

  • Risk Management allows the team to make and meet long-term commitments.

  • Iteration Planning provides structure to the team's daily activities.

  • Slack allows the team to reliably deliver results every iteration.

  • Stories form the line items in the team's plan.

  • Estimating enables the team to predict how long their work will take.

If you liked this entry, check out my best writing and presentations, and consider subscribing to updates by email or RSS.