In the great book User Stories Applied the author specified the following process for trawling requirements in the form of user stories:
Create user roles (personas) --> brainstorm user goals for each role --> Write user stories -->
estimate all user stories --> prioritizes stories --> select some user stories for the first release -->
write acceptance criteria for each story --> divide each story into tasks --> estimate tasks
However, I don't get why ALL stories should be estimated first and if they need to be estimated why leave the acceptance criteria out of the story till it's time to work on it?
Next thing is about the acceptance criteria itself, in the book acceptance criteria where simple statements as:
- test with Master Card for payment.
- test with Visa for payment.
Isn't the Given... When... Then... format better for writing acceptance tests?
Last thing is about breaking user stories to tasks, why bother re-estimating the tasks when the task itself was estimated in story point?