On-Call Fairness Review Workflow
Measure page distribution and out-of-hours load across the rotation, look for unfair clustering, and adjust the schedule and alerting to balance the burden.
Objective
Keep on-call sustainable by detecting and correcting unfair distribution of pages and sleep disturbance.
Environment
- Paging and schedule data
- A rotation with multiple participants
Steps
1. Measure pages per person, especially out-of-hours
Measure pages per person, especially out-of-hours pages.
Expected state: The distribution is visible.
2. Identify unfair clustering and its causes
Identify unfair clustering and its causes such as service ownership.
Expected state: Root causes are known.
3. Adjust rotation, follow-the-sun, or alerting
Adjust rotation, follow-the-sun, or alerting to balance the load.
Expected state: The burden is redistributed.
4. Review periodically and act when imbalance
Review periodically and act when imbalance recurs.
Expected state: Fairness is maintained.
Decision points
Adjust schedules or fix the alerts?
- Fix alerts first
- Rotate differently
Fix noisy alerts first; a fair rotation of too many pages still burns people out.
Include out-of-hours weight?
- Yes, weight them
- Count all pages equally
Weight out-of-hours pages higher; a 3 AM page costs far more than a daytime one.
Expected outcome
A balanced on-call burden with recurring out-of-hours paging reduced and the schedule adjusted fairly.
Verification
Confirm the paging distribution is within an agreed band and that out-of-hours pages dropped after the changes.
Cleanup
Record the review and any schedule changes for the next rotation period.
Overview
Keep on-call sustainable by detecting and correcting unfair distribution of pages and sleep disturbance. Confirm the paging distribution is within an agreed band and that out-of-hours pages dropped after the changes.
Steps
- Measure pages per person, especially out-of-hours pages. Expected state: The distribution is visible.
- Identify unfair clustering and its causes such as service ownership. Expected state: Root causes are known.
- Adjust rotation, follow-the-sun, or alerting to balance the load. Expected state: The burden is redistributed.
- Review periodically and act when imbalance recurs. Expected state: Fairness is maintained.
# pages per person over the period
awk '{print $2}' pages.log | sort | uniq -c | sort -nr
Verification
- A balanced on-call burden with recurring out-of-hours paging reduced and the schedule adjusted fairly.
Decision points
- Adjust schedules or fix the alerts? Options: Fix alerts first; Rotate differently. Recommended: Fix noisy alerts first; a fair rotation of too many pages still burns people out.
- Include out-of-hours weight? Options: Yes, weight them; Count all pages equally. Recommended: Weight out-of-hours pages higher; a 3 AM page costs far more than a daytime one.