tl;dr:
1. Estimates are not necessarily waste.
2. Feature/story level estimation is almost always unnecessary.
3. You’re probably doing estimation wrong anyway.
For 1 we’re going to need a brief intro to Throughput Accounting (don’t worry) and what is and isn’t waste.
- “Throughput” is how much money you make selling your product.
- “Inventory” is how much you spend on stuff you turn into Throughput.
- “Operating Expense” is how much you spend turning Inventory into Throughput
- “Value-adding work”, or just “Work”, is anything that turns Inventory into Throughput.
- “Kaizen” is anything you do to improve the system of work. More on that later.
- “Waste” is anything else: neither delivery nor improvement
- the domain
- the tech stack we will be using
- access to key SMEs
- an external dependency
- etc. in decreasing order of potential impact
This suggests a couple of things:
Should we continue? Of course!
- carries less risk
- requires less investment
- provides feedback sooner
- allows us to course-correct
- improves relationships with stakeholders
So you should do that.
- there is low uncertainty
- the work is deterministic
- you are comfortably in cyn-complicated (detailed) or cyn-obvious (simple) domains
then don't.
Any work you don't need to do is waste. This doesn't mean "estimation is waste".
2. Any feature level estimation is unnecessary, or can easily be made unnecessary.
For forecasting/investment purposes you don't need anything finer grained than quarterly planning IME. For that I recommend Blink Estimation
If your stories are wildly different in size, then
a) it probably doesn't matter (see e.g. tsta.pt/2GFCgv4), and b) you can slice stories by acceptance criteria to slim them down, AKA Acceptance Test-Driven Planning (same paper)
If you are doing anything more fine-grained than Blink Estimation / Wide-band Delphi, you may well be a victim of estimation theatre. I have a blog post in the pipes about how we are misusing methods like Monte Carlo simulation.
So, where you need to make decisions in uncertainty, you probably want some sense of expected time and cost to inform those decisions. We'll call those "estimates". Where you don't, you don't.
/end