This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Integrating many schedules

Guidance for large organizations with many schedules to integrate with On-Call Optimizer

    Coordinating integration of schedules across many teams in an organization requires a structured program of work. Our recommended approach is as follows:

    Preparation

    • Initiate vendor onboarding and security reviews for On-Call Optimizer with your procurement and security teams.
    • Determine how your users will authenticate to On-Call Optimizer and which calendar provider they will be using.
      • Are there any approval or allow-listing steps required to authenticate with these systems from a new application?
      • Supported authentication providers are described in the authentication reference.
      • The list of supported calendar providers can also be found in the calendar documentation.
    • Send an initial introduction to On-Call Optimizer to the organization.
    Example introduction email
    Hi team,
    
    Next week we're beginning the introduction of On-Call Optimizer to improve the
    flexibility of our on-call schedules and make it easy and hassle free to
    organize swaps when your plans change.
    
    On-Call Optimizer works by collecting availability information from your calendar,
    such as Out of Office events or any other event where you've added a tag like
    'no-oncall' or 'prefer-oncall' to the title or description.
    
    On-Call Optimizer uses this availability information from each member of the team
    to flexibly assign on-call shifts on a rolling basis - ensuring that on-call
    commitments fit around your life, rather than life being disrupted by on-call.
    
    The rollout will take place in a staged fashion over the next few months, and you'll
    receive further detailed instructions and an onboarding guide when it's time to upgrade
    your schedule.
    
    For more information on On-Call Optimizer visit https://oncall-optimizer.com/
    

    Phase 1: Create a schedule catalog

    • Build a catalog of schedules in-scope for integration with On-Call Optimizer.
    • From your existing on-call product, collect a list of all schedules in-use and their important properties:
      • Shift and escalation pattern (e.g. daily, weekly, business-hours only, shifts etc)
      • Roles required (e.g. single assignee, or primary/secondary assignees)
      • Number of people participating in the schedule
        • Do they belong to a single team?
        • Are the in a single time zone, or distributed across geographies?
        • Do all members have the same assignment criteria and availability?
      • Does the schedule depend on any other schedules, or the availability of other teams?

    Phase 2: Pilot

    From the schedule catalog, select one or two schedules that meet the following criteria:

    • Staffed by members of a single team, in a single time-zone.
    • Have between 3 - 8 members.
      • The precise size is not important, but needs to be small enough easily coordinate while large enough to benefit from the flexibility On-Call Optimizer provdies.
    • Use a shift pattern matching the first few simpler example configurations.
    • Do not have complex dependencies or rely on the schedules of other teams.

    For each pilot schedule, work through the Integrate an existing schedule guide.

    Phase 3: Simple schedules

    • Identify the remaining schedules in your catalog that meet the pilot criteria.
    • For each schedule, work through the Integrate an existing schedule guide.
    • Consider grouping schedules into batches using common targets for the date of the first On-Call Optimizer assigned shift to clarify communication and understanding of when changes in operation will occur.

    Phase 4: Complex schedules

    Schedules with more complex shift patterns, or requiring use of advanced features such as assignment groups are smoother to integrate once organizational experience and familiarity with On-Call Optimizer has grown.

    • Refer to the example configuration library for examples of how to configure nested schedules and manage teams with members in many time zones.
    • Create throw-away schedules and generate custom assignments to test and observe how different combinations of shift patterns, assignment groups and schedule nesting can be used to model a wide range of different schedule requirements.

    Phase 5: Cross-team schedules

    Finally, schedules where cross-schedule availability is required are best integrated last, once the schedules on which they depend have integrated and reached steady-state operation.

    Tips for cross-schedule availability use:

    • Minimize the number of schedules providing availability information into any particular schedule.
    • In all cases, ensure that availability for any individual member is not being sourced from schedules with different actions.
      • For example: do not configure a cross-schedule availability block based on schedule A, and a cross-schedule preference based on schedule B if the same members are being assigned in both schedules since this risks conflicting availability information for a member being provided if they are assigned to shifts in both A and B at the same time.