Skip to content

Adopt triage Service-Level Objectives (SLOs) #9820

@jyasskin

Description

@jyasskin

<edit-for-tldr>
Some basic goals:

  • Make sure someone goes over every new issue and PR in a reasonable amount of time and thinks about how important they are.
  • Provide a way to set deadlines for the more important issues.
  • Notice when we miss those deadlines, so we know to allocate more time to triaging/fixing issues.

</edit-for-tldr>

I've set up a system at https://speced.github.io/spec-maintenance/ that attempts to describe whether groups are triaging their new issues quickly, and then keeping on top of the issues they describe as urgent or important. This is designed to make spec maintenance fit into the ways Google management prioritizes code maintenance, but I'm hoping that it'll also 1) fit into the ways other organizations prioritize work, and 2) help external observers see what's going on, and 3) help WGs focus on what they've decided is important.

I'd like to talk to the CSSWG about whether the overall idea sounds like it'll help you, and then what changes you'll need in order to adopt it. After talking to @tabatkins a bit, our rough proposal is to mark every open issue with the Priority: Eventually label (meaning, no SLO for closing the issues), so you start with no SLO violations, and then start triaging from there.

A sketch of the current design:

  • SLOs of 1 week to triage issues (which includes PRs), 2 weeks to resolve urgent issues, and 3 months to resolve important issues, were based on data about how long it takes to discuss and close existing issues on web specifications, summarized at https://github.com/speced/spec-maintenance?tab=readme-ov-file#triage. These could change if you think particular other times would work better.
  • It doesn't count time while the issue was closed, while a PR was a draft, or while the issue was marked "needs reporter feedback" and the reporter hasn't responded yet.
  • It currently includes time before an issue was marked as urgent or important, but Tab pointed out I should change that: Count SLOs from when their label was added speced/spec-maintenance#4
  • SLO compliance is available in JSON files like https://speced.github.io/spec-maintenance/w3c/csswg-drafts.json. Currently the history of SLO compliance (for pretty graphs) isn't anywhere public, but it's straightforward to collect, given a place to store the data.

What do you think?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions