Live data from Hacker News

Ask HN: Developers, how do you estimate projects and write proposals?

news.ycombinator.com

1–10 of 109 posts

Ask HN: Developers, how do you estimate projects and write proposals?

#1
I’m interested to know how fellow software developers (freelancers, small businesses) estimate projects for clients.

Do you use any tools to come up with a quote? Do you send a proposal document to clients? If so, do you use a tool to generate one, or do you just use a template in a word processor? What are your main pain points when quoting for work?

Cheers!

Re: Ask HN: Developers, how do you estimate projects and write proposals?

#3
I generally believe that stating your hourly rate and providing frequent updates and milestones is a much better practice than giving an up-front project cost.

Software dev is a very difficult task to estimate. Giving an up-front project cost is either pushing uncompensated risk onto the developer, or overcharging the customer for hours of work that may not occur, depending on how tough the project turns out to be once down to the nitty gritty.

Re: Ask HN: Developers, how do you estimate projects and write proposals?

#4
post #2

I can't talk about proposals, but for estimation, I recently started using three-point estimation method which I highly recommend: https://en.wikipedia.org/wiki/Three-point_estimation

Do you use a tool that supports this methodology or do you calculate it manually?

Re: Ask HN: Developers, how do you estimate projects and write proposals?

#5
In my experience, it all depends on the client and the project size.

The larger the project, the more documentation, planning and budgeting. And no tools really help with this in general. But if it's big enough, I will do mockups, everything else is just a well formatted document.

For my regular clients I've worked with for years, a simple email/phone call > deliver product > invoice is enough of a work flow if the project is small.

A few large projects I've spent a few months documenting, planning and having client meetings before any work started. I suppose, some online collaboration tool could have been useful there.

But also I have large ongoing projects with long term clients where monthly work is done, and monthly meetings are held. But since most of my clients aren't technical, there's no need to involve them in anything other than front-end review, testing and publishing. So we get most of this done at a monthly face-to-face and a few emails.

I do have a nice formatted LibreOffice document template with header, footer, logo, etc... I tend to use this for new clients. (PDFs only though)

Re: Ask HN: Developers, how do you estimate projects and write proposals?

#6
post #2

I can't talk about proposals, but for estimation, I recently started using three-point estimation method which I highly recommend: https://en.wikipedia.org/wiki/Three-point_estimation

Although, I guess if you hit the 'worst case' scenario, you look stupid?

Re: Ask HN: Developers, how do you estimate projects and write proposals?

#7
Giving precise estimates is almost always impossible for any project of significance and really doesn't matter much. What value does a very precise estimate give? None, because 1) it's impossible, and 2) even if it wasn't, how do you know if it is accurate?

My process looks like this:

1) Decide how big of a project it is. Is it a small script or app that does some simple data manipulation? If so that's a week project. Is it larger? Maybe it is a 3 month project. Complete software solution? 1+ years (usually).

2) Go back to the client with this information, but don't spend days on getting something precise. Have the discussion with them: "from what I understand, this is going to take some time to get together for you. Are you prepared to work on the project scope with me some more?" for a larger project, the 1+ year project, they have to be prepared to spend days, even weeks, working with the team to get them a product. The time is roughly proportionate: they (the business) have to spend 1/4 to 1/2 of a work day for each week of development. 2 to 4 1-hour "talks" or reviews (on their time).

3) OK they are prepared. Talk to them some more, have the first 1 or 2 hour meeting and work on the scope, using your notes from #1 and #2. You bill them for this time. Might take 4 hours or might take even close to a week (with a demo to prove you can solve the core problem) to get them a scope of work.

Again, very important: you bill them for #3.

I always stress to the client that if they don't like the work done of course I have a satisfaction guarantee, but if the SOW is solid (and I do stand by my work, so I will make sure it is so) then they have to pay for it. If they like the SOW it is theirs once they pay: it is reasonable for me to expect them to outsource this scope to another team. I make that very clear.

Also, after #3 you'll have an idea of how big the project is. I give them an estimate for the way-high end, then add a bit to it. So if I completed a recent project like this one in 1 month, I say to myself "this took me about a month of work, focusing on just this project. This is worth some $N to me. But, you know, it might take longer - I'm going to estimate to the client it takes 2.5 months, to be safe, and tell them ($N * 2.5)."

I always do this, because often you'll end up under-billing the client and then they're super happy and will probably end up spending that extra $$$ with you anyway.

And if you don't under-bill (I almost always do using this system, unless massive pieces are left out) then well, the client is none the wiser (I hate putting it like this, but it is true) and you are being responsible to them and your own business.

The alternative is either telling them you have to charge them more $$ or you're going out of business, or eating thousands of dollars in cost b/c you're underbidding on projects. Neither on sustainable, unless you're like Uber I guess? I don't know - my business is small and I don't have any outside investors :)

Re: Ask HN: Developers, how do you estimate projects and write proposals?

#8
Somewhat heretical, but I generally don't.

I usually explain that development is an iterative process, and that I generally deliver work as soon as it's done.

We talk about the knobs that are available to tune the work to the goal, and how to measure goals. We talk about containing costs, and working together to deliver good value.

I find that in general, estimates are rarely, if ever, accurate to any significant degree, and thus are usually dishonest when presented as a way to assuage client anxiety over "when will it get done" or "how much will it cost".

Re: Ask HN: Developers, how do you estimate projects and write proposals?

#10
Badly.

It is not a joke comment. I could go into a lot of detail about methods that I've used, but it's the most important and valuable piece of knowledge that I've gotten out of this experience: we're bad at this. No matter how we do it, that's the thing that we should never forget.

Post reply on HN