Shim has posted a pro and con look at the #NoEstimates paradigm. It asks 13 questions and provides an assessment for the Pro and the Con of the statement. I'm not a fan of the notion of not using estimates to make decisions and since those suggesting you can have yet to show how, I can't come up with any Pro position. But I do have some opinions about the answers to Shim's post
- Are cost estimates required in order to manage software projects?
- If by manage we mean provide guidance to get the project out the door on or before the planned data, with the needed capabilities, and at or below the target budget, then yes we do need to estimate the cost of the project, the likelihood of completing on or before the need date, with the confidence the needed features will be able to make the revenue target or meet our mission goal.
- Without these estimates and their related schedule and technical estimates, there is no way to provide steering inputs to the project to make sure it is a success.
- As well, without these estimates, there is no way for the business management process to forecast labor, cash, facilities, and all the other support functions needed to actually run the business.
- Are cost estimates an effective tool for controlling costs?
- Controlling costs means you have a cost target to control against. You have actuals from the work and compare them to you forecast costs to produce a cost variance.
- So yes you need a starting target - the Estimate At Completion, to compare your actual costs again the estimated cost to produce a cost variance that can be used to take corrective action to stay on cost or at least near cost.
- The project's cost participates in the Return on Investment along with Value
- ROI = (Value - Cost) / Cost.
- Early on both these are probabilistic estimates.
- As the project proceeds, the cost numbers become clearer.
- As the project proceeds, the value numbers must become clearer to assure the project still makes business sense.
- The project's cost also participates in the Gross Margin, if ROI is not the primary measure of project performance.
- For SW development in exchange for money a 35% GM is doing well.
- Higher is better.
- But we can't know how well we are doing if we don't know our target cost compared to the actual cost.
- Knowing this at the end of the project is helpful in the decision making process. It's too late to take corrective action.
- Being given a fixed budget and accounting for actual costs, still needs to forecast future costs to make sure we don't run out of money before the end of the project.
- By the way, the notion of breaking down all the work into same sized chunks, defining the duration and effort to produce outcomes from those chunks, and using that measure to forecast the total cost and schedule sounds very appealing.
- But breaking down the work into same sized chunks that can be statistically credible as an estimate has not been shown outside of anecdotes on small projects in very controlled environments. And the effort to do that, while at the heart of our domain's Basis of Estimate process requires effort - for all the right reasons.
- This approach of decomposing into same sized chunks of called estimating. So if #NoEstimates is doing this - and this is the right way - then #Noestimates is #Estimating. Isn't that a fine illogical loop.
- Do estimates stifle creativity and kill innovation?
- Does estimating the cost of the oil paints for an artist stifle creativity?
- Does estimating the cost of the materials used in a prototype manufacturing process stifle innovation?
- No
- Do people need estimates? And if so, why?
- Those accountable for providing the money to do the work need an estimate of how much money, when it will be needed and what they will get in return for that money, and when they will break even?
- It's that simple. It's that complex. It's called business management.
- To ignore business management processes, is a strategy for going out of business.
- Is the very act of estimation results in the creation of uncertainty?
- All projects contain uncertainty. Reducible uncertainty and irreducible uncertainty. It's the way it works.
- Uncertainty creates risk.
- There are two types of uncertainty
- Reducible Uncertainty (Epistemic) - that can reduced by spending money. You can buy down the risk with money.
- Irreducible Uncertainty (Aleatory) - which is the natural uncertainty built into the system. Spending money will not reduce it. The only protection of irreducible uncertainty is margin. Schedule margin, cost margin, performance margin.
- Estimates are probabilistic assessment using the underlying statistical uncertainty to determine the confidence in an outcome - cost, schedule, a capability.
- Is estimation a practice still hanging over from the Waterfall era?
- If we want to know the cost of the new sliding glass door for our deck, we'll need an estimate for a couple of providers.
- If we want to know the all in costs of our project so we can put that cost in in our proposal, we'll need an estimate.
- If we would like to know when we'll break even on our current product efforts, we'll need an estimate of our cost to go along with an estimate of the revenue, so we can estimate the month we'll have enough revenue to cover our costs and break even.
- Is estimating a hang over from the Waterfall era? No.
- Is No Estimation better than Bad Estimation?
- Bad estimating says its name. It's bad estimating
- I can't find a list of what #NoEstimating actually means other than we're exploring for new ways to make decisions without making estimates about the cost of those decisions.
- It's as if there is intentional obfuscation of the meaning, so I can't realy tell the difference between bad estimates and no estimates.
- Maybe No Estimates is better, since those with the money may actually take action on a bad estimate. Without an estimate, those with the money are unlikley to decide anything, starting with NOT giving you the money, since you can't estimate how much you'll need, what value you'll deliver in exchange, and when you'll be done.
- Is Estimation really just a form of Guessing?
- If estimats are guesses, then you're a bad estimator.
- Estimating is actual work, so learn how to do it.
- Are estimates necessary for Governance? Is it reasonable to require estimates for the purpose of pacifying governance needs?
- Project Governance focuses on delivering products or services to support the top line growth while moving operational savings to the bottom line - is one definition of governance.
- IT Governance is the on-going need a business organisation to focus value creation efforts on an organisation's strategic objectives and to better manage the performance of those responsible for creating this value in the best interest of all stakeholders.
- Both these governance models require knowing the cost of producing that value and they need to know that cost - as an estimate - before the project starts to provide the decision makers with information needed to make a decision. Decision makers, make decision based on both Value and Cost in the ROI = (Value - Cost) / Cost formula or the target margin.
- You can't have a succesful business without knowing the Cost of Goods Sold (COGS)
- Is there any point in providing estimates when it is known that many projects fail due to lack of credible estimates? And aren’t estimates a tool used to apportion blame afterwards anyway?
- Well then produce a credible estimate.
- It's a poor workman that blames her tools.
- Apportining blame using any tool is simply Bad Management.
- Is costing a necessary tool for determining business value?
- You cannot determine the value of something - in the business sense - without knowing its cost.
- Does the scope drive the budget or does the budget drive the cost?
- This is the chicken or the egg question.
- If estimates are required in order to support decisions, can decisions be made without estimates?
- The question has its answer.
- If estimates are needed to make decisions, someone please explain how decisions can be made without knowing the cost of that decision. Or the schedule or technical performance impact on that decision.
So In The End
Knowing the cost of work that provides value is part of the business process. Estimating this cost as well as the business value is part of the business process. That's it. Until someone can provide of list of testable way to make decision about business activites without knowing the cost of those decisions, you'll need to make estimates.