Software Estimation – Assumptions and Disclaimers to Include

estimation

I'm writing a lot of estimates lately and I'm finding that quite often, a client might argue scope, deliverables or (most often) cost.

In an effort to ensure that the breadth of coverage (of client requirements and mutually understood scope) for the estimate is clear (and given most clients will view an estimate as a fixed quote from Moses himself), what common assumptions do you include with your estimates such that expectations are clearly set with clients and disagreements around what is being delivered or charged are minimised?

Best Answer

what common assumptions do you include with your estimates

Every single "fact" provided by the customer is listed as an assumption.

Those are the common assumptions.

Everything else is just fluff. You can write down lots of fluffy things like you assume that plague doesn't break out, and zombies don't arise and eat our brains, but none of that makes any sense to a customer.

Taking their "facts" about the development effort, and relabeling each "fact" as an assumption makes it clear that everything is fanciful.

Then.

Study up on Agile methods and be sure to identify that -- really -- it's a matter of priorities and budget. You'll build things from most important to least important and they can stop you at any time.


There are several -- irreconcilably different -- "intents" for an estimate.

  1. It could be a firm, fixed price that will establish an upper limit on the budget and a lower limit on delivered functionality.

  2. It could be a ballpark price used to reverse engineer an hourly rate used to qualify you as a resource.

  3. It could be a cost number that goes into a cost/benefit decision.

Until you know what the "intent" is, the nature of the assumptions will vary. There's no single right answer until you actually define the customer's intent.