Thanks for contributing to the discussion Mick.

I like the idea of having handy lists for "Triage", "Open", "Patch
Available", "Reviewed Once" to give more visibility and transparency to the
ticket triaging/review process, but can't we make list maintenance via JIRA
Automation [1] instead of requiring manual maintenance?

For example:
* "In Progress" (is it still? or should be returned to Open, or closed out)
  * Ticket has been in progress for more than 6 months? Add tag
"stale-in-progress" and a message saying that the ticket will be set to
open in 1 month if tag is not removed.
  * Ticket has tag "stale-in-progress" for more than 1 month? Set state to
Open.
* "In Review" (should they be returned to 'in progress', or has the
reviewer gone MIA and it needs to go back to 'Patch Available')
  * Ticket has been in review for more than 3 months ? Add tag
"stale-in-review" and message saying that the ticket will be set to "patch
available" in 1 month if tag is not removed.
  * Ticket has tag "stale-in-review" for more than 1 month? Set state to
Patch Available.

In the same spirit, we could have a similar workflow for getting rid of
abandoned tasks from the backlog:

* Ticket without update for more than 4 years (debatable duration)? Add tag
"to-be-abandoned" and message:
  * "Hey buddy, do you think this task is still important? If so, please
remove the tag 'to-be-abadoned', otherwise I will close this ticket in 6
months".
  * Ticket has "to-be-abandoned" tag for more than 6 months? Close with
"Abandoned" state

A task that hasn't been updated on for 4-5 years will likely never be
worked again, so why should they remain open polluting the backlog? We will
give people a grace period of 6 months to "touch" the issue if they want to
renew the TTL for 4 more years, which should be sufficient to "save"
relevant tickets from the guillotine. And even after they're abandoned they
can always be "reopened" if necessary.

Does this auto-closing strategy make you less uncomfortable? If not, do you
mind elaborating why? I'd also love to hear others opinions on this.

+1 to the Github workflow suggestions.

[1] - https://www.atlassian.com/software/jira/features/automation

Em seg., 22 de mar. de 2021 às 12:33, Mick Semb Wever <m...@apache.org>
escreveu:

> Throwing my thoughts out there on this.
>
>
>
> > A much harder
> > objective is to ensure that all "Patch Available" tickets are reviewed
> in a
> > timely manner. However the current backlog of abandoned PA tickets is
> also
> > large and we need to clean it to "start fresh" so the auto-close proposal
> > would also help here.
> >
>
>
> We have this list:
> https://cwiki.apache.org/confluence/display/CASSANDRA/Patch+Available
>
> Post 4.0 it would help with a way to incentivise reviews (by anyone) and a
> committer's involvement.
>
> The list is helpful for jumping in and helping out, but some things missing
> that would greatly help the flow of things is…
>
> - when has the existing reviewer(s) gone MIA and the ticket stale,
> - when has one non-committer reviewed it and it is only waiting on a
> committer to jump in,
> - when it is in action, or intentionally parked, and not needing anyone new
> involved,
> - when has communication gone stale, or the ticket been left in the wrong
> state.
>
> That is, to have lists like this for
> - "Triage" (Needs to be triaged)
> - "Open" (Needs to be implemented)
> - "Patch Available" (Needs to be reviewed)
> - "Reviewed Once" (Needs a second reviewer)
>
> will help a lot, making it easier for folk to jump in when they have a few
> free hours…
>
> But for each list we also need some project documentation on "list
> maintenance". The process for maintaining these lists should be as simple
> and standard and repeatable as possible, by anyone (including
> non-committers). List maintenance is not about triaging, implementing, or
> reviewing, but solely about tackling ticket hygiene. Having it documented
> so it's not tribal knowledge and anyone can step in and do it with
> confidence would open up the process for more people. Do we have any takers
> for creating a skeleton of such documentation?
>
> I imagine that list maintenance would also include the following lists:
>  - "In Progress" (is it still? or should be returned to Open, or closed
> out)
>  - "In Review" (should they be returned to 'in progress', or has the
> reviewer gone MIA and it needs to go back to 'Patch Available')
>
>
> I agree that auto-closing tickets by itself will not fix the larger issue
> > mentioned before, but it's just an initial step to "clean the past" so we
> > have an actionable backlog after the 4.0 ticket freeze is over.
>
>
>
> I'm not comfortable with automatically closing tickets, or the idea we can
> just "start with a clean slate".
> But I think we may find automatic reminders/comments on tickets helps make
> list maintenance quick and simple.
>
> While GitHub issues are currently completely disabled from our
> repositories, GitHub PRs on the Cassandra repository should be closed if
> they don't reference a jira ticket, or if they reference a closed ticket.
>
> The use of PRs on builds, dtests, and the website, without a corresponding
> jira ticket is worth a discussion. I'm in favour of small changes on these
> repositories being tackled with just PRs.
>

Reply via email to