This post kicks off a mini-series on project management. A long time ago, I founded a PM app that had me talk with literally thousands of people like you who manage client projects, and we don’t just talk about my software — I make it a point to learn as much about my clients’ businesses as I can.
You might say I’ve learned a lot over the years.
Working on a (successful) project involves a lot more than just writing code or designing. It can require:
- Foresight. Being able to see into the future and create agreeable estimates.
- Expectations. Teaching your clients about how you work, and what’s involved in changing scope or prioritization.
- Communication. How you’ll bring clarity to the project for both you and your clients.
- Focus. Not allowing your project to get dragged down by distractions (e.g. status meetings.)
This post is about foresight.
So, what’s the point of estimating? It all boils down to risk mitigation (paying $X an hour to some guy or gal for an indefinite amount of time usually doesn’t fly with most clients.) Estimating helps us map out the totality of a project, and helps our clients understand what sort of budget and timeline they should expect.
Most of us estimate by surveying the project’s requirements, comparing the requirements to work we’ve done in the past, and attaching a price and hourly estimate.
But I think estimates should be seen for what they really are: guesstimates.
The problem is the work you and I do is a lot more similar to writing a novel than… say, installing a roof on a house. But chances are, your clients have hired roofers (or a similar provider) in the past, and compare our “estimate” with an estimate they might have gotten from a roofer.
And since most roofers multiply the square footage of a roof with a unit cost to figure out a total cost, the assumption is we’re doing the same thing: multiply the time required for a project (c.f.: square footage of a roof) by our rate (c.f.: price per shingle.)
…And because we like winning contracts more than we like losing them, most freelancers will tend to be overly optimistic and underestimate how long a project will take. But then what happens is we’ll then win the contract, things go well for a bit, and then we end up with a disgruntled client after we go over budget.
Here’s the strategy that I, and at least a few of my customers I’ve spoken with, use to estimate client projects (one, in particular, runs an agency, and is closing 2-3x more projects these days):
- Capture ALL project requirements that you know about.
- Guesstimate the complexity of each requirement.
- Involve your clients immediately. Encourage them to trim scope or reprioritize until the estimate fits their budget.
- Constantly (and I mean constantly!) point out the relationship between the project’s requirements and the estimated cost. Emphasize that your time estimates are based on the information you have on-hand right now and will probably change.
- Allow your clients to single-handedly determine the final scope and projected cost of their project. Stop crossing your fingers, throwing an estimate over the wall, and praying they go for it!
Client involvement is key. By giving them the power to price their own project and learning about how estimates are created. By allowing them to write their own estimates, they’re competing against themselves — instead of comparing you against your competitors.
Next week I’ll be covering setting expectations with your clients, including a few tips on protecting yourself from scope creep.