The order in which tracker issues are prioritised for integration review needs to align with the current work priorities of the teams, the sprint objectives, and the overall objectives for the product; as determined by the products team. There also needs to be a continuing balance between issues, submitted by the Community, Moodle Partners and the internal Moodle HQ teams.
All of these inputs can't be solved solely by a sorting heuristic that governs the integration backlog as it is currently. Things change, and priorities shift.
Allowing the product team to be able to stack rank integration issues, will allow for control and balancing of all the mentioned inputs to occur.
It will also mitigate the places in the current system where "gaming" can occur; either deliberately by those who know the algorithm or accidentally by virtue of the tickets state.
Related to this stack ranking and the associated review process that goes with it will alleviate the situation where an issue "spears" in very close to the top of the integration backlog, is thus then picked up by the integration team quickly (through no fault of the int team) only for everyone to find that the issue itself is not suitable or has an approach that needs more work. Things that could have been communicated and solved without needing to add to the int team's workload.
The actual integration process that happens to a ticket after is is picked up from the top of the backlog and enters the integration processes, as well as what happens after integration review (integrated, re-opened, etc.) is something that we don't want to change as part of this. Also, the process that leads up to a tracker being marked as ready for integration review, is also not part of the change.
There may be changes required with some of the automation's and related processes around this, a (likely non exhaustive) list is below. Part of the work to make the change to stacked ranking will be analyzing and documenting the current process is this regard.
Some things that need to be considered:
As discussed in meetings, we're looking to add a new "Queued for integration" status which is equivalentn to "Currently in Integration" => true and a status of "Waiting for integration review".
This will have an impact on:
- a new workflow required
- CI integrations
- TOBIC jobs should check both statuses
- The queued issue job
- Google sheets integrations