No matter how much experience you have, unless you’re breaking your estimates down into smaller pieces, all the way down to the individual tasks — they’re likely to be wrong. Potentially very wrong.
When Estimates Go Wrong
With web technologies being an ever changing landscape, keeping your estimates accurate can be challenging. Even with years of experience, there always seems to be an outlier: some unique aspect to the project that you haven’t done before. The easiest way to get past this is to simply ignore it. Put together a rough guesstimate, or go with a gut feeling, or just throw out numbers that fit the client’s budget. Sadly, this is where thousands of dollars can be lost, in a single moment. When you come up with an inaccurate estimate, it has an effect on everything else you do: scheduling, morale, client relations, and of course: money.
If you estimates are off they will begin to have an effect all of your other projects. If you’re late on finishing one project, that usually makes you late on starting another project. This has a compounding effect, where each project is started late and finishes even later than expected because all of your estimates are slightly behind.
Whether you are a single developer or part of a team, your morale is going to be lowered by having to do more work than you expected and potentially having to constantly explain why things are late. Poor morale also makes for poor or late code, which makes managers and clients even more frustrated. In Rapid Development, Steve McConnell gives a perfect exampleof how the schedule and morale of software project can quickly head into an inescapible downward spiral:
Days turned to weeks, and the October 1 deadline for handing over the feature-complete build to testing came and went. Development still hadn’t handed over the first build to testing. Stacy called a meeting with Bill to discuss the schedule. “We haven’t gotten a build from development yet,” she said. “We were supposed to get our first build on September 1, and since we haven’t gotten one yet, they’ve got to be at least a full month behind schedule. I think they’re in trouble.”
Between the pressure to get the job done and the mounting frustrations your team will begin to internalize the issues and see everything as much larger than it actually is. Or go the opposite route and just not care. Either way, it’s not a fun place to work.
When a project goes over budget, there’s no good outcome for you or your client. If you eat the loss, in an attempt to please the client, you’re hurting your bottom line and the project is still late. Why do you do it? Because you are supposed to be an expert, which means you should be able to estimate accurately. If you instead decide to bill the client, it has the potential to strain your relationship and the client may distrust your future estimates and you could end up losing future work. Either way it’s an ugly scene.
Profit (or lack of)
The bottom line is that the less accurate your quotes, the less money you’re going to make. Let me give you an example. As a freelancer, I’ve made the mistake of quoting a flat price on a project that I really had no idea how long it would take. How did I arrive at that price? Totally a gut feeling of how long I thought it would take me to finish it. What I didn’t consider, was that while I was doing the developing, the client was doing the design, requesting the features, and thus dictating the amount of work actually required to finish the project. The scope creepquickly got out of hand. A $3,000 pay day might seem great for a freelancer, but if you compare it to the actual time spent, you might end up making $7/hour. Which means that if you had to turn work away to finish the job that you pretty much paid the client to put you though hell. You should never let that happen to you.
How do you solve this problem?
Accurately estimating any project is hard, even if you do it on a daily basis. In order to provide an accurate estimate, you have to know the true scope of your project as well as how much time each piece takes. Even if you’ve done enough discovery to truly understand the full scope of your project, there will still be problems. Everything will take longer than you think. Features will be more complex than originally assumed, bugs will show up, miscommunication and other delays will cost you time. That’s not being pessimistic, that’s just reality. There are some basic things that you can start doing that will improve your estimate accuracy.
- Start by adopting a solid methodology for how you create your project quotes.
- Do your due diligence, stop guesstimating. Spending time to research every aspect of the project, especially aspects you may not fully understand, will save you time and money in the long run.
- Don’t commit yourself to quick turnaround estimates unless you are completely confident in the price you’re quoting.
- Be wary of clients that ask you to throw out a price on the spot. Give yourself the right amount of time you need to truly come up with the right price for the job once you fully understand the scope of it. When you estimate under the pressure of being face to face, it will very likely be wrong. Tell them you’ll need some time to provide your quote.
- Use software like Evenflow to keep track of your previous estimates and use these as reference for future quotes.
These are just a few things that can take some of the pitfalls out of project estimating. Leave a comment with some of your tips for creating accurate quotes!