Gentlemen, we have run out of money; now we have to think - Winston Churchill
The role of estimating in project and product development is many fold...
- For product, the cost of development must recouped over the life cycle of the product. Knowing the sunk cost of the product provides decision making information to the business if the target margin will be achieved and on what day.
- For projects, the cost of development is part of the ROI equation. ROI = (Value - Cost) / Cost
- For day to day business operations cash flow is the actual cost of producing outcomes. Budget is not the same as cost. We have define a budget for our work, but some forecast of the cost of that work, gathered from current operations or past performance, let's us know if we have sufficient budget.
- For products when marginal cost exceeds marginal profit, we're going go out of business if we don't do something about controlling the cost. But our cost forecast and revenue forecast are the steering points to provide feedback for making choices.
- For projects, the marginal cost and the marginal benefits obey the same rules of microeconomics.
In both cases the future cost and future monetized value are probabilistic numbers.
- This project or product will cost $257,000 or less with an 80% confidence
- This project or product will complete on or before May 2015 with a 75% confidence
With both these numbers and their Probability Distribution Function, decisions can be made about options - choices that can be made to influence the probability of project or product success.
Without this information, the microeconomics of writing software for money is not possible and the foundation of business processes abandoned.
In order to make these estimates of cost, schedule, and the technical performance of the project or product, some model is needed and the underlying uncertainty of the elements of the model. These uncertainties come in two forms
- Reducible (epistemic uncertainty) - money can be spent to reduce this uncertainty. Testing, prototypes, incremental development.
- Irreducible (aleatory uncertainty) - this is the normal variance in the process or technical components. The Deming uncertainty. The only action to reduce this uncertainty is margin, Cost margin, schedule, and technical margin. The cost margin is then part of the total project or product budget and the schedule margin part of the total period of performance for the project or the planned release date for the product.
To suggest decisions can be made without knowing this future information violates the principles of microeconomics of business