What I understand about the current use of keywords and tags is:
1. Tags ([qa+], [qa-], [qa?], [qa!])
a. Express the QA status of the bug (qa needed, qa not needed, qa
review needed, qa completed)
b. They seem to be a fast way to let us know what level of QA work is
needed
c. Seem particularly useful for the QA team, not as much for
contributors
d. Are currently used in both Whiteboard and QA Whiteboard, which does
not make sense
2. Keywords (qawanted, regressionwindow-wanted, steps-wanted,
verifyme.)
a. Express with more granularity what kind of QA work is needed
b. Seem particularly useful in maintaining individual queries,
especially for Bug Investigation and Bug Verification
c. Appear more intuitive for contributors
At the moment, I see two plausible solutions for simplifying the use of
keywords and tags:
1. Keep using both keywords and tags with the following rules:
a. Only use the current 4 tags ([qa+], [qa-], [qa?], [qa!]) to express
QA status of bug (qa needed, qa not needed, qa review needed, qa completed)
throughout the iteration process and even outside of it
b. Use the 4 tags only in the QA Whiteboard field (as tags or keywords)
c. Keep using the current flow for the tags: [qa?] when QA needs to
review the bug -> [qa+]/[qa-] once need for QA work is clear -> [qa!] once
QA work is done and bug is verified
d. Use keywords under the following circumstances:
i.
qawanted/qaurgent/qablocked - do NOT use them anymore since [qa+] expresses
the same thing, and severity/urgency can also be expressed in a comment;
"qawanted" may still be used as a generic keyword to suggest need for QA
help, but this may be replaced by the use of [qa+], comments, and
"need-info"
ii.
regressionwindow-wanted - use same as we do currently, but do NOT set an
additional flag for [qa+], or qawanted keyword; when regression window is
provided, QA will remove keyword (will allow QA to easily monitor bugs where
regression window is requested)
iii.
steps-wanted - use same as we do currently, but do NOT set an additional
flag for [qa+], or qawanted keyword; when steps are provided, QA will remove
keyword (will allow QA to easily monitor bugs where steps are requested)
iv. verifyme
- use same as we do currently, but do NOT set an additional flag for [qa+],
or qawanted keyword; when bug is fully verified, QA will remove keyword
(will allow QA to easily monitor bugs that need verification)
2. Use only keywords, and add new keywords that express the same
things as the tags themselves (but in a more intuitive manner). For example:
[qa+]=qa-needed, [qa-]=qa-not-needed, [qa?]=qa-review-needed,
[qa!]=qa-completed. Then the use of a keywords only system would become:
a. qa-needed=qawanted/qaurgent/qablocked - used whenever qa is needed
for anything (e.g. the developer wants someone to try something, or qa is
needed to monitor a bug throughout the iteration phase); would basically
combine the use of the [qa+] tag and qawanted keyword
b. regressionwindow-wanted - use same as we do currently; when
regression window is provided, QA will just remove keyword
c. steps-wanted - use same as we do currently; when steps are
provided, QA will just remove keyword
d. verifyme - use same as we do currently; when bug is fully verified,
QA will replace the keyword with qa-completed
e. qa-not-needed - would work same as [qa-] currently
f. qa-review-needed - would work same as [qa?] currently
To me the second option seems like the simple and efficient one. and would
also enable us to do what Robert was also suggesting in a previous email:
"I'd prefer something where we use keywords and/or flags for the main
things, augmented with QA whiteboard for further specification (e.g. "this
is something that can be verified without deep knowledge",").
Feel free to comment on this, and let's find a solution.
Regards,
Florin Mezei.