In our agile team we frequently encounter the issue where the Scrum Master points out that all of our stories should be fully tasked and estimated prior to an iteration and once these tasks have been added no more tasks/stories can be added during the iteration. In my opinion this is very difficult to accomplish unless the item of work is fully understood. In my experience trying to fully task a story prior to actually working on it is difficult because :
I don't know what the tasks will actually involve until I familiarize myself with the code in that particular area.
Even when I familiarize myself I will be constantly reading doc's etc to improve my understanding and look for efficiency's thereby possibly making my original tasks redundant.
Perhaps this is not very agile of me but it feels like the best method of adding value to the work being done. Am I just being too rigid or is there a common approach to solve this issue? Is this issue common among users of this site as it seems quite common to developers I've worked with?