How to break down on-call schedule management into iterations
Overview
On-call schedule management contains a lot of new functionality that involves new objects and relationships in GitLab. It is a complex feature set. We want to make sure that we are building product for it iteratively, so that we can release useful software to customers every month and learn as quickly as possible
Scope & things to consider
On-call schedule management consists of:
- Schedules
- Rotations
- Scheduled Overrides
- Escalation Policies
- Mapping projects to escalation policies
- Paging
- Email (MVC)
- Call & text (via Twilio)
- Twilio Integration
MVC
Schedule
Users can create and name multiple schedules
- Create schedule
- Name schedule
- Edit schedule name
- Delete schedule
- Display schedule - static 2 week in the future view
Empty state | Add a schedule modal | Timezone dropdown | Populated modal | Schedule added with tip alert | Edit hover | Edit modal | Delete hover | Delete modal |
---|---|---|---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Rotations
Users can create multiple rotations in a single schedule.
- Create rotation
- Add rotation
- Add participants
- Set time frame
Add a rotation modal | Users dropdown | Tokens in field | Rotation length dropdown | Date picker | Time selection | Rotation added | Popover | Tooltip example | Edit rotation | Delete rotation |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Route Alerts
- All alerts get routed to the single schedule
Paging
- On-call user is notified via email
Iteration 2
Schedule
- Enable creation of multiple schedules
Escalation policies
- Create steps and set time intervals
- Select Schedule to notify
- Select individual to notify
Route Alerts
- Route alerts to escalation policies
- Seed all projects that has set up a schedule with an escalation policy called Escalation Policy 1, with a single step using the existing schedule
Iteration 3
Schedule
- Display scheduled override layer on schedule
- Display final schedule layer on schedule
Scheduled overrides
- Create scheduled override - Select user and time frame
- Edit scheduled override
- Delete scheduled override
Rotations
- Change timezone
- Add restrict to time interval option
- Ability to rearrange order of participants
Iteration 4
Schedules
- Adjust view - weekly, monthly
Personal paging policies
- Configuration page to select preferred method of paging
Paging
- Configuration page for Twilio integration - enter phone number
- Configure which paging policy to use at which time (e.g. text during the day, call during the night)
Iteration 5
Personal paging policies
- Enable escalation steps in a personal paging policy (e.g. first call me, then 5 minutes later text me)
Scheduled overrides
- Right click on shift to schedule and take override
Edited by Sarah Waldner