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.
What You Need
No software needed, just your past experience and concern for the
outcomes.
George Dinwiddie is a software development consultant and coach who
has helped a wide variety of people in a wide array of organizations and
situations. He has studied both technical and human aspects of software
development and has decades of experience in hardware and software
engineering. His eclectic background extends well beyond software
development, and he uses that knowledge and his personal experience with
estimation to facilitate improvements in technical, organizational, and
social realms.