Based on the book, we should first estimate and then we should sub-task our stories.
I personally have some issues with that. I find, sometimes, that doing an estimation on a task where we (as a team) are not 100% sure what it involves is difficult, and results frequently in underestimation.
I've the feeling, that sub-tasking first before the estimation could help with that. As it will show exactly what it takes to full fill the task and even team members who don't know that part of the codebase could better estimate it.
I've been told, that this could lead to blowing up stories, as it is not time boxed at the time of sub-tasking. But I think, if the product owner is clear with the acceptance criteria, this shouldn't be an issue and would rather produce a more honestest estimation.
What do you think?