If you wanted to teach a class in state machines, defect reports would be a great case study. They have a very
limited set of states and clearly defined rules for when to transition between them. They don't always touch
every state, and they can have cycles, going back and forth between states. One common question with defect
reports is Who Closes Out the Defect Report. Some say the developer, some say the TPM,
some say the tester, but I think it's really pretty straightforward. The person who opened the report is
responsible for closing it. Mike Jennings says it better than I
can.
This also applies to things that aren't obviously defect (bug) reports. Consider comments in a Google doc.
While they might not be labeled as defect reports they indicate an issue with the doc. It might be a lack of
clarity, it might be a missed case, it might be a factual error, or something else entirely. Regardless, the
comment indicates a problem. It is typically on the doc author to respond to the comment, but others with the
answer can also chime in. Either way the response and/or change to the doc is there to address the
"defect" in the doc. So who closes the comment, if anyone? I've seen at least four different
approaches.
My preferred method is for the author of the comment to mark it as resolved when they feel the issue has been
addressed. When all comments are resolved then there are no open issues. Those that want to see the comments can
enable the comment threads to be shown.
Second is for the author to somehow indicate that the issue is resolved by added to the comment thread and then
leave the comment open. In this way there positive acknowledgement that issues have been resolved (albeit hard
to tell), but the comments are easy for everyone to view.
Third is for the author to respond to/address the comment and if the commenter has something else to say they
do. In this case you're never quite sure if issues have been addressed.
Last, and the one I'll push back on every time I see it, is for the author to respond and close the comment,
relying on the commenter to re-open the issue if they want. To me this is exactly the wrong way to approach it.
Comments indicate an issue a customer has with the product. The only person who knows if the customer's issue
has been resolved is the customer. Anything else discourages people from reporting issues and disenfranchises
them. Cutting the customer out of the loop is never something we should be
doing.
This doesn't mean that we always do what the customer wants or that every issue will be addressed to every
customer's satisfaction. It's perfectly valid to tell a customer, "Yeah, it's not great, but this is what
we can do here/now. We'll worry about your issue later." or "I don't think that's an issue because
...". but we should always acknowledge the issue and not lose track of it.