bugflow / auto-gnome

GitHub Ticket Gnome
https://auto-gnome.readthedocs.org/
0 stars 1 forks source link

opinion: UseRoleLabels #16

Open monkeypants opened 7 years ago

monkeypants commented 7 years ago

This practice is where we have traditionally made a set of light blue TODO labels, that corespond to internal roles within the team. For example:

The purpose of these tags is to facilitate communication within the team about who should do what next. It's kind of like re-assigning tickets to each other, except in a team where each "role" can be done by more than one person (e.g. manual QA 2 testers), the developer doesn't really care which one does the tests, so assigning it to someone in particular doesn't make sense. Instead, the dev who fixed the bug might say "I think I fixed it, please check".

This auto-gnome opinion would:

Maybe we could even have the idea of "role_members" or "role_managers". If a role label was added, then withing X hours if no role members ACK it with a comment (i.e. make a comment after the role was applied, any comment will do), then the role_manager get's pinged by the gnome.

This would be helpful to keep things moving. The purpose of this opinion is to encourage people to continuously groom appropriately for their role.

monkeypants commented 7 years ago
opinions:
 - UseRoleLabels:
   - roles:
     - code_change: monkeypants
     - manual_qa: stinkyboots
     - qa_automation: sparkles-the-unicorn
   - nag_hours: 18
monkeypants commented 7 years ago

Feedback/idea from UseRoleLabels use in practice.

When a developer adds the "todo -QA" label to a ticket:

It would be nice if you provide any required information for QA (or just say that it's been done).

In the context of a gnome plugin, this sounds like another requirement for nagging.

So we really need two types of nagging here:

So, I think maybe the requirement is like this:

if nag_hours != None:
    after nag_hours since UserRoleLabel applied:
        if no subsequent UserRoleLabel applied and this UserRoleLabel not removed:
            post_nag_message()

def post_nag_message():
    if number_of_subsequent_comments() == 0:
        if user_who_applied_label == user_associated_with_label:
              return gnome_post_message(
                  nag_message("same.txt", user_who_applied_label))
        if person_has_not_made_subsequent_comment(user_associated_with_label):
            return gnome_post_message(
                nag_message_label_manager(
                    user_who_applied_label,
                    user_associated_with_label)
        if person_has_not_made_subsequent_comment(user_who_applied_label):
            return gnome_post_message(
                nag_message_label_user(user_who_applied_label))
monkeypants commented 7 years ago

screenshot_bugflow_eg

in the above screenshot, the first line is the tail of some bug report from a tester. Then the tester removed their assignement (not strictly needed if we had this gnome) and put the code_change label on.

Then the developer made a PR referncing this ticket. Now, imagine the PR was merged (not in the pic but pretend it was)... my subsequent comment is example of a nag the gnome should make here, nag_hours after the PR was merged.

(BTW, this is just an example, I deleted my comment in the real world because it was premature)