Let’s explore the purpose and use of estimates in the management of software development efforts, and consider possible alternatives.
The default use of an “estimate-driven” approach is pervasive in software development efforts, and while estimates can be useful for some things, it is worthwhile to scrutinize our use of estimates for cost, time, and effort, and to seek better ways to manage software development projects.
Why do we estimate and are we making estimates that are actually useful? We say we depend on estimates to make important decisions, and yet we’re often disappointed by the results.
Why are we so challenged at estimation? Are estimates for cost, time, or effort always needed? Is it possible there are other ways to approach our work? If we didn’t estimate, how could we still be successful at making businesses successful?
- There are a number of things to explore and many questions to ask. For example:
- Do we really need estimates for all the things we are currently using them?
- Are we getting a reasonable benefit from them?
- Is it possible to manage software development projects without these estimates, or at least with fewer estimates?
- Is there a way to prove that estimates are helping us make good decisions?
In this session we’ll participate in some interactive information gathering exercises to see if we can gain a shared idea of our current understanding of the purpose and use of estimates. We will examine the nature of software development projects and explore some real data to shed light on the art and science of software estimation. Our exploration goal is to see if we can work together to come up with some ideas about improving on the traditional approaches to using estimates.
Possible Outline/structure of the Session
- Exercise: An estimation exercise
- Introduction
- Exercise: The nature of estimates.
- What do we know about estimates, why do we use them?
- Exercise: What is an estimate?
- What do we know about estimates in practice? What does the data tell us?
- Discussion of questions we should explore.
- Exercise: What do we do when asked for an estimate?
- Discussion about the decisions we make that use estimates.
- Exercise: What might we do instead of managing using estimates?
- Conclusion
Learning Outcome
- Gain an understanding of the purpose and use of estimates.
- Understand some of the issues with using estimates
- Learn some of the reality of estimation and how we continue to fool ourselves
- Discover ways to work without estimates