The Estimation problem in enterprise IT and Software Intensive System has been with us for decades if not from the beginning of time in the software business. While not software, but a hardware implementation of an algorithm, Alan Turing's problem was to tell his boss when he'll be able to crack for Enigma Code.
We still struggle with software estimates. Tom DeMarco's quote is an important starting point, which I'll repeat here from the paper below
The estimator's charter is not to state what developers should od, but rather to provide a reasonable projection of what they will do.
A key point from a reference "The Inaccurate Conception," CAM, 51(3):13-16, 2008, says
"When a weather forecast indicates a 40% chance of rain, and it rains on you, was the forecast accurate? If it doesn't rain on you, was the forecast inaccurate? Thought of in these terms, the concept of accuracy takes on a different meaning. It seems that the fact that it does or does not rain on you is not a particularly good measure of the accuracy of the rain estimate."
"The accuracy of a weather forecast is not whether it rains or not but whether it rains at the likelihood it was forecast to rain. Similarly, the accuracy of an estimate on a project is not whether the project achieves its goals but whether it correctly forecasts the probability of achieving its goals."
For some more background from the ACM Library, referenced here are some further readings
- What is Good estimate? Whether Forecasting is Valuable, Phillip G. Armour, CACM, Vol. 56 No. 6. June 2013
- Estimation is Not Evil, Phillip G. Armour, CACM, Vol. 57 No. 1, March 2014