I can't remember where I first heard this awesome piece of knowledge so full credit goes to that person:
In my experience, estimation sessions are not for estimating.
What on earth is meant by this? Well it's simple, it means exactly that. The estimations gathered during an estimation session are merely a tiny artifact of the whole exercise. The biggest benefit from an estimation session is the gain in shared understanding that everyone on the team receives.
Some of the key outcomes I have seen from estimation sessions are:
- Everyone on the team knows what's coming down the pipeline
- Everyone on the team gets a good idea of the tasks involved in completing a story
- Everyone on the team gains a bit of context about the work involved in other stories
- Planning is improved because dependencies and blockages are found earlier
- Epic stories are split and identified early
- Potential spikes are found before stories are played
- Everyone on the team gets context on the future iterations and gets a clear foresight of the project past the iteration they are in
One of the things to note about the above list is the repetition of Everyone on the team. To get the most benefit you have to get everyone involved in the estimation process. Often estimation sessions are reserved for "senior" or more experienced members of the team. This is usually done because estimation is seen as a lengthy and painful process that should only be done by those with experience - so it can be done faster.
When the above happens the result is usually estimates that mean nothing and a serious lack of foresight and context for everyone else on the team. You basically don't get any of the benefits of the above list as you are only taking a tiny sample of knowledge from those on the team. To better the results you have to better the sample and the best and most full proof way to do that is with a larger sample of people - the whole team.
If you have a team of around 10+ people you are probably thinking that such an estimation session is going to be a lengthy process and will waste a lot of people's time. If this is the case then it is probably highlighting a problem with the estimation method you are using. When estimation sessions are blowing out and taking too long it's time to switch up the method in which people are estimating and consider using another technique such as:
I've been on teams where everyone has estimated and on teams where only a select few people have estimated. The latter method led to a serious lack of everything on the above list and resulted in a great amount of pain for the team. Of course this wasn't realized until things got bad. In conclusion, always remember that estimation sessions are not for estimating and that the real benefit of them is everything else that goes on during them which is only beneficial if everyone is involved.