How to Estimate Projects 🧮
A round-up of the best techniques, with upsides and downsides
Hey 👋 this is Luca! Welcome to a 🔒 weekly edition 🔒 of Refactoring.
Every week I write advice on how to become a better engineering leader, backed by my own experience, research and case studies.
You can learn more about Refactoring here.
To receive all the full articles and support Refactoring, consider subscribing 👇
A few weeks ago I wrote an article on how to avoid negotiating on estimates.
I believe you can reduce conflicts by working in small batches and focusing on continuous delivery. When stakeholders realize they get some value every week, they naturally reduce their attention on estimates and deadlines.
After that article, many people reached out with questions about estimates.
What's the best way to estimate projects?
Do I think estimates are inevitably bad?
Should we estimate projects...at all?
So here are my complete thoughts on how and why to estimate projects 👇
Why you should estimate projects
This question is less trivial than it seems. I know teams who don't estimate pretty much anything, and others who care religiously about points, burndowns and such.
You will find successful stories from both camps, so do not take anything for granted.
Estimates, like all metrics, are only useful if they are actionable. So the question is: how are your decisions affected by them?
There are three major areas for which estimates are useful:
🥇 Prioritization — when you need to decide which features you should develop first, based on the highest value / cost ratio.
🍱 Allocation of Resources — when you need to set a budget for a project, or a team. You want to know if you need to hire more people, work with an agency, and so on.
🤹 Coordination — when you have multiple projects that depend on each other, and you need to schedule things in a way that nobody gets stuck.
These are all situations where estimates provide value.
There are, however, also plenty of scenarios where you don't have such needs.
Say your team works autonomously on a specific product area. You have a PM that collects feedback from users, she provides ideas for new features, and these get delivered in continuous fashion. You just do this week after week.
In this case, do you need to estimate all the things? Probably not.
But after all, why shouldn't you? Are there any downsides to estimation?