Working over the week on a release of a critical set of project capabilities and need a break from that. This post will be somewhat scattered as I'm writing it in the lobby to get some fresh air.
Here's the post asking for a conversation about estimates. Here's a long response to that request.
Let's ignore the term FACT for the moment as untestable and see how to arrive at some answers for each statement. These answers are from a paradigm of Software Intensive Systems, where Microeconomics of decision-making is the core paradigm used to make decisions, based on Risk and Opportunity Costs from those decisions.
- FACT: It is possible, and sometimes necessary, to estimate software tasks and projects.
- It is always possible to estimate the future. This is well established in all domains. The mathematical means to makes estimates is readily available in any book store, college campus, and on the web.
- The confidence in the estimate's value is part of the estimating process. Measurement of Error, Variance, Confidence Intervals, Sample Sizes for past performance, and a myriad of other measures are also readily available for the asking
- The value at risk is one attribute of the estimate
- Low value at risk provides a wider range on the confidence value
- High value at risk requires higher confidence
- FACT: Questioning the intent behind a request for an estimate is the professional thing to do
- Introducing the profession card is a common tactic. Developing software for moment is not a profession. A profession requires prolonged training, requiring recognition of professional qualifications. Directive on Recognition of Professional Qualifications (2005/36/EC) “those practiced on the basis of relevant professional qualifications in a personal, responsible and professionally independent capacity by those providing intellectual and conceptual services in the interest of the client and the public”.
- Programmers are not professions in that sense.
- To the CFO with a CPA – which is a profession – the intent of estimates is to inform those accountable for the money to make decisions about that money informed by the value at risk.
- To question that intent assumes those making those decisions no longer have the fiduciary responsibility for being the stewards of the money. And that responsibility is transferred to those spending the money.
- This would imply the separation of concerns on any governance based business has been suspended.
- FACT: #NoEstimates is a Twitter hashtag and was never intended to become a demand, a method or a black-and-white truth
- The Hash Tag's original poster makes a clear and concise statement.
- We can make decisions in the absence of estimating the impact of those decisions.
- Until those original words are addressed, clarified, and possibly corrected, or even withdraw, the hashtag will remain contentious.
- Since the original post would mean the principle of Microeconomics would not longer be applicable in the development of software using other people’s money in the presence of uncertainty.
- Continually redefining the meaning of #NoEstimates to address the willful ignoring of Microeconomics is simply going in circles.
- If it is possible to make a decision about the future in the presence of uncertainty about that future, uncertainty about the cost of achieving a beneficial outcome from the decision, about the uncertainty of the cost and time needed to achieve that probabilistic outcome – WITHOUT estimating, let’s hear it.
- And by the way, using past performance samples – and small ones at that – does not remove to need to estimate the future outcomes. It only provides one way to information the probabilistic behavior of that future outcome. It is still estimating. Calling it No Estimates and using past performance, no matter how poorly formed, does not replace the misuse of the term.
- FACT: The #NoEstimates hashtag became something due to the interest it generated
- This is a shouting fire in a theater approach to conversation
- Without a domain and governance paradigm, the notion of making decisions in the absence of estimates has no basis for being tested.
- FACT: A forecast is a type of estimate, whether probabilistic, deterministic, bombastic or otherwise
- Yes, forecasting is estimating outcomes in the future. The weather forecast is an estimate of the future behavior of the atmosphere.
- Estimates of past and present can also be made.
- FACT: Forecasting is distinct from estimation, at least in the common usage of the words, in that it involves using data to make the “estimate” rather than relying on a person or people drawing on “experience” or guessing
- These definitions are not found outside the posters personally selected operational definitions. No probability and statistics book uses that definition. If there is one, please provide the reference. Wikipedia definitions from other domains don’t count. Find that definition in the estimating software systems and let’s talk further.
- Texts like Estimating Software Intensive Systems do not make this distinction, nor do any other books, papers, and resources on estimating.
- Estimating is about past, present, and future approximation of value found in system with uncertainty.
- Estimate - a number that approximates a value of interest in a system with uncertainty.
- Estimating - the process used to make such a calculation
- To Estimate - find a value close to the actual value. 2 ≈ 2.3. 2 is an approximation of the value 2.3.
- Forecasts are about future approximations of values found in systems with uncertainty.
- Looking for definitions outside the domain of software development and applying to fit the needs of the argument is disingenuous
- FACT: People who tweet with the hashtag #NoEstimates, or indeed any other hashtag, are not automatically saying “My tweet is congruent and completely in agreement with the literal meaning of the words in the hashtag”
- Those who tweet with hashtag are in fact retweeting the notion that decisions can be made without estimates if they do not explicitly challenge that notion.
- If that is not established, there is an implicit support of the original idea
- FACT: The prevailing way estimation is done in software projects is single point estimation
- This is likely a personal experience, since many stating that have limited experience outside their domain.
- It is simply bad mathematics, well known to anyone who took a High School statistics class. If you did take that class and believe that, you get a D
- FACT: The prevailing way estimates are used in software organizations is a push for a commitment, and then an excuse for a whipping when the estimate is not met.
- Again likely personal experience.
- If the poster said in my experience... that would establish the limits of the statement.
- “IME” takes 3 letters. Those are rarely seen by those suggesting not estimating is a desirable approach to managing in the presence of uncertainty while spending other people money.
- Those complaining the phrase spending other peoples money are likely not dong that, or not doing that with a substantial value at risk.
- FACT: The above fact does not make estimates a useless artifact, nor estimation itself a useless or damaging activity
- Those proffering decisions can be made without estimating have in FACT said estimating are damaging, useless, and a waste of time.
- Until that is countered, it will remain the basis of NoEstimates.
So if the OP is actually interested in moving from the known problem of using estimates in a dysfunction way, let's stop speaking about how to make decisions without estimates, and learn how to make good estimates needed for good decisions.
This issue of Harvard Business Review is dedicated to Make Better Decisions. Start with reading how to make good decisions. There is a wealth of guidance how to do that. Why use Dilbert-style management examples. We all now about those. How about some actionable corrective actions to the root causes of bad management. All backed up with data beyond personal anecdotes. Reminds me of eraly XP where just try it was pretty much the approach. So if the OP is really interested in...
Let’s use our collective influence and intelligence to take the discussion forward to how we can cure the horrible cancer in our industry of Estimate = Date = Commitment.
Then there are nearly unlimited resources for doing that. The first is to call BS on the notion decisions can be made without estimates, without stating where this is applicable - first. Acknowledge unequivocally that estimates are needed when the value at risk reaches a level deemed important by the owners of the money, and start acting like the professionals we want to be and gain a seat at the team to improve the probability of success of our projects with credible estimates of cost, effort, risk, productivity, production of value, and all the other attributes of that success.
For those interested in exploring further how to provide value to those paying your salary, here are some posts on Estimating Books