Contributor Success Team
Contributor Success Team
Common Links
Sub-pages
Strategy
This team directly follows the strategy outlined in our open source growth strategy.
Mission
The goal of the team is to increase the technical improvements and efficiency of our contribution process to sustain our
ambition of 1000+ contributors with merged MRs per month to GitLab.
FY23 Direction
Note: FY24 Direction will come up shortly
In FY23 we will be focused on growing the number of unique new monthly contributors, reducing Open Community MR Age (OCMA) and increasing MRARR. This will increase development velocity without
requiring additional engineering resources.
Parallel to this we’ll increase
observability of community contributed value through improving the
business intelligence around it. This will allow us to create some predictability through
foreshadowing. These efforts are cross-functional and require working together
with Engineering and Product Development.
This accounts for 70 - 80% of the workload. The remaining 20 - 30% is ad-hoc work. The ad-hoc work is eclectic and
ranges from supporting customers on contributions, supporting various open source initiatives and supporting the
Engineering Productivity team.
Unique New Monthly Contributors
- Minimize reliance on human interaction
- Reduce volatility through introducing automations that drive contributions
forward automatically
- Capitalize on untapped potential - MRs that have become stale but have received a seal of approval as useful addition to GitLab.
- Invest into attracting more new contributors
- Introduce measurement points in various places in the contribution pipeline
- Collect objective and subjective feedback from contributors about the process
- Create insight into actual community contribution pipeline size
- Standardize contribution MRARR valuation
- Categorize contribution and measure value per type
Community Metrics Foreshadowing
- Predict community metric trends
- Empower teams to react to negative trends before they actualize
- Define ambitious targets for FY24
- Minimize reliance on human factors that contribute to a large standard deviation
- Identify & drive tooling improvements to decrease OCMA, and collaborate with the Engineering Productivity team
through shared tooling for automated triaging
Leading Organizations
The GitLab Leading Organizations program is a
cross-functional initiative that is led by the Contributor Success team
and Developer Relations team.
The Leading Organization program supports GitLab’s mission by recognizing and incentivizing
organizations who are among our most active contributors. A company or individual
qualifies for unique benefits by
reaching 20 merged merge requests or more over a trailing three full calendar month basis.
See our workflows on how to add or remove an organization
to the program.
Team Responsibilities
- Improve GitLab’s Contribution Efficiency and merge request coaching process.
- Contribute as a merge request coach in one or more specialties by providing guidance to community contributors on technical and non-technical aspects.
- Be a point of escalation for community contributors and identify GitLab DRIs to resolve blockers.
- Organize community contributors into community teams and ensure their success.
- Track contribution delivery of the Community Contributors and Cohorts.
- Nominate impactful community contributors and contributions for recognition.
- Select and recognize a GitLab MVP for each release post
- Collaborate closely with our Marketing counterparts and Core team.
- Engineering representative that can ride along with the Developer Advocate.
- Improve community recognition system and awards in collaboration with the Developer Relations team.
- Participate in GitLab’s overall Engineering open source outreach events and processes.
- Triage community issues to be picked up by the community or GitLab team members
- Triage community merge requests from the daily merge request coach report
- Review merge requests assigned as a merge request coach or from the reviewer roulette
Team Members
File an issue
gitlab-org/gitlab
All issues that relate to the Open Source project GitLab and that can serve to enhance the contributor flow and are public by nature should be created here by default. We aim to not have any distinction between contributors or GitLab team-members for which we expect by default that everyone should be able to contribute to.
gitlab-org/developer-relations/contributor-success/team-task
All issues that relate to the inner working of the company GitLab, including specific internal team workings, onboardings-issues or issues relating to customers that should be separated from the Open Source project GitLab can be placed here.
Project Management
- Our team project is our single source of truth for all tasks & backlog.
- Epics that contain cross-functional work across multiple departments can be created at the
gitlab-org
level.
OKRs
Every quarter, the team commits to Objectives and Key Results (OKRs). The below links to our current and
previous quarter OKRs, it updates automatically as the quarter progresses.
Note: Due to the switch to GitLab’s OKR system, we no longer have the ability to view the OKRs from FY23Q4. A hard-copy was made of the state of these OKRs as of 2023-01-30.
Current quarter
Contributor Success FY24 Q2 OKR Overview
Previous quarter (FY24Q1)
Previous quarter (FY23Q4)
- Obj: Scale the Community through a contributor event, mentoring & onboarding of customers, 83%
- KR: 30 MR creation-to-review sessions. 53%
- KR: Onboard 15 Leading Organizations with a contribution workshop, 73%
- KR: Organize GitLab Contribution Days, 88%
- KR: Increase monthly unique to 140, 70%
- Obj: Increase Contribution Value by increasing collaboration and increasing recognition, 89%
- KR: Recognize all GitLab team members weekly, 92%
- KR: Recognize community reviewers monthly, 75%
- KR: Get 12 MRs reviewed by the wider community, 100%
- Obj: Grow & Bootstrap the team through an improved hiring process & talent assessment, 100%
- KR: Execute Talent assessment with all team members. 100%
- KR: All team members to complete the Best-In-Class training, 100%
- KR: Hire 1 Person, 100%
We have the following Performance Indicators
Unique Wider Community Contributors per Month
- Activities:
- Partnership with Developer Relations team.
- Hold community office hours.
- Hold hackathons.
- Allow running of QA tests from forks.
- Shorten the CI runtime for community contributions (in forks).
More details can be found in the Unique Wider Community Contributors per Month Marketing PI section
Leading Organizations MR Time-to-review
- Activities:
- Check in with the Leading Organizations.
- Hold contribution trainings.
- Connect Leading Organization contributors with team members to incentivize a faster review cycle.
More details can be found at the Leading Organizations MR Time-to-review Quality PI section
- Activities:
- Shorten CI time
- Improve Community Contribution automation
- Enable running QA tests on forks
- Increase number of coaches
- Partner with Engineering Productivity to provide feedback to improve contribution tooling (currently GDK).
More details can be found in the OCMA Community-Relations PI section
MRARR
- Activities:
- Reach out to top tier enterprise customers
- Help take-on inactive customer contribution to completion & merge
- Partner with CSMs to enlist and facilitate contribution from customers
- Launch contribution materials targeting large enterprises
- Partner with Developer Relations team (David P)
- Maintain a list of known contributors with a mapping to their accounts and the accounts ARR contribution as input to this KPI
Please see Contributing Orgs tracker for details how to onboard or offboard a GitLab
account from being linked to a customer account, and being counted into the MRARR metric.
More details can be found at the MRARR Community-Relations PI section
- Activities:
- Work with Development Department (Christopher L, VP of Development) for volunteers.
- Work with UX Department (Christie L, VP of UX) Christie for volunteers.
- Refresh MR coaches as “Community coaches” so non-code review work can be encouraged (design, etc)
- Launch training materials for coaches
More details can be found at the Community Coaches per Month Community-Relations PI section
- Activities:
- Encourage features at Developer Relations hackathons.
- Published list of feature issues with Marketing team.
More details can be found at the Community Contribution MRs as Features per Month Community-Relations PI section
How do we collaborate with other teams?
There are several teams across various reporting structures that work on making the GitLab Community great.
Structure
graph TD
A[GitLab]
A --> B[Marketing]
B --> D[Developer Relations]
D --> E[Contributor Success]
D --> G[Evangelist Program]
A --> C[Engineering]
C --> L[Engineering Productivity]
H[Wider Community]
H --> I[Core Team]
H --> J[Heroes]
H --> K[Leading Organizations]
click B "/handbook/marketing"
click C "/handbook/engineering"
click D "/handbook/marketing/developer-relations"
click E "/handbook/marketing/developer-relations/contributor-success"
click G "/handbook/marketing/developer-relations/evangelist-program"
click I "/community/core-team"
click J "/community/heroes"
click K "/handbook/marketing/developer-relations/leading-organizations/"
click L "/handbook/engineering/infrastructure/engineering-productivity"
How we plan work
The team uses the Contributor Growth board.
Everything that we’re working actively is present above the cut-line. Our planning is always focussed on achieving our PIs & OKRs.
5 labels are present
~contributorgrowth::velocity
~contributorgrowth::increase value
~contributorgrowth::expand outreach
~contributorgrowth::scale the community
~contributorgrowth::internal
- Everything that relates to internal processes such as onboarding, internal issues such as tooling or customer & company specific tasks.
Monthly planning meeting
Once a month, in the 3rd week of the month, we use the Contributor Success stand-up to review how we progressed.
We define what goes above the cutline and what should go below the cutline in order to meet our OKRs & PIs for the
quarter. We re-assess the importance and make sure to disseminate our learnings.
Contributor Success Retrospective
Every 2 weeks we hold an asynchronous retrospective in the #contributor-success-confidential
channel using Geekbot.
Questions asked are
- What should we start?
- What should we stop?
- What should we continue?
Contributor Success’ DRI is responsible for summarizing the discussion and creating an issue in the team tracker
gitlab-org/developer-relations/contributor-success/team
so that it can be easily retrieved in the future.
Contributor Success’ DRI is responsible for taking the feedback to the monthly planning meeting.
Contributor Success stand-up
The purpose of this stand-up is to collaborate between teams members of Contributor Success. This is a team-specific
meeting to check in on blockers, progress and ways to think differently & iterate towards our goals.
We are reviewing the Contributor Growth weekly, making sure our active work is aligned towards our OKRs and towards the new insights we get from our PIs.
Contributor Growth stand-up
The purpose of this stand-up is to collaborate cross-functionally between various teams and GitLab team members on
initiatives for how to reach our goal of 1000 contributors per month. This is a subset of the User Engagement top
initiative: https://gitlab.com/groups/gitlab-com-top-initiatives/-/epics/8
Contributor Success reading list
A curated list of external resources for improving open source community relations and the contributor experience:
Contributor Success champions community office hours as a mechanism of engaging the wider community.
We helped arrange a series of 6 sessions in 2023, but would now like to help encourage and empower teams
to organize their own.
The recordings are available in the community office hours playlist
on our GitLab Unfiltered YouTube channel.
The sessions were organized in GitLab, in the Contributor Success issue tracker, issue #247.
Here you can find links to the agendas, recordings, etc.
If you would like someone from Contributor Success to join your office hours call, please mention @gitlab-org/developer-relations/contributor-success
or drop a request in #contributor-success
on Slack.
We recommend adding an event to the GitLab Team Meetings calendar
(internal) and creating:
NOTE: Make sure Zoom links have the password embedded.
Agenda
In the Google doc it is a good idea to link to some relevant content.
Please see below example:
Zoom: Link to Zoom meeting
Meetup: https://www.meetup.com/gitlab-virtual-meetups/
Discord: https://discord.gg/gitlab
- Agenda
- Team introduction
- We could link to the relevant team page in the handbook
- Questions
- We could ask ourselves a few questions we intend to answer, or let the community ask all the questions
- Live pairing and/or issue housekeeping
- We could link to the team's issues labeled with `quick win` for example
It is your meeting and you can adapt the agenda to suit your needs.
Recording/steaming
It is recommended that you livestream
to GitLab Unfiltered and/or record the Zoom call to later upload to GitLab Unfiltered.
Be sure to add the video to the community office hours
playlist on YouTube.
Direct email messaging
Below are email templates that can be used for communicating with community members. Whenever possible, it is strongly encouraged that each email message be customized for each individual & circumstance.
Outreach after the first merged MR
Directly via email
Hello NAME,
I'm reaching out to both thank and congratulate you on your first Merge Request (MR) to help improve GitLab. We appreciate everyone's effort to contribute to GitLab, especially when it's an individual initiative and we are blessed to have such a wonderful community.
I wanted to offer you a small token of our appreciation as you're getting started with your code contributions to GitLab. Please go to [URL] to submit your order for the latest GitLab mug with a special hashtag to celebrate your first merged MR. When you receive the merchandise, it would be great if you can make a post on twitter with your photo of the mug plus '@gitlab' & '#myfirstMRmerged' in the tweet.
Thanks again for your first MR to GitLab and welcome to the GitLab community!
Sincerely,
YOUR_NAME
Hi there, and congratulations on having your first MR merged!
I want to offer you a small token of our appreciation as you're getting started with your code contributions to GitLab. Please fill [out this form](https://docs.google.com/forms/d/e/1FAIpQLSfGo-3kEimVPpC5zKKxXHkFjgYx8-vQAanzAX2LxGgXQqXikQ/viewform), and I will be reaching out with more information on how to receive your special #my1stMRmerged coffee mug.
Outreach to inactive contributors
Hello NAME,
I'm reaching out to you as we have not seen a merged MR from you since DATE. The GitLab community would not be the same if it weren't for contributors like you. If you haven't done so lately, you can look for issues that are "Seeking community contributions" as we would welcome your help on these.
Please let me know if you have any questions and I look forward to your continued involvement in the GitLab community.
Sincerely,
YOUR_NAME
Information and guidelines about community pairing sessions
Code Contributor User Journey
Process for Contributor Success to select GitLab MVPs
Let’s Award Contributors Together
We want to recognize amazing contributions from the wider community with GitLab swags.
All GitLab team members and members of the wider community are encouraged to nominate others or themselves (for campaigns such as #myfirstMRmerge).
Include Everyone
If you think that someone deserves a swag prize, nominate them!
If you reached an important campaign milestone (e.g. #myfirstMRmerged) with your contribution, you can also nominate yourself!
Learn how to add and maintain usernames to organizations for recognition and award purposes within GitLab
Information and guidelines about the Innovation Pitch Competition
Applying to become a Merge Request Coach
- Create a new issue using the
mr_coach_onboarding
template (see screenshot below).
- Fill in the placeholders in the issue template with your information.
- Assign the issue to yourself.
- Work through the steps in that new issue.
Stepping down gracefully
If you are no longer able to serve as a Merge Request Coach, you should identify another GitLab team member to take your place so that the capacity of the remaining coaches remains the same. When you are ready to step down, you need to:
Learn about the dashboards that are used in community-related dashboards!
All processes that Contributor Success work with
Last modified October 29, 2024:
Fix broken links (455376ee
)