Ever since I’ve gone into business for myself, software project estimation has been one of those skills that I feel as if I’m constantly refining.
Sure, I have a process for how I go about doing it now, and I have open conversations with potential customers as I try to understand their core business need before I go off to estimate the project, but the truth of the matter – and anyone who’s ever estimated a project knows this – is that estimating a project is also a function of how well the customer understands their current problem.
By that, I simply mean that if a customer has a felt need and they have a vision for how their process can be improved, it’s easier to come up with an estimation for a project than for a customer who has a felt need but a vague idea as to how it may be solved.
There’s a lot that can be written on this topic, but I’m primarily concerned with just one aspect of estimation in this post: should estimates be free or paid?
The Luxury (Or Lack Thereof) in Software Project Estimation
A Tale of Two Developers
One of the luxuries of a salaried job is that when a project comes down the pipeline to the team, the odds that the project has been priced is relatively high.
This doesn’t necessarily mean the project has been scoped, but the company has already worked out a price for the project, the developers will likely scope the various milestones, and then will aim to deliver the solution on time.
This works differently depend on the context, though:
- Salaried jobs will often remove the burden in pricing projects, but a developer’s salary isn’t likely to change based on the project
- In self-employment, the time for pricing a project is absorbed by the contractor, the payment will vary, but the project may not be accepted
Don’t misread me: This isn’t a post about salaried jobs versus self-employment. Simply put: There’s a difference in how projects end up on each developer’s desk.
Should Estimates Be Free?
And this is the crux of this post: If you’re self-employed or manage a small team of developers, should project estimates be free?
As I mentioned before, software project estimation is one process that I’m constantly refining with each project that arrives. Sure, the more projects you work, the more likely it is that you are to see similar projects, but the point remains the same.
The majority of the time, I’m happy to provide estimates and, honestly, I think estimates should be free. After all, if the shoe was on the other foot, I’d find myself hard pressed to want to pay for an estimate for a contractor or a team that with which I may not ultimately work.
But there is a dark side to software project estimation and that’s that potential customers can take advantage of the situation. For example, a customer may come with a lead on a project and then ask you to provide an estimate.
Their motivation could be simply to get:
- An idea as to how much something like this should cost
- An idea as to what all they’ll get while working with you
- Or they may be using you to keep someone else honest
After all, you never know who else is estimating the project (nor should you really worry about it).
All that to say, when you provide an estimate for a potential customer, there’s no guarantee that you’ll be offered the job, but there are also other motivations in place that could be simply taking advantage of your time which ultimately results in costing you money.
So my question to those of you who are more experienced in simply this: Should software project estimation be free or should it be paid? And depending on where you fall, why?