Skip to content
Snippets Groups Projects

Add GitLab.com strategy

Merged Sam Wiskow requested to merge dotcom-strategy into master
All threads resolved!
Compare and Show latest version
2060 files
+ 17860
12820
Compare changes
  • Side-by-side
  • Inline
Files
2060
**Background**:
## Background
Handbook Entry https://about.gitlab.com/handbook/engineering/development/processes/Infra-Dev-Escalation/
General Handbook Entry https://about.gitlab.com/handbook/engineering/development/processes/Infra-Dev-Escalation/
 
Process https://handbook.gitlab.com/handbook/engineering/development/processes/infra-dev-escalation/process/
See epic https://gitlab.com/groups/gitlab-com/-/epics/122
See epic https://gitlab.com/groups/gitlab-com/-/epics/122
**Instructions**:
## Action items and due dates
* Directors and Managers: Sign up as coordinator for the month, please **assign** this issue to yourself, and update the sign up sheet (link below) **Coordinator** column.
* If you are signing up well in advanced of your coordination duties, consider setting a calendar reminder to go over assignments before the end of the previous month. You may also set a due date on this issue to get GitLab reminders.
### Sign up - ~1st-15th of the previous month
* Engineers: sign up slots in the [scheduling spreadsheet](https://docs.google.com/spreadsheets/d/10uI2GzqSvITdxC5djBo3RN34p8zFfxNASVnFlSh8faU/edit#gid=382724865).
* To assist assignment exercise, here are [eligible engineers and their timezones](https://docs.google.com/spreadsheets/d/1rCamrCMZPreBpYwbzFG9zpghtiH3KPiFYu46RbqWjXU/edit#gid=508978589). This spreadsheet is popluated automatically by the [Employment Automation](https://gitlab.com/gitlab-com/people-group/peopleops-eng/employment-automation/-/blob/main/lib/syncing/on_call_scheduling_spreadsheet.rb).
* [ ] Coordinator to update the [sign up sheet's](https://docs.google.com/spreadsheets/d/10uI2GzqSvITdxC5djBo3RN34p8zFfxNASVnFlSh8faU/edit?gid=1680755833#gid=1680755833) **Coordinator** column.
* There is additional information regarding weekend shifts, which can be found in this shared document "[Additional Notes for Weekend Shifts](https://docs.google.com/document/d/1iMmlYQf6vdmen0e3iuEksgiTxKJvjnidcalwaa47jwE/edit#heading=h.z5unm4odw6zw)".
* A nice handy tool for coordinators to find available engineers quickly without going through multiple spreadsheets above.
### Reminders - ~15th of the previous month
* Instructions: https://gitlab.com/gitlab-com/dev-on-call
* Video: https://www.youtube.com/watch?v=D0bR0WnvdgM
* [ ] Coordinator calling for sign-up and doing assignments:
* The manual process for coordinators is documented in this process page [how-to](https://about.gitlab.com/handbook/engineering/development/processes/Infra-Dev-Escalation/process.html#how-to)
* Note the recommendation to check the team members' calendar to ensure they are available. This will help ensure team members are not scheduled when on leave, and reduce the need for rescheduling.
* Coordinator: publish on-call schedule to the [shared calendar](https://calendar.google.com/calendar/u/0/embed?src=gitlab.com_vj98gounb5e3jqmkmuvdu5p7k8@group.calendar.google.com).
1. Keep the tab of the month active (displayed).
1. Use the menu `Sync to Calendar` on the menu bar. It takes 3\~5 minutes.
1. Verify the calendar `On-call schedule shifts` is populated. This is currently a manual process to verify all slots are filled. If there are open slots on the `On-call schedule shifts` calendar you can either manually add them to the calendar or debug the on-call spreadsheet. Typically when calendar slots remain open there is a data integrity issue within columns E or F for the given time slot. **It is safe to run `Sync To Calendar` multiple times, it is idempotent**.
1. If you run into failures of calendar sync, double check if the calendar ID is in cell 197C and the calendar link is in cell 198C. If you receive the message `TypeError: Cannot read property 'getName' of nullDetails`, you may need permission to manage the Google Calendar. Ping Chun Du on slack.
2. If you are still having any other calendar sync errors, please add the Google [Calendar](gitlab.com_vj98gounb5e3jqmkmuvdu5p7k8@group.calendar.google.com) for On-call schedule shifts to your calendar and retry to `Sync to Calendar`.
* Coordinator: close this issue when the month wraps up.
**Action items and due dates**:
* [ ] Coordinator calling for sign-up and doing assignments: start around 15th of the previous month
* [ ] Posting reminders to the #development and #backend channels in Slack
* [ ] Posting reminders to the #development and #backend channels in Slack
* [ ] Ask managers in #eng-managers to remind team-members in 1-1s
* [ ] Ask managers in #eng-managers to remind team-members in 1-1s
 
 
### Manual assignment - ~25th of the previous month
 
 
* Find available engineers quickly without going through multiple spreadsheets using the [Dev-on-call](https://gitlab.com/gitlab-com/dev-on-call) tool. See also the video on how it works (use [GitLab unfiltered](https://handbook.gitlab.com/handbook/marketing/marketing-operations/youtube/#unable-to-view-a-video-on-youtube)): https://www.youtube.com/watch?v=D0bR0WnvdgM
 
* Alternatively, the manual process for coordinators is documented in this process page [how-to](https://handbook.gitlab.com/handbook/engineering/development/processes/infra-dev-escalation/process/#how-to)
 
 
_Note the recommendation to check the team members' calendar to ensure they are available. This will help ensure team members are not scheduled when on leave, and reduce the need for rescheduling._
 
* [ ] Coordinator nomination: all **assigned** engineers are notified by mentioning them by name in this issue **explicitly**
* [ ] Coordinator nomination: all **assigned** engineers are notified by mentioning them by name in this issue **explicitly**
* [ ] Engineers who are on leave should inform Coordinator and the Coordinator should find an appropriate engineer.
* [ ] Engineers who are on leave should inform Coordinator and the Coordinator should find an appropriate engineer.
* [ ] Engineers are encouraged to help the Coordinator by seeking replacements for time-slots that don't work for them. Swap for like days/shifts later in the schedule by reaching out to your peers directly. Engineers who are unsuccessful in finding a replacement please work with Coordinator to find a solution.
* [ ] Engineers are encouraged to help the Coordinator by seeking replacements for time-slots that don't work for them. Swap for like days/shifts later in the schedule by reaching out to your peers directly. Engineers who are unsuccessful in finding a replacement please work with Coordinator to find a solution.
* Example wording for assignment notification and encouraging individuals to seek swapping shifts can be found [here](https://gitlab.com/gitlab-com/www-gitlab-com/-/issues/8330#note_416317851)
* [ ] All slots are signed up: due by 2 days before the 1st of the month
### Calendar sync - ~2 days before the 1st of the month
* [ ] Coordinator publishes on-call schedule to the shared calendar when all slots are confirmed. (see instructions above)
 
* [ ] All slots are signed up
 
* [ ] [DRI](https://handbook.gitlab.com/handbook/engineering/development/processes/infra-dev-escalation/process/#development-on-call-dri) (@jameslopez) publishes on-call schedule to the [shared calendar](https://calendar.google.com/calendar/u/0/embed?src=gitlab.com_vj98gounb5e3jqmkmuvdu5p7k8@group.calendar.google.com) when all slots are confirmed. (see instructions above)
**Additional Information**
### After the scheduled month
* For more detail of other information, please refer to [process documentation](https://about.gitlab.com/handbook/engineering/development/processes/Infra-Dev-Escalation/process.html).
* Coordinator can close this issue
 
 
### Examples
**Example Slack Messages**
**Example Slack Messages**
Example text for on-call message, to posted in `#development` and `#backend`:
Example text for on-call message, to be posted in `#development` and `#backend`:
> :speaker: Hi everyone! I am putting together the MONTH dev on-call schedule. Thank you if you have already signed up! If you haven't, please consider adding your names now in order to select your preferred time slots.
<details>
In the upcoming week I will start assigning the remaining slots based on previous participation :thank_you:
<summary>Click to expand</summary>
 
```
 
:speaker: Hi everyone! I am putting together the MONTH dev on-call schedule. Thank you if you have already signed up! If you haven't, please consider adding your names now in order to select your preferred time slots.
 
In the upcoming week I will start assigning the remaining slots based on previous participation :thank_you:
 
```
- Add link to the on-call spreadsheet
- Add link to the on-call spreadsheet
Example text to be posted in `#eng-managers`
Example text to be posted in `#eng-managers`
```
> Engineering Managers I am putting together the MONTH dev on-call schedule. Please mention it to your team members in upcoming 1:1s.
Engineering Managers I am putting together the MONTH dev on-call schedule. Please mention it to your team members in upcoming 1:1s.
```
- Add link to the on-call spreadsheet
- Add link to the on-call spreadsheet
- Add link to message posted in #development
- Add link to message posted in #development
 
</details>
 
 
**Example Assignment confirmation**
 
<details>
 
<summary>Click to expand</summary>
 
 
```
 
Hey Engineering Crew ✨ 😊 ✨
 
 
I am your humble coordinator for our [CHANGE to month/year] Infra/Dev Escalation On-Call schedule.
 
You are being copied here because I have assigned you a rotation slot for [CHANGE to month/year]
 
 
#### Instructions
 
 
Review the [CHANGE to month/year] (aka [CHANGE to yyyy-mm]) tab on the Infra/Dev Escalation On-Call Schedule for your assignment [here](https://docs.google.com/spreadsheets/d/10uI2GzqSvITdxC5djBo3RN34p8zFfxNASVnFlSh8faU/edit?gid=1729753107#gid=1729753107)
 
 
If you cannot fill the slot for which you are assigned, please do your best to find someone with the same time and day of the week obligation on a different day of the month to swap using the #development Slack channel (e.g. swap Saturday, September 14 from 0400-0759 for Saturday, September 28 0400-0759)
 
Our first and best option is to swap people within the same month. If you cannot find someone to swap days with, please comment on the slot in the spreadsheet and we will do our best to find another person to swap.
 
 
#### Handbook Reference
 
There are many first time on-call participants here. If you have any questions about why we do on-call support please read the handbook entry [here](https://handbook.gitlab.com/handbook/engineering/development/processes/infra-dev-escalation/) and the [eligibility and guidelines section](https://handbook.gitlab.com/handbook/engineering/development/processes/infra-dev-escalation/process/#guidelines).
 
 
**Why was I selected for on call ? .. A variety of criteria were used to find folks who were available.**
 
 
* Time zone availability
 
* Number of on-call shifts taken in the past (see https://gitlab.com/gitlab-com/dev-on-call)
 
* Number of on-call shifts taken this quarter
 
 
#### Crew Members Selected
 
 
[CHANGE to list of direct pings to engineers]
 
```
 
 
</details>
/label ~"Engineering Management"
/label ~"Engineering Management"
/epic https://gitlab.com/groups/gitlab-com/-/epics/122
/epic https://gitlab.com/groups/gitlab-com/-/epics/122
Loading