My favorites | Sign in
Project Home Wiki Issues Source
New issue   Search
  Advanced search   Search tips   Subscriptions
Issue 5264: Customizable issue roles and sign-off
11 people starred this issue and may be notified of changes. Back to list
Reported by, Apr 24, 2011
What new or enhanced feature are you proposing?
Right now we have an issue owner and a CC list.  The CC list is an undifferentiated bag of people who care about the issue.  That's perfect when those people just want to keep informed, but it's less than perfect when those people are on the list because they bear some responsibility for some aspect of the issue.  E.g., they are not the overall issue owner, but they do own the quality-assurance aspect of that issue, or the i18n or translation or deployment parts of it.

Keep things are they are by default, and keep one issue owner and a general CC list.  But, add the ability for project owners to define a set of issue roles, such as "QA manager", "Translator", "Release Eng", etc.  When these are defined, then separate fields will be shown on the issue for the email addresses of each of those people.

In terms of access permissions and notifications, the users named in the custom roles are really just treated the same as CC'd users.  Maybe we could allow each project role to be marked as granting the EditIssue permission, but that should not be the default.

Sign-off is just a checkbox on each issue for each custom role.  Either that user is satisfied that that part of the issue is done or not.  Each user who is named in that role would be able to sign-off on just their own part, and that would be noted in the issue updates just like a label change would be.  They would be able to sign-off their own part even if they do not otherwise have permission to edit the issue.  Project owners should be able to sign-off any aspect of any issue. 

Maybe the sign-off value should be multiple choice rather than just a checkbox.  E.g., Approval pending, Not applicable, and Approval granted.  It might be useful to have an explicit Denied state too.  It would be useful, if a stakeholder has a good reason why a given issue should be rejected and work on it discarded, but if we don't offer that, they could still write it up in a comment and leave approval pending forever.

Like the current CC field, it should be possible to search and sort by these custom fields and see them in the issue list and grid.  E.g., show me all the issues that I need to approve for any reason.  E.g., show me all the issues that are pending "QA manager" approval by anyone, or by a specific user.

The goal of sign-offs is just to inform users of the current state of the issue and to allow them to express sign-off information more easily than they could do it today with free text comments.  It is not intended to be enforced.  E.g., we will not prevent an issue from being closed while there are pending approvals, although we might send a notification to those approvers that highlights the fact that that was done.

It should be possible to edit and query the state of each type of sign-off even if no user was assigned to that role.  E.g., a project owner might track the "QA Manager" sign-off state for lots of issues even when no user is specified.

Filter rules should allow default users to be set in each of the custom roles, just like they can set default owners and CC'd users right now.

What goal would this enhancement help you achieve?
It would be a powerful tool for managing issues in larger projects that have a little bit of process around quality, translations, and deployments.  It would make it much easier to track the state of specific aspects of these issues rather than needing to go in and look at long CC lists, ad-hoc labels, and free-text comments.

Apr 24, 2011
Right now the chromium project is doing this in an ad-hoc way with labels.  It's great that projects can get pretty far with just labels, but you can see by how many labels they needed to define.  There's a limit after which it becomes unmanageable and a more specific feature is needed.

Dev-AccessibilityReview-Yes = Feature has been reviewed by the Accessbility team
Dev-AccessibilityReview-No = Feature has not been reviewed by the Accessbility team
Dev-AccessibilityReview-NA = This feature does not have accessbility requirements
Dev-ConopsReview-Yes = Feature has been reviewed with ConOps
Dev-ConopsReview-No  = Feature has not been reviewed with ConOps
Dev-ConopsReview-NA  = ConOps will not have to support this feature
Dev-LegalReview-Yes  = Feature Dev, legal has reviewed
Dev-LegalReview-No   = Feature Dev, legal has not reviewed
Dev-LegalReview-NA   = Legal review, not required
Dev-MarketingReview-Yes = Marketing has reviewed
Dev-MarketingReview-No = Marketing has not reviewed
Dev-MarketingReview-NA = Marketing review not required
Dev-PM-Unknown       = No Associated Product Manager
Dev-PM-NA            = No Associated Product Manager
Dev-PM-<foo>     = PM is <Name of Product Manager>  (there are > 10 of these)
Dev-PrivacyReview-Yes = Privacy has reviewed
Dev-PrivacyReview-No = Privacy has not reviewed
Dev-PrivacyReview-NA = Privacy review not required
Dev-QAReview-Yes     = QA has reviewed this feature for test requirements?
Dev-QAReview-No      = Need to work with QA to develop test requirements?
Dev-QAReview-NA      = Test plan not required (expect follow-up)
Dev-SecurityReview-Yes = Security has reviewed
Dev-SecurityReview-No = Security has not reviewed
Dev-SecurityReview-NA = Security review not required
Dev-SREReview-Yes    = SREs have reviewed our use of Google services
Dev-SREReview-No     = SREs need to review our use of Google services
Dev-SREReview-NA     = Feature does not uses services on Google servers
Dev-StringsReviewed-Yes = User visible strings have been reviewed by UI team
Dev-StringsReviewed-No = User visible strings need to be reviewed by UI team
Dev-StringsReviewed-NA = No user visible strings
Dev-UIReview-Yes     = UI has been reviewed
Dev-UIReview-No      = UI has not been reviewed
Dev-UIReview-NA      = No visible user interface

Sign in to add a comment

Powered by Google Project Hosting