Automate Your Oncall Scheduling

Kristian Andaker
August 2023
Schedule oncall for recurring conflicts like Sabbath
Happy AI-generated oncall engineers feeling good about how they are scheduled for oncall duty

In the world of IT operations and engineering, the oncall schedule is often a source of frustration and manual labor. Engineers and DevOps teams struggle with the challenges of coordinating oncall rotations, managing preferences for who works when, and ensuring fairness in scheduling. Most teams use the basic round-robin scheduling offered by PagerDuty, Opsgenie, and other alerting systems. To mitigate some of the issues caused by the round-robin approach, some teams upgrade to using a spreadsheet or shared calendar where a person spends time manually doing the frustrating work of trying to make people happier with how they are scheduled, and then inserting that schedule into the alerting systems. Fortunately, PagerDuty, Opsgenie, Grafana Labs Oncall, and other alerting systems, recognize the need for more scheduling capabilities for teams that have evolved past the simplest scheduling needs. They expose REST APIs for manipulating the schedules, enabling next level scheduling solutions. One next level solution that eliminates these pain points and makes on-call scheduling a breeze is the Oncall Scheduler.

The Pain Points of Traditional On-Call Scheduling

Most oncall teams suffer from all the common challenges associated with traditional on-call scheduling methods.

  • Scrambled Schedules: Most oncall teams enter their team members into the list offered by PagerDuty or Opsgenie, and then let the shift assignments happen by round-robin allocation. When someone leaves the team, or goes on temporary work leave (e.g. paternity, military, health) the round-robin approach simply removes them from the list, and everybody else’s shift assignments move up a notch closer in time. Everyone else's shifts are reshuffled, causing chaos and inconvenience. Vacations and events which were planned based on the previous schedule suddenly don’t fit, and many people end up having to work on fixing their new oncall scheduling.
  • Surprise oncall work: Few oncall scheduling systems integrate with oncall team member calendars by putting meeting invitations at the times when they are oncall (and cancelling/moving the invitations as the schedule changes). This leads to oncall engineers often being surprised that they have oncall shifts coming up close in time, and having to scramble last minute to rearrange their personal life to fit with the oncall responsibility.
  • Forgotten Scheduling: For the teams which have taken the step to switch from round-robin scheduling, to a manual process using a spreadsheet or a shared calendar, this manual work isn’t anyone’s top job priority. The scheduling work is often forgotten and postponed due to higher priorities. Teams may suddenly realize they have only a few weeks of on-call coverage settled, resulting in a rush to lay out the next few months of the schedule. This makes the scheduling more difficult (because team members haven’t been able to plan their life events with a clear schedule available), and makes it frustrating to all involved (because making the schedule work, might require asking team members to change personal plans).
  • Endless Manual Iterations: Teams often spend countless hours iterating over the schedule, accommodating various preferences and limitations. This manual effort can be a drain on resources and lead to scheduling inefficiencies. Not to mention: it's boring, annoying work.
  • Fairness Concerns: Fairness in scheduling is a common concern. Engineers may feel unfairly burdened with undesirable shifts, leading to frustration and morale issues. If someone worked Christmas or New Year’s Eve last year, do they feel comfortable that they won’t be asked to work similarly undesirable shifts the next time they come around?
  • No recognition for Extra Efforts: When volunteers step in to cover shifts that others don't want to work, there's often a lack of recognition and confidence that they’ll get preferential treatment in future oncall scheduling, as compensation for their efforts.

A 3rd level of scheduling maturity: The Oncall Scheduler

The Oncall Scheduler tackles these challenges head-on, offering a user-friendly and automated solution to on-call scheduling woes. Here are some key features and benefits of this tool:

  1. Automated Scheduling: The system continuously allocates shifts into the future, typically for a six-month horizon. As people are assigned to shifts, it sends out calendar invites to ensure people are aware of the assignments. It assigns shifts based on credit standings, ensuring that everyone gets a fair share of oncall responsibilities.
  2. Fairness through a credit-based system: At the core of the Oncall Scheduler is a credit-based system that resembles a mini-market economy for shift exchanges. When you take on a shift, you earn credits. Conversely, you spend credits when others take shifts. This credit system and the algorithms built on it, introduces fairness and transparency into scheduling, while also automating the scheduling and making it run smoothly without manual work.
  3. Self-service control through shift self-selection and bidding: Engineers can proactively select shifts they want to work, aligning with their preferences. Engineers can bid credits to avoid working on specific dates, such as holidays or personal events. This empowers them to have a say in their schedules and ensure that they don't end up working during important occasions.
  4. Predictable replacement for Departures: When someone leaves the oncall rotation, the system initiates an auction to fill their shifts. This auction approach ensures that those who step in to cover these urgent shifts are rewarded with extra credits, creating a sense of fairness and motivation.

The schedules the system creates sync automatically into everybody’s Google or Microsoft calendars, as well as into PagerDuty, Opsgenie, and Grafana Oncall. You can sync schedules to other alerting systems using the REST API.

Getting Started with Oncall Scheduler

Getting started with the Oncall Scheduler is a breeze. It takes just five minutes to set up a rotation and define the shift structure. It's free to use for the first six months, providing an ample trial period, and after that it’s an inexpensive subscription.

The Oncall Scheduler offers a solution that promises to make oncall work predictable, efficient, and fair. By automating scheduling, introducing fairness, and giving engineers self-service control, it takes the headache out of this essential aspect of IT operations.

If you're tired of the complexities and manual effort associated with oncall scheduling, it's time to explore the Oncall Scheduler. Give it a try, and say goodbye to oncall scheduling headaches once and for all!