Software Estimation Without Guessing
Effective Planning in an Imperfect World
Developers hate estimation, and most managers fear disappointment with the results, but there is hope for both. You'll have to give up some widely held misconceptions: let go of the notion that "an estimate is an estimate", and estimate for your particular need. Realize that estimates have a limited shelf-life, and re-estimate frequently as needed. When reality differs from your estimate, don't lament; mine that disappointment for the gold that can be the longer-term jackpot. We'll show you how.
Estimating software development often produces more angst than value, but it doesn't have to. Identify the needs behind estimate requests and determine how to meet those needs simply and easily. Choose estimation techniques based on current needs and available information, gaining benefit while reducing cost and effort. Detect bad assumptions that might sink your project if you don't adjust your plans.
Learn strategies for effective decomposition of work and aspects of the work that likely affect your estimates. Hedge your bets by comparing the results of different approaches. Estimate in comparison to past experience, by modeling the work mathematically, or a hybrid of both. Discover what to do when an estimate proves wrong. And they will. They're estimates, after all. Find out how to recover and how to use that knowledge for future planning. You'll discover that you can use estimates to warn you of danger so you can take appropriate action in time. Learn to communicate about estimates in a healthy and productive way, maximizing advantage to the organization and minimizing damage to the people.
Address both the technical and sociological aspects of estimation, and you'll help your organization achieve its desired goals with less drama and more benefit.
Share Software Estimation Without Guessing