3

I am currently estimating effort; therefore, I'm estimating the cost of a project for somebody who has asked "how much is it going to cost for X".

After a discussion about functionality/scope I am providing a list of all the functionality to be developed and the number of hours to complete each. Then, multiplying the sum of hours by my hourly rate to determine project cost.

It seems simple, right.

But is this quote final then, so I have to deliver the specified functionality at that price? Or is it a case that I charge an hourly rate and will work to get everything done. If things crop up then it may take a little longer, and if I am honest then I will declare if something takes less time.

Basically my question is: If I incorrectly estimate the time required to develop a feature, who pays? The client for extra time or me, the developer who messed up the estimate and just stomachs it?

migrated from programmers.stackexchange.com Sep 15 '14 at 0:15

This question came from our site for professionals, academics, and students working within the systems development life cycle.

  • @conor there are lots of sites on the StackExchange network. While much of it is technical, there is a set of business oriented sites that may be of interest and a better fit for certain questions. – user1712 Sep 14 '14 at 23:25
9

First you need to establish whether you are estimating the project cost or providing a quote. They are different.

An estimate is just that - based on the current scope defined, the amount you estimate it will take in hours to complete which calculates to X amount. In an estimate both parties should understand that the final cost and hours needed for completion is a "best guess" and are not solid numbers. Estimates should be close to final numbers but they often change. Estimating is often best for projects which have some ambiguous scope definitions or areas where it is unclear what may be needed until that stage of the project is reached.

A quote indicates that, based upon agreed scope, the cost for the project will be X. No guess work, no estimating. Quotes state "this is what it will cost." It is agreed upon that $X is what you will charge and $X is what the client will pay. If you fail to calculate the time you need accurately, you'll need to eat any extra hours it may take. Quotes are hard numbers and should not be changed unless both parties readily agree things have surpassed project definitions. Quotes are best used when the project is clear, straight-forward, and contains no guess work.

If your client is paying you hourly, then most instances would indicate an estimate and not a quote. Hourly pay is generally reserved for estimates because you guessed at the initial negotiations, therefore the client needs to see how much time things are taking and how close you are to the predefined estimate.

Pay for quotes isn't traditionally something which is done hourly. In many cases an upfront deposit is paid, then possibly a middle 1/3 payment, then a payment upon completion. The client isn't kept abreast of how many hours the project is taking because they've already agreed upon a flat quoted fee and that's what they expect to pay regardless of whether the project takes 5 hours or 50 hours. It's your job to calculate your time accurately when providing a quote.

In short, you need to negotiate with your client as to what payment structure best suits both of you. There's no right or wrong way to do this. It's all a matter of agreement between you.

2

Both are commonly used and you have to agree with your customer how you will bill this project.

You as a contractor have to consider the risk of the project and add a safety margin. The higher the risk the higher a margin is added.

The customer will know this. If the project have a high risk it would make sense for him to ask you to bill by the hour.

These are just two examples. It all depends on what the customer expects.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.