I like to call today Freelancer Friday because each Friday I cover different tips for freelance developers and today I’m going to discuss how to create accurate freelance bids.
Being able to give good estimates is one of the most critical tasks you can do as a freelancer, if you quote too low you’ll end up with an angry customer because, even if you did great work, he’s having to pay more than he budgeted. And if you bid too high there’s a good chance you won’t get the job and the potential client will go to a competitor who gave a lower bid.
Through the years I’ve been guilty of erring on both sides of the spectrum and I’ve had to deal with the consequences, and they were not fun, which is why I’ve put together a formula that I follow for building bids.
- Get a detailed drill down of the project requirements, without this you won’t be able to create an accurate bid no matter what else you do. Imagine if an architect had to give an estimate to a client who said, “I want a nice house with a cool fence”, he wouldn’t be able to accurately estimate how much the house would cost to build. An architect will get a detailed breakdown on: square footage, number of bedrooms, along with a list of all of the bells and whistles. In the same way you need a detailed breakdown of every feature that the application needs to have.
- After you have the list of features, break them into categories, such as: database setup, front end design, user permission configurations, etc. and then put each of the features into one of the category ‘buckets’
- Put all of the data into a spreadsheet segmented by the categories you created in step two.
- Give a conservative estimate on each feature in the spreadsheet
- Have the spreadsheet tally up the total hours or cost and that is the project estimate
Does that seem like common sense? Good, because creating accurate freelance bids should be a simple process. If you came up and asked me how long it would take to build a payroll system I wouldn’t have a clue what the bid should be. However I do know how long building a user database will take, and I know how long it will take to implement the design, etc. And by breaking down the project into small, specific chunks I’m now able to feel more confident about how long the individual features will take to build.
I also update the spreadsheet as I progress through the project. That way I’ll actually have a guide for future projects, for example if I originally estimated that building a video upload feature would take 8 hours but it ended up taking 14 hours I will be able to more accurately estimate that feature in future projects.
I hope that this has been a helpful guide for learning how to systematize your process for creating estimates as a freelancer. I’ve also attached a sample spreadsheet to the resource section of this post that you can use as a template for your own projects.
Freelancer Resources for Accurate Freelance Bids