I worked with our backend dev lead to figure out the process that he has experience and familiar with. Our first conversation was kicked off by the statement, "In any well defined project, there are no such things as bugs". Every part of my being screamed, heresy! Where's the inquisition when you need it?!? He must have experienced a disturbance in the force that he started explaining why.
Every project should capture all possible user stories. And instead of filing new bugs, when someone finds an issue, that person should just reopen the corresponding fixed user story. Sounds great? Smells fishy to me. I had to ask, what do you mean by capturing all user stories? Even if we do, where can we find the time to capture them all?
Me: You can't possibly capture all users stories, what do we really do with unaccounted user stories?
Him: We create new ones and decide if it's worth working on in the current iteration and possibly push certain features out of the way so we can include more important ones.
Me: OK, that sounds better.
It seems to me that the inherent beauty with agile is that the interaction between people is valued more than someone creating very impersonal documents and handing them over for implementation. Be it the daily stand-ups or story estimation parties, a tap on the shoulder or a quick face to face conversation, communication is encouraged.
What does this mean for me as a tester? Maybe I shouldn't have to write formal test plans in the beginning of a project since I can include my test ideas within the story itself. And, I should still have the freedom to explore even beyond the constraints of the existing user stories since I know that not every user story will be captured. Whatever I find outside those bounds should be reported right away to the stakeholders so they can evaluate if it's worth any attention in the current iteration.
Agile is good. As long as we keep effective lines of communication and act on things accordingly, then we will be effective.