This article originally appeared in The Tennessean.
If you’ve ever remodeled your kitchen, then you’ll know exactly what I’m talking about.
You decide you want a new kitchen.
You get estimates from contractors. It’s expensive, but you take the plunge.
The contractor starts and you’re excited.
Your contractor goes way over the estimate. Your two-month project becomes a four-month project. And the cost is double what you thought it would be.
You are sad.
Whether it’s a kitchen remodel for your home or a project at work, this pattern is familiar. More often than not, even with the best intentions, complex projects end up taking longer and costing more than predicted at the start.
In my tech job, my version of remodeling a kitchen, or sometimes building a house from scratch, is all done on my computer.
As a software developer for over 30 years, I’ve been lucky to work on hundreds of projects large and small.
Developing software is fun. But like any complex endeavor, it’s not easy. Designing a user interface, setting up a database, optimizing performance, testing, securing—it’s all challenging.
But the most difficult part by far, as any software developer or kitchen remodeler will tell you, happens before you even start doing the work: the estimate.
Estimating the amount of work any complex project will take is hard.
It’s a worldwide struggle that in one way or another affects every company. Missed deadlines, broken budgets, employee burn-out — inaccurate estimates can cause havoc across an entire organization.
There are many factors that make certain undertakings more challenging to estimate than others, but a few considerations rise to the top:
- Scope creep. Some call it “feature creep.” It’s a common occurrence where the final deliverable changes over time. Especially in business, where market conditions and customer needs tend to morph, scope can be a moving target that’s impossible to predict.
- Irrational optimism. When under time or budget pressures, most of us tend to hope for the best. Sometimes it’s rooted in the desire to keep your customers happy. Other times it’s pressure from your boss or an investor. The more pressure, the more likely irrational optimism comes into play.
- The devil’s in the details — the unknown. The “don’t know what you don’t know” issues can pop up unexpectedly, causing more work.
- Subjectivity. There is often more than one way to complete a task with subtle differences that are hard to estimate.
So why is estimating so difficult? And how can we all get better at it?
The more complex the project, the more impact these factors have on estimation challenges.
Mitigating these challenges isn’t easy. But there are a few tricks that can help:
- Manage expectations. Making all stakeholders aware that estimating is an inexact science helps the entire team to keep things real.
- Get a third opinion. For larger projects with lots of moving parts, getting three completely independent estimates helps. If the estimates differ wildly, it’s best to pause and further define scope.
- Divi-up big projects into small projects. Smaller projects with short milestones are easier to estimate.
- Adjust scope to work within a set timeframe and budget. This is the “get the most bang for the buck” approach. The idea is to set a deadline and cost estimate and reduce the scope to fit the estimate.
- Focus on the planning phase. The goal is to reduce unknowns as much as possible before you start a project. The takes more time upfront but leads to better estimates when work begins.
Estimating is something that can be a struggle for even the smartest and most seasoned professionals. But, recognizing the challenges up front and then doing as much as you can to avoid underestimating can help.
Whether it’s your kitchen remodel or a business project—everyone will be happier if you follow the recipe for cooking up thoughtful estimates.