Hacker News new | ask | show | jobs
Ask HN | How you guys make Time Estimates
9 points by mabid 5367 days ago
I was wondering if you guys could share your knowledge and experience on estimating the number of hours a software project will take. I do freelance RoR work and many of the clients ask for an hourly rate and an estimated number of hours. I find my self totally confused when i try to estimate hours for a large and complex enough project. How should one go about this ?? thoughts , experieneces, suggestions please.
5 comments

I do front end dev work, and mostly it comes down to experience. I usually try to work out a small test of some of the more complicated problems beforehand, so I might have a sense of how much time they'll take. Then I break the project down into parts and assign hours to it

You can bill your client for actual hours, or do a flat rate based off the hours you think it'll take. I tend to do a hybrid approach where I bill them based on a flat rate with a defined scope, then can charge more if they change the scope or something takes significantly longer than expected. Most of the time I come in under my hours, but not always. It's worked well for me.

I find that a key component in any estimation is finding the number of hours I think it will take, then multiplying that number by a factor of 1.5 or 2, depending on how I read the client. It is very important that you get a feel for the client before you move forward, if they seem like they will be a pain in the neck, move on. It is much better to turn down work and find better than create a poor relationship.
Experience really, but the key is the granularity of the requirements. The more well defined the project scope is the easier it is to estimate and the closer I find my estimates to be. The more information you can get out of the client about what they want the more accurate any estimate is going to be. I would never let myself get tied to any quote that wasn't made for a specific set of requirements.
Think of how long it would take ideally, then double it, then add a week to clean up before the next project.

It's uncanny how well it works for me.