Live data from Hacker News

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

news.ycombinator.com

51–60 of 109 posts

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

#51

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 on…

I disagree; hourly rates are an invitation to get bullied by the customer. I much prefer setting a project cost, and informing client we can negotiate _scope_ but not _cost_. (roughly parroting patio11 here).

This is in many ways _harder_, though. Hard to estimate time required (supply-side), hard to estimate value to customer (demand-side).

As a service provider, "overcharging the customer for hours of work that may not occur" is effectively sidestepped by project-based billing. You're providing a product of value to them, not a number of hours of labor. Hourly rates are best left as an internal estimator of cost-to-supply-the-thing, and nothing else.

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

#52
I use ranged estimates with LiquidPlanner. I send a project plan showing the estimates and expected completion date. If the estimates are wide, I explain that I can make them narrower by spending more (billable) time doing research.

Here's an example for a small project with a new potential client I met with for about 20 minutes: https://gist.github.com/bc2f83544b210f81715c4f4175fca985

Estimates are fairly wide because I haven't seen any of their code, just a brief screenshare and a description of the work they would like completed.

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

#54
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?

If you use a confidence-interval estimates, you can choose how wide to make the confidence interval. I use 80% confidence intervals because that's what supported by the project management tool I use. 10% of the time, the project should take more than the high estimate (and 10%, less than the low estimate).

If you use a 99.9% confidence interval and miss the high estimate, then you're probably over-confident. (And your estimate was probably too wide to be meaningful.)

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

#55
It is very hard to know exactly what the client wants. Also it is possible the client will change its idea in the middle of the project. You basically use your experience to have an idea of how much will take you to develop the project and then add a safe margin. Where this safe margin usually is multiply per 2 or 3 of your initial estimation. You should also consider how big/complex is the company you are going to work for, the bigger the more difficult is to get what you need from them. So you multiply again per 2 or 3 if the company is big to account for the delays in getting what you need from them and other bureaucracy stuff.

The other option is to charge per hour with a range of hours you will work on the project. And if they want to make changes or add things you just charge more hours.

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

#56

I believe only a small niche of IT projects can qualify for "accurate" estimates, and that is tasks such as install Wordpress, swap image, etc, although even in these isolated cases there might still be factors that could easily throw you off with the estimate. For real software development, where you develop a solution to a business problem, estimates are worthless. The thing is, solutions to business problems are v…

Rule of thumb: if the estimate is >= 2 weeks, the estimate is worthless.

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

#57
post #37

I don't estimate, I work the other direction. How much is it worth to fix? That's a much easier value to discover. From there work backwards to determine how much to spend and where to prioritize. Eg: a bug generates 3 email and 3 phone support issues per day, at a cost of 1h or $33/day - $12k/yr. Easy to justify spending one dev-week on the issue ($6k). Or missing feature that lost a sale of $50k easily justify $5k…

Funny, I find measuring opportunity costs much much harder than measuring engineering effort.

Even in your example, are those phone calls the substantial costs, or is it customer confidence in your product being lost the main motivation you should do something with the bug? If so, what's the dollar value of this confidence? Also, do you have monitoring good enough in place to see how many customers are hitting the problem every day without telling you? Do you think these customers are less or more frustrated than the one they are calling you?

Can you attribute lost customer to a particular feature not present, to a particular bug the customer experienced just before they refused to deal with your software anymore?

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

#58

I believe only a small niche of IT projects can qualify for "accurate" estimates, and that is tasks such as install Wordpress, swap image, etc, although even in these isolated cases there might still be factors that could easily throw you off with the estimate. For real software development, where you develop a solution to a business problem, estimates are worthless. The thing is, solutions to business problems are v…

It is just like a weather forecast. People want it despite it is useless most of the time.

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

#59

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.

I second this. I have made tons of mistakes estimating, but the fact is that for all the foolish mistakes I've made--forgetting things, not asking the right questions, and jumping the gun on making a prediction--I've probably never had enough information to make a good estimate.

Almost every project runs into an unforeseen roadblock. The less experience you have with a sort of project, the more true this becomes. You can't account for things you don't see coming, so the usual answer is to arbitrarily pad estimates, and of course arbitrary padding is usually wrong.

A project plan is more useful for finding bottlenecks than predicting an end date. So unfortunately, the best tip I can offer is to make sure people are aware of the uncertainty involved, and beware of people who expect it to be straightforward.

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

#60
post #13

(about estimating - I don't tend to write proposals) You could have a look at https://www.estigator.com (NB it's a half-finished side project right now) I'm no longer a contractor, although I have been, and I'm frequently asked by my new employers to provide estimates for dev tasks. Trouble is, businesses/clients tend to see an estimate as a promise, or a target. From the developer's point of view it is hard to do an…

I like the idea and I am trying to use it. On MacOS and using Firefox nightly.. if I click into the first time estimate box and hit my delete key... the whole app disappears.
Post reply on HN