Copyright (c) 2013 John L. Jerz

Agile Estimating and Planning (Cohn, 2006)

Home
A Proposed Heuristic for a Computer Chess Program (John L. Jerz)
Problem Solving and the Gathering of Diagnostic Information (John L. Jerz)
A Concept of Strategy (John L. Jerz)
Books/Articles I am Reading
Quotes from References of Interest
Satire/ Play
Viva La Vida
Quotes on Thinking
Quotes on Planning
Quotes on Strategy
Quotes Concerning Problem Solving
Computer Chess
Chess Analysis
Early Computers/ New Computers
Problem Solving/ Creativity
Game Theory
Favorite Links
About Me
Additional Notes
The Case for Using Probabilistic Knowledge in a Computer Chess Program (John L. Jerz)
Resilience in Man and Machine

Cohn.jpg

From the Back Cover
Praise for Agile Estimating and Planning

"Traditional, deterministic approaches to planning and estimating simply don't cut it on the slippery slopes of today's dynamic, change-driven projects. Mike Cohn's breakthrough book gives us not only the philosophy, but also the guidelines and a proven set of tools that we need to succeed in planning, estimating, and scheduling projects with a high uncertainty factor. At the same time, the author never loses sight of the need to deliver business value to the customer each step of the way."

Doug DeCarlo, author of eXtreme Project Management: Using Leadership, Principles and Tools to Deliver Value in the Face of Volatility (Jossey-Bass, 2004)

"We know how to build predictive plans and manage them. But building plans that only estimate the future and then embrace change, challenge most of our training and skills. In Agile Estimating and Planning, Mike Cohn once again fills a hole in the Agile practices, this time by showing us a workable approach to Agile estimating and planning. Mike delves into the nooks and crannies of the subject and anticipates many of the questions and nuances of this topic. Students of Agile processes will recognize that this book is truly about agility, bridging many of the practices between Scrum and ExtremeProgramming."

Ken Schwaber, Scrum evangelist, Agile Alliance cofounder, and signatory to the Agile Manifesto

"In Agile Estimating and Planning, Mike Cohn has, for the first time, brought together most everything that the Agile community has learned about the subject. The book is clear, well organized, and a pleasant and valuable read. It goes into all the necessary detail, and at the same time keeps the reader's burden low. We can dig in as deeply as we need to, without too much detail before we need it. The book really brings together everything we have learned about Agile estimation and planning over the past decade. It will serve its readers well."

Ron Jeffries, www.XProgramming.com, author of Extreme Programming Installed (Addison-Wesley, 2001) and Extreme Programming Adventures in C# (Microsoft Press, 2004)

p.xxix This book could have been called Estimating and Planning Agile Projects. Instead it's called Agile Estimating and Planning. The difference may appear to be subtle, but it's not. The title makes it clear that the estimating and planning processes must themselves be agile. Without agile estimating and planning, we cannot have agile projects.
 
p.3 Estimating and planning are critical to the success of any... project of any size or consequence. Plans guide our investment decisions: We might initiate a specific project if we estimate it to take [a certain period of time and money] but would reject the same project if we thought it would take [a longer period of time and more money].
 
p.5 Planning - especially an ongoing iterative approach to planning - is a quest for value. Planning is an attempt to find an optimal solution to the overall product development question: What should we build? To answer this question, the team considers features, resources, and schedule. The question cannot be answered all at once. It must be answered iteratively and incrementally.

p.8 A plan conveys expectations and describes one possibility of what may come to pass... A good plan is one that stakeholders find sufficiently reliable that they can use it as the basis for making decisions... This plan is useful - as long as it is somewhat predictive of what actually happens.

p.9 Plans... are snapshots of how we believe a project might unfold over an uncertain future. Planning is an activity. Agile planning shifts the emphasis from the plan to the planning. Agile planning balances the effort and investment in planning with the knowledge that we will revise the plan through the course of the project. An agile plan is one that we are not only willing, but also eager to change... we want to change because change means we've learned something or that we've avoided a mistake... As we discover these things they affect our plans. This means we need plans that are easily changed. This is why the planning becomes more important than the plan. The knowledge and insight we gain from planning persists long after one plan is torn up and a revised one put in its place. So an agile plan is easy to change.

p.12 A critical problem with traditional approaches to planning is that they focus on the completion of activities rather than on the delivery of features... Features are the unit of customer value. Planning should, therefore, be at the level of features, not activities.

p.27 Ward Cunningham has said that "it's more planning what you want to learn, not what it [the product] will be in the end" (Van Schooenderwoert 2004).

p.27 On an agile project, we don't know exactly where the finish line is, but we often know we need to get to it or as close as we can by a known date. An agile project is more like a timed race than a 10-kilometer race: run as far as possible in sixty minutes. In this way, the agile project team knows when they will finish but not what they will deliver... planning becomes a process of setting and revising goals that lead to a longer-term objective.
 
p.49 The more effort we put into something, the better the result. Right? Perhaps, but we often need to expend just a fraction of that effort to get adequate results... We can often spend a little time thinking about an estimate and come up with a number that is nearly as good as if we had spent a lot of time thinking about it.

p.50 no matter how much effort is invested, the estimate is never at the top of the accuracy axis [this refers to a graph which shows that the accuracy of estimates generally improves over time to a certain limit, which is not exceeded no matter how much additional time passes]. No matter how much effort you put into an estimate, an estimate is still an estimate. No amount of additional effort will make an estimate perfect.

p.54 The three most common techniques for estimating are
  • Expert opinion
  • Analogy
  • Disaggregation

p.60 The amount of effort put into an estimate should be determined by the purpose of that estimate.

p.61 There's no sense in being precise when you don't even know what you are talking about. - John von Neuman

p.69 If you tell people where to go, but not how to get there, you'll be amazed at the results. - General George S. Patton

p.79 The indispensable first step to getting what you want is this: Decide what you want. - Ben Stein

p.82,83 On many projects, much of the overall effort is spent in the pursuit of new knowledge... Laufer (1996) refers to these types of uncertainty as end uncertainty and means uncertainty... the agile approach to reducing uncertainty... simultaneously reducing both end and means uncertainty.

p.91 As a general rule of thumb, when benefits are not quantified at all, assume there aren't any - Tom DeMarco and Timothy Lister

p.145 It is a capital mistake to theorize before one has data. - Sherlock Holmes, Scandal in Bohemia

p.177 It is better to be roughly right than precisely wrong. - John Maynard Keynes

p.187 To be uncertain is to be uncomfortable, but to be certain is to be ridiculous. - Chinese proverb

p.227 Facts are better than dreams. - Winston Churchill

p.249 Having arrived at this point, we are well equipped to look at why agile estimating and planning are successful. First, remember the purpose of estimating and planning. Planning is an attempt to find an optimal solution to the overall product development question: features, resources, and schedule. Changing any one of these causes changes in the others. While planning, we are exploring the entire spectrum of possible solutions of how to mix these three parameters such that we create the best product possible. The estimates and plans that we create must be sufficient for serving as the basis for decisions that will be made by the organization... One of the ways in which agile estimating and planning support the efficient exploration of new product development solution space is through frequent replanning.

p.250 An agile estimating and planning process recognizes that our knowledge is always incomplete and requires that plans be revised as we learn... For a plan to remain useful, this new knowledge needs to be incorporated into the plan.

p.256 Whenever possible, ground your estimates and plans in reality... whenever possible, estimates and plans should be based on real, observed values.

p.256 The purpose of agile planning is to discover iteratively an optimal solution to the overall product development questions of which features with which resources in which timeline. An agile approach to estimating and planning succeeds in finding such a solution because plans are made at different levels and replanning occurs frequently; because plans are based on features rather than tasks; because size is estimated first and then duration is derived from the size estimate;... because uncertainty is acknowledged and planned for.

Enter supporting content here