Let's start with a background piece on estimating. The Fermi Problem. A Fermi estimate is an order estimate of something. Not an order of magnitude (that's a 10X estimates, easy for anyone to make). These types of problems are encountered in physics and engineering education. From personal experience in oral exams where we were asked to estimate something quickly on the black board (yes the Black Board). Something like, what is the orbital velocity of a star with a specific mass composed of a specific set of fusion elements? You have 5 minutes young student, work quickly.
These back of the envelope calculations are well know exercises to show how to make estimates in the presence of uncertainty and with very little data in hand. This technique was named after Enrico Fermi for his ability to make good approximation with little or not actual data. These types of problems involve making justified guesses (not the types on uninformed guesses we see in many domains), with upper and lower variances.
A nice example is how many piano tuners are there in Chicago in 2009?
- There are approximately 9,000,000 people living in Chicago.
- On average, there are two persons in each household in Chicago.
- Roughly one household in twenty has a piano that is tuned regularly.
- Pianos that are tuned regularly are tuned on average about once per year.
- It takes a piano tuner about two hours to tune a piano, including travel time.
- Each piano tuner works eight hours in a day, five days in a week, and 50 weeks in a year.
With these assumptions, the number of piano tunings a year is approximately
- (9,000,000 people in Chicago / 2 people per house) x 1 piano per 20 houses x 1 tuner per piano per year = 225,000 tuning per year
- (50 weeks per year x 5 day per week x 8 hours a day) / 2 hours to tune = 1000 tunings per year per piano tuner
- (225,000 tunings per year) / 1000 tunings per year per tuner = 225 tuners in Chicago in 2009
- The actual number in 2009 was 290
This is similar to the Drake equation which estimates the number of intelligent civilizations in our galaxy. This approach by the way, may be one of the reasons estimating is seen as hard or even not possible by some. They missed those opportunities where estimating is taught.
What Does This Have to do with Project Management?
Estimation theory is a critical aspect of project management. When spending other peoples money in the presence of uncertainty we need to make decisions in the presence of this uncertainty. Estimation theory is a branch of statistics dealing with estimating values of parameters (numbers) based on measured/empirical data that have random values. The parameters describe the underlying physical process in a way that their values affect the distribution of the measured data. An estimator attempts to approximate the unknown parameters using the measurements.
In the project world, we have three core variables - cost, schedule, and technical performance. These are interdependent, likely non-linear, and many times non-stationary (evolving in time). There is nice course at MIT OCW course on the Art of Approximation in Science and Engineering These back of an envelope estimates are critical to success in engineering and science. They are also critical to estimating in software development.
So when we hear it's hard or it's not even possible to estimate software development, don't believe it for a moment. Here's a butt simple way on How to Estimate Almost Any Software Deliverable.
The next thing we hear is estimates are the smell of dysfunction. And of course no dysfunctions are named, no root cause of the dysfunction named, and no corrective actions named - only stop estimating since estimates are evil, used as commitments, and misused to punish developers.
The Real Bottom Line
In business a framing assumption of managerial finance. This framing assumptions informs those of us on the business side of spending our money when making decisions. This is the basis of microeconomics of decision making.
When it is conjectured that decisions can be made in the presence of uncertainty in the absence of estimating to cost and impacts of those decisions without making estimates of those outcomes, we have to ask are those making those conjectures informed by any framework based in the process of business management? It appears not.