Contributor Success Team

Contributor Success Team
GitLab Team Handle @gitlab-org/developer-relations/contributor-success
Slack Channel #contributor-success & #contributor-success-confidential
Slack Channels from initiatives that we help drive #leading_organizations
Team Boards gitlab-org/-/boards/4296693
Issue Tracker gitlab-org/developer-relations/contributor-success/team-task

Sub-pages

Workflows Contributor Success Contributor Workflows
Metrics Contributor metrics & dashboards
Contributing Organization Tracking Contributing Organization Tracking
A Contributor’s User Journey User Journey
Community pairing sessions Community pairing sessions
Innovation Pitch Competition Innovation Pitch Competition

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

  1. Minimize reliance on human interaction
  2. Reduce volatility through introducing automations that drive contributions forward automatically
  3. Capitalize on untapped potential - MRs that have become stale but have received a seal of approval as useful addition to GitLab.
  4. Invest into attracting more new contributors

Community Contributed Value Observability

  1. Introduce measurement points in various places in the contribution pipeline
  2. Collect objective and subjective feedback from contributors about the process
  3. Create insight into actual community contribution pipeline size
  4. Standardize contribution MRARR valuation
  5. Categorize contribution and measure value per type

Community Metrics Foreshadowing

  1. Predict community metric trends
  2. Empower teams to react to negative trends before they actualize
  3. Define ambitious targets for FY24

Open Community MR Age (OCMA)

  1. Minimize reliance on human factors that contribute to a large standard deviation
  2. 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

Name Role
Arianna HaradonArianna Haradon Senior Fullstack Engineer
Daniel MurphyDaniel Murphy Senior Program Manager, Contributor Success
Lee TickettLee Tickett Fullstack Engineer, Contributor Success
Core Team member
Nick VeenhofNick Veenhof Director, Contributor Success
Oksana KohuchOksana Kohuch Fullstack Engineer, Contributor Success
Raimund HookRaimund Hook Senior Fullstack Engineer, Contributor Success
Rostyslav SafonovRostyslav Safonov Fullstack Engineer, Contributor Success

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)

  • Contributor Success FY24 Q1 OKR Overview

    • Obj: Improve the team efficiency through documentation - 100%
      • KR: Achieve our MR Rate target by being more handbook first - 100%
    • Obj: Grow the community through contributing organizations and events - 56%
      • KR: Increase UWCC to 140 monthly - 79%
      • KR: Assist in activating 20 Leading Organizations through workshops & coaching - 41%
      • KR: Organize 2 contributor events to grow the satellite communities - 50%
    • Obj: Improve Contributor Recognition through improved processes and awards - 97%
      • KR: Deliver Achievements Award system within GitLab - 100%
      • KR: Take Over and Improve the Release MVP Process through automation & scoring - 91%
      • KR: Recognize all Wider Community Authors & Reviewers and communicate through MVP post, Discord and others channels - 100%
    • Obj: Improve Contributor Velocity through better tooling and documentation - 65%
      • KR: Target 30 unique monthly contributors with merged MRs through the community fork - 76%
      • KR: Ship 30 iterations to improve contribution guidelines for first time contributors - 90%
      • KR: Reduce MR feedback complexity for first time contributors journey by tuning 10 GitLab-bot messages - 30%
  • Results - Contribution Guides / Video

  • Results - Other / Video

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%

Performance Indicators

We have the following Performance Indicators

Unique Wider Community Contributors per Month

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

Open Community MR Age (OCMA)

  • 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

Community Coaches per Month

  • 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

Community Contribution MRs as Features per Month

  • 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

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:

Community Office Hours

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.

Promotion

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.


Code Contributor Program Email templates

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

As a comment on their merged MR

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
Community pairing sessions
Information and guidelines about community pairing sessions
Contributor Success Team - Code Contributor User Journey
Code Contributor User Journey
GitLab MVP Selection Process
Process for Contributor Success to select GitLab MVPs
GitLab Nominations for Community Swag

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!

How to recognize organizations within the contributor ecosystem for GitLab
Learn how to add and maintain usernames to organizations for recognition and award purposes within GitLab
Innovation Pitch Competion
Information and guidelines about the Innovation Pitch Competition
Merge Request Coach Lifecycle

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.

new issue dialog showing how to select the mr_coach_onboarding issue template

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:

Metrics & Tableau Dashboards
Learn about the dashboards that are used in community-related dashboards!
Workflows for working with community contributions
All processes that Contributor Success work with
Last modified October 29, 2024: Fix broken links (455376ee)