2 ms·
The answer is quite simple. Never do a variable amount of work for a fixed price. Billing on "estimates" is a risky proposition for both sides, and you need to
by toast76 16y ago
The answer is quite simple. Never do a variable amount of work for a fixed price. Billing on "estimates" is a risky proposition for both sides, and you need to explain this to your client. They may win sometimes, but you may also win. Explain to them that they may end up paying double the actual cost if you're forced to estimate high, and they'll quickly work with you to refine the pricing.
Some clients will try get this past you by requesting a "quote estimate" instead. Which is them saying, "we will pay less if it's less, but we won't pay more". I have one client who does this constantly. The best way around it is to specify EXACTLY what you will provide them, and EXACTLY what they must provide you. If anything changes, it's a variation and you quote the change before doing any more work. They'll soon get the picture that uncertain work leads to uncertain pricing...no matter how they try to do it.
If you are uncertain as to how long the work will take, you need to improve your estimation skills. Sorry! Software engineering is most definitely NOT a chaotic activity. Every task can be broken down into smaller quantifiable components. Estimate on the components to come up with your quote. If you can't accurately estimate how long something will take, then it won't matter how you quote, you will eventually lose out.
I use the (average of best case + worst case) + slippage (15-20%) method which serves me pretty well. I learnt this from a large engineering firm I contract to which they use to quote $10million+ jobs. It evens out uncertainty and leaves you with some wriggle room.