← Workflows

阅读中文版本

Regression Triage and Priority Workflow

Grade production regressions by user impact and blast radius, route each to hotfix, fast-follow, or backlog, and verify the routing holds.

beginner~20 minincidentprocessquality

Objective

Convert a stream of post-release regression reports into correctly prioritized fixes, preventing both panic-hotfixing trivia and slow-walking severity.

Environment

  • A bug tracker with severity and impact fields
  • Monitoring that can quantify affected user percentage
  • A defined routing policy (hotfix, fast-follow, backlog)

Steps

1. Quantify impact per report

For each regression, measure affected users or requests from monitoring rather than accepting the reporter's severity guess.

Expected state: Each report carries a measured impact number (percent of traffic, users, or revenue).

2. Compute blast radius

Identify which paths and data the regression touches to separate contained bugs from ones corrupting data or blocking core flows.

Expected state: Blast radius is classified as contained, core-flow-blocking, or data-affecting.

3. Route by policy matrix

Apply the routing matrix: data-affecting or core-blocking with real impact goes hotfix; measurable degradation goes fast-follow; cosmetic or edge-case goes backlog with rationale.

Expected state: Every regression lands in one lane with the matrix cell that put it there recorded.

4. Pressure-test the borderline cases

For items near lane boundaries, ask what the cost of being wrong is in each direction, and choose the lane whose error is cheaper.

Expected state: Borderline decisions document the trade-off rather than defaulting to the louder reporter.

5. Review routing weekly

Audit the lane distribution and fix quality weekly: hotfixes that were trivial or fast-follows that escalated indicate matrix drift.

Expected state: The matrix is adjusted based on evidence of misrouting, not anecdotes.

Expected outcome

A regression stream routed by measured impact and blast radius, with hotfix capacity reserved for genuine emergencies and the matrix improving from audit.

Verification

Lane distribution over a month shows hotfixes exclusively data-affecting or core-blocking with impact; no fast-follow sat unresolved while meeting hotfix criteria.

Cleanup

Feed recurring regression classes back into release verification checklists.

Severity by measurement, not by volume of complaint

Regression priority assigned by who complains loudest produces hotfixes for cosmetic bugs and slow-walked data corruption. Measuring impact, classifying blast radius, and routing through a published matrix makes priority a function of evidence.

routing matrix:
                 impact: measur.     impact: edge     impact: none
blast: data       HOTFIX               HOTFIX          fast-follow
blast: core-flow  HOTFIX               fast-follow     backlog
blast: contained  fast-follow          backlog         backlog

week audit:
  hotfixes: 3  (all data/core + impact)   OK
  fast-follow escalated: 1 -> matrix edge case noted
  backlog churn: 12 closed as wontfix     -> release checklist update

Wrong-lane costs are asymmetric

A cosmetic bug hotfixed wastes an emergency path and normalizes panic deploys. A data-corrupting bug sent to backlog destroys trust irrecoverably. The matrix encodes which error is cheaper per cell, which is the actual judgment triage makes.

The weekly audit is the steering

Routing policies drift as products change. Auditing where items landed and how they turned out — trivial hotfixes, escalated fast-follows — is the feedback loop that keeps the matrix honest without relitigating it during every incident.