[thelist] Fixed Cost Estimations

Martin Burns martin at easyweb.co.uk
Thu Jul 21 16:59:51 CDT 2011

On 21 Jul 2011, at 14:25, Lee Kowalkowski wrote:

> On 21 July 2011 13:15, Fred Jones <fredthejonester at gmail.com> wrote:
>> Anyhow, I think everyone knows about the "Cone of Uncertainty" which
>> means that my estimate today, before the job begins, is up to 4x off.
>> Therefore it would appear to me that if I do fixed fee, I would charge
>> my hourly rate times my estimate times FOUR.
> eek!  4x also means you might have estimated 4x more effort (it might
> be easier to do than you expect).  So your strategy is to bill up to
> 16x of what it takes.  That's not competitive, competition is usually
> riskier.
> The 4x is at the initial concept stage according to
> http://www.construx.com/Page.aspx?cid=1648, it'll be reduced to about
> 2x if you have an approved definition of the product, 1.5x once you
> have detailed requirements and 1.25x when the UI is designed.

The trick is: never *ever* firmly and finally estimate against the unknown.

Only give fixed, final prices against fixed, final scope, where the change control mechanism is your best friend. If the scope changes, your previous estimates are invalidated.

Then start from the lowest level of detail - it's very hard to be much off on a 1/2d piece of work, so you end up pretty close to the correct total for the hands-on coding part. That said, *all* estimates should be ranges - there just isn't a 'correct' estimate.

Then you need a parametric model (based on *your* experience, derived from *your* actuals and updated regularly) to assess how much this translates into for 

* Team leadership/management
* QA
* Test/defect fix
* Warranty

None of which are true value-add (and all can be considered to be Waste to a certain extent), but are nevertheless very very hard to eliminate.

Given good inputs, you should be able to hit your effort estimate +/- 5% almost every time.

What do you do with unknowns (other than try and resolve them?) Well, you declare them to be Risks, and you have contingency against them. Which shouldn't just be a random/fixed figure: you try to assess what happens if they go the way you fear, the probability of them doing so and multiply A * B to work out how much contingency you need. Do this for each unknown, total it up, and there's your contingency budget. Once the client gets that the fewer unknowns, the smaller the contingency, they'll tend to work with you to eliminate them.

You'll also often get into a fight about your estimates, but generally, differences in estimates are caused by differences in assumptions. Work to align assumptions and you generally can come to a range both parties can live with.

Now, how do you translate that effort estimate into a fixed price?

The price needs to be in a range bounded at the top by what the customer will pay (actually: what value the solution will deliver to the customer), and at the bottom, what it will cost you. As long as the end result's in that band, it's acceptable, and it's up to you to negotiate what you can. Understanding both your and the customer's limits are *really really* important in defining your negotiating strategy! Both of you have to gain value from the transaction, so don't try and screw them. Similarly, don't ever let them screw you below your cost price. Walk away in preference.


> Spammers: Send me email -> yumyum at easyweb.co.uk to train my filter

More information about the thelist mailing list