Another post I made to the Agile-Testing Group recently:

Here’s a simple estimation excercise. My honest advice is don’t just read it; actually try it. It takes about two minutes.

To start, think about the space between the bottom of your feet and your knees. Write it down. Then think about the space between your knees and your middle. Write that down.

Then estimate the and write down the size of your torso, then your neck, then your head.

Next, add up all five numbers.

Now compare that to how tall you /actually/ are.

That difference – between how you imagine things and how they actually are – is a picutre difference between task estimates and how long things will actually take.

Except of course, you can see and touch your body and it’s been about the same height for decades, whereas code is new and fresh and symbolic and ‘tests’ are an even-more abstract concept.

When you think about it, tests are a first-order derivative of the code itself. Also, most testing is exploratory in nature, EG early predictions are not the best predictions.

So would I be reluctant to make task estimates on a testing task, given the typical American shorthand that estimate==commitment? Certainly.

I like to think of this as the test estimation rabbit hole. First, we have to have the bad news that test estimation is conceptually impossible.

Then we figure out how to do it anyway.

More to come.

It's not impossible to estimate because it's an approximation. Perhaps you meant that it's impossible to estimate with 100% accuracy?

Perhaps I've been lucky in that most clients I've had understood the difference between an estimate and an invoice.

Oh, anonymous, you're onto something. More next time. ðŸ™‚