As a consultant, I regularly get asked to estimate the amount of work involved in software changes that customers want. In principle this is fine. I know that all work that is done in business these days is based on a quote. However, in Software Development we are often asked to quote without having any kind of real access to the system we are going to be changing.
As a BI consultant, a lot of the estimates I do are for Reporting, ETL, or Cube changes. Most of the time I have never had access to the customer’s database(s) and have little or no understanding about the changes they want done. Imagine for a moment if a Civil Engineer was asked to quote on building changes without first being allowed to inspect the site and current buildings… It wouldn’t happen!
My experience is that the bigger the job is, the more opportunity is provided to do accurate estimates. This means that on the small jobs (e.g. a couple of weeks of work), you’re often just putting a figure down (guessing) and hoping it covers it. But maybe in such cases a full investigation is just not warranted, or even financially viable? I’ve had situations where the estimate on an individual change takes as long as it would to just make the change.
Anyone out there found a solution to this? Is there a better way of estimating work when the work required is expected to be quite small? Or are we always going to be making “educated” guesses for the small jobs?