The main subject of my question are the user stories, after they have been put in the backlog, discussed, refined and ready to be put into the upcoming Sprint. Do they have to list all the possible detail and all the possible scenario?
Our team of 10 people spent almost 3 hours of the Refinement meeting discussing every possible detail of a simple App page that asks for an OTP, and after Confirm is pressed, either goes to the next page if the OTP is good, or display an error if not:
We wrote in detail (Using JIRA), inside the description of the User Story every possible scenario like what if the user deletes a single digit with the keyboard, what if he taps on the last input cell before writing the ones before, what happens if the user goes back and then goes to this page again, what happens if he writes just one digit then taps on confirm so the error label shows and then delete the digit again, what happens if there is no connection, if the user puts app on background and resumes it and the list goes on... The "refined" Story inside the sprint was more than 50 lines of text. Split in more than one story is not considerable as it constitutes an "atomic" functionality.
Is this normal? Everybody on the team say you have to put every possible detail or your User Story cannot be considered "ready" to be worked inside the Sprint.
And, after a story has been developed, we often have this absurd blame-game between Testers, Devs and even PO that makes everybody want to list every possible detail/scenario/use case:
Test Manager or PO: "I'm sorry, I cant consider this developed story you worked on 'Done' because if you insert this special character validation fails" -> Dev who worked on the story: "Where it is written? There is no such use case inside the Story so the Story should be accepted"
It looks like Waterfall divided in Sprints to me. Shouldn't agile be more flexible and iterative? I really believe that details emerge while you work on a functionality, it's not possible to know every detail before "testing" it.