—Evaluating how you prioritize is as important as the mechanism you use.
—The difference between an estimate and a commitment is worth remembering.
—A book review of David Moody's Autumn series.
—Applying the cone of uncertainty to software estimates.
An important--and difficult--concept is that The Cone of Uncertainty represents the best-case accuracy that is possible to have in software estimates at different points in a project. It is easily possible to do worse. It isn't possible to be more accurate; it's only possible to be more lucky.Best case estimates are created by expert estimators. Worse case estimates are not considered. Furthermore, you must be diligent in improving and reassessing your estimates otherwise your cone of uncertainty becomes a cloud. The cloud of uncertainty is characterized as that notion of being 99% of the way through a project and having been there for a long time.
If you’re working on a project that does a full development cycle each iteration—that is, requirements definition through release—then you’ll go through a miniature Cone on each iteration. Before you do the requirements work for the iteration, you’ll be at the “Approved Product Definition” part of the Cone, subject to 4x variability from high to low estimates. With short iterations (less than a month), you can move from “Approved Product Definition” to “Requirements Complete” and “User Interface Design Complete” in a few days, reducing your variability from 4x to 1.6x. If your schedule is fixed, the 1.6x variability will apply to the specific features you can deliver in the time available rather than to the effort or schedule.You have to go through a full development cycle for each iteration. Doing so can reduce estimate variability from 4x to 1.6x. For a fixed schedule that 1.6x variability applies to features that can be delivered in the time available rather than effort or schedule.
—A look at why I won't purchase an iPad.