I am not sure how to phrase this but I'd like to ask how Agile handles this.
My understanding is that in Agile, you freeze the stories that are in the current sprint.
What happens when a developer starts working on a story and realizes it's bigger than expected?
At that point, do you plan ahead by removing something else from the plan?
conversely, if they start working and get it done much faster than expected, can you fit something else in? Or do you just complete the sprint achieving less than you could have.
Specific to my situation, we have 6 week iterations, and the work is estimated upfront to fit into the iteration plan - but sometimes developers realize later that it will take more or less time, and then the iteration plan has to change. It seems that this would be incredibly common even if developers are choosing their stories and estimating/committing to them.