Our release managers are responsible for driving the monthly release of GitLab.
Because of the volume of work required to get a release out the door, there are two primary release managers and two trainee release managers each release. We split them by timezone to ensure good coverage:
Release managers are individual contributors picked from the Engineering department, with these exceptions:
The release coordinator picks release managers and trainees every three months for the next three months. They will pick randomly, but may redo the random pick if, for instance, someone is picked several times in quick succession.
Release managers and trainees should be available for the entire month. Every team is expected to contribute, however:
Because we provide four release managers and trainees each month, each team should expect to provide a release manager once every
4 / (release manager candidates) months.
Because we have a feature freeze on the 7th of each month, the month the release manager is working does not match the 'development month' with the same release number.
So if a developer is a release manager for the 16.3 release, most of the time commitment will be during the 16.4 development month. For more information, see the Product Development Timeline. Being a release manager has a significant impact on the amount of other work a developer is able to get done. A rough guide to the time needed for someone working on the 16.3 release is:
|Development month||Trainee commitment||Release manager commitment|
|16.3||50% (start work on 22nd)||25% (start work on 1st)|
As being a trainee in one release can overlap with being a release manager for the next release, it's safest to assume the higher commitment when there is any conflict.