Saturday, February 03, 2007

estimation - aaarrrggghhh!!!

One of my work mates asked me about a book I've read the other day.

He told me that he was trying to improve his estimation abilities.

Yes - that ever present issue.

I totally understand. I, like everyone else, am bad at estimating. (But I'm better than I used to be!)

I once went into a yearly review and my manager said he thought my estimates were bad and that I had to fix it.

OK. I took it on the chin. So I asked for help, but none was offered. Not even a pointer...

That was one of the worst examples of leadership I've suffered through.

I have a much better understanding of estimation now. I have techniques and processes and guides to assist. But I had to work this out myself, through experience and research.

So I let him know that if he wants to talk about it, then I'm available. I'm more than happy to share my knowledge with anyone. I don't want others to have to struggle with the same things I've had to. And besides, I'm sure that their experience and knowledge can help me.

So you're after the techniques to better estimation. Here's a few:
- make everyone understand that an estimate does not equal a contract. The date or time that you estimate is not something that will happen, but something like it will. This leads to the next point.
- allocate the appropriate effort to the estimate. If the estimate is very important or the estimate will be used in some published article, then spend more time determining the actual content of the work and what's really required. This can lead to the next point.
- understand what's really required. In the process of dissecting the issue, you will have a better idea of what's involved and therefore a better estimate.
- estimate as a team. Other's opinions may help you consider factors you may not have.
- add some padding. Use your experience, so that if you're a chronic under/over estimator add the appropriate factor to help cover the slack. Or, pad using tasks of a lower priority that may or may not be completed (DSDM uses this technique)
- cut your work into small chunks and estimate those. It can be much easier to estimate small tasks.
- understand you. Find out why your estimates are wrong. Do you do more than in necessary? Do you double and triple check before completing? Do you fully understand the requirement? Do you know the technology/environment?

- don't use estimates. I know, this seems crazy. But this can be very liberating and very powerful. It requires certain things in order to work and getting those can be extremely difficult. But it can work. You will need:
- trust between you, your team lead, the manager and the business.
- honesty between you, your team lead, the manager and the business.
- frequent reviews of your progress against the goals. This is important to know how you're going.

I use some/all of these and I find that some work better in places that others.

There's probably others I haven't listed and my bag of tools is not full.

What do you do?

No comments: