Engineering Analytics Team

Engineering Analytics Team

Vision

Engineering Analytics enables Engineering at GitLab to understand how quickly we are building and evolving our product to meet our customers’ needs, and to decide what are the most appropriate balances between cost and effort in building our product.

Mission

Engineering Analytics is responsible for building and evolving analytics capabilities and creating insights for Engineering to understand how well we are building our product. In this case, “wellness” is measured in terms of efficiency, as well as cost.

Areas of focus and core competencies for Engineering Analytics include:

  • Own creation, implementation, optimization, and standardization of the KPIs and metrics for the Engineering Division and its departments.
  • Collaborate across Engineering departments to find common themes in KPIs and other metrics, and determine the best ways to represent metrics with these shared or common themes.
  • Create new metrics, data analyses, and data visualizations to provide additional clarity for existing operational metrics for Engineering, built on top of the data infrastructure provided by GitLab’s Data Team’s.
  • Propose strategic improvements to Engineering leadership by analyzing trends and behavior in Engineering’s KPIs and metrics.

Internal Team Responsibilities

In addition to the areas of focus and core competencies listed above, the Engineering Analytics team is continually improving and evolving, in order to keep up with the improvement and evolution of Engineering at GitLab. Areas of focus for the evolution of the team include:

  • Collaborate regularly and frequently with Engineering teams in order to understand how various teams’ work aligns with the key objectives for each Department
  • Collaborate regularly with GitLab’s Data Team to ensure that the internal data platform for GitLab continues to meet the needs of Engineering and Engineering Analytics
  • Improve our internal team processes so that the Engineering Analytics team can scale along with the rest of Engineering
  • Improve documentation of our team’s processes and the outcomes we drive in the Handbook

OKRs

Every quarter, the team commits to Objectives and Key Results (OKRs). The below shows current and previous quarter OKRs, it updates as the quarter progresses. Starting February 2023, Engineering Analytics uses GitLab to track progress towards quarterly OKRs.

Here is an overview of our current OKRs.

Team Structure

This team is a function under the Quality Department operating as a team of Engineering Analysts, led by a leader of Engineering Analytics, who in turn reports to the leader of the Quality Department.

graph TD
    A[Infrastructure Quality Department]
    A --> B(Engineering Analytics)
    B --> BA[Engineering Analyst]
    B --> BB[Engineering Analyst]
    B --> BC[Engineering Analyst]
    B --> BD[Engineering Analyst]
    A --> P(Platforms)
    A --> D(Quality Engineering)
    A --> E(Engineering Productivity)
    A --> R(Reliability)

    click A "/handbook/engineering/quality"
    click B "/handbook/engineering/quality/engineering-analytics"
    click D "/handbook/engineering/infrastructure/test-platform"
    click E "/handbook/engineering/infrastructure/engineering-productivity"
    click P "/handbook/engineering/infrastructure/platforms/"
    click R "/handbook/engineering/infrastructure/reliability/"

    style B fill:#bbf,stroke:#f66,stroke-width:2px, color:#fff
    style BA fill:#bbf,stroke:#f66,stroke-width:2px, color:#fff
    style BB fill:#bbf,stroke:#f66,stroke-width:2px, color:#fff
    style BC fill:#bbf,stroke:#f66,stroke-width:2px, color:#fff
    style BD fill:#bbf,stroke:#f66,stroke-width:2px, color:#fff

On-boarding

Please open a new issue in our team project using the on-boarding.md template.

Key Reviews

Key Reviews are meetings a department has with other GitLab team members to discuss any progress or updates related to KPIs & OKRs with the rest of the organization. More information can be found on the Key Review Handbook Page

In Engineering our key reviews are handbook driven. Each department’s KPIs are defined in www-gitlab-com repo under data/performance-indicators, & metrics are in handbook with URL structure like engineering/department/performance-indicators. For example, Infrastructure’s full URL is https://about.gitlab.com/handbook/engineering/infrastructure/performance-indicators.

Performance Indicator DRI

The Performance Indicator DRI is an optional attribute in the PI page .yml file that specifies an individual as the DRI for a particular KPI/PI.

The DRI is responsible for updating the health & health reasons for the metric. In cases where the health is at problem or attention level, the actions being taken to fix the metric should be specified. The DRI is also responsible for verifying the data & if needed talking with an analyst to make sure the metric is ready for the key review.

The DRI is a delegation of responsibility for the things listed above from the respective department head, although the department head is still generally responsible for all of their PIs.

If no DRI is listed, the default DRI would be the department head.

Roles & Responsibilities

Head of Engineering (CTO)

This position is responsible for defining the division level PIs that are shared across departments or solely at Engineering Division level. They are also responsible for working with department heads on setting targets for these.

Department Heads

Department Heads in Engineering are generally responsible for their overall PI page & making sure they have what they need for the metrics before & after the key meetings.

Engineering Analysts

Our main role as engineering analysts is to support department heads or DRI in creating or updating their metrics so that they can use them in the key meetings. Your stable counterpart may also ask to delegate a set of metrics from their department to you so in that case you would also be the DRI for those metrics & assume the responsibilities listed above in DRI section

How We Work

While this team operates as a single team reporting to one manager, we emphasize on ensuring the prioritization and needs of Engineering Leaders via stable counterparts.

Counterpart Assignments

The team structure will leverage stable counterpart assignees to ensure proper allocation and attention needed to service all Engineering Departments and Leaders and still promote cross-functional collaboration and ownership of an area.

We assign the stable counterpart by Engineering Division’s sub-departments. This is identified by the Engineering Department name assigned to an Engineering Analyst.

Eng Department Analyst PI Page
Engineering Engineering Analytics Team Eng PI Page
Development Lily, Dani Dev PI Page
Infrastructure Clément Infra PI Page
Quality Raul Quality PI Page
Security Dani Security PI Page
Support Lily Support PI Page
Finance Clément Finance PI Page
Incubation Lily Incubation Page

Engineering analysts assigned to one area are experts in that area and may not have the knowledge depth in other areas. As such contributing cross-domain expertise will only be limited to Sisense charting and not beyond this data layer.

Meetings and Scheduled Calls

Aside from the below listed scheduled meetings, the team will also have scheduled 1:1s with other team members and their stable counterpart assignement’s department head at a cadence of their choosing to discuss any topics that were not covered in normal status updates or other meetings.

Engineering Key Reviews

Each Engineering department has a monthly or bi-monthly key review where e-group goes over the department’s metrics and can ask the department heads any general questions regarding the department’s progress towards its goals. Analysts are expected to go to their stable counterpart’s key meeting & participate if needed, & are encouraged to attend other department key reviews as time permits.

  • If stable counterpart department head has delegated you as DRI for a particular metric, provide updates during meeting for those metrics.
  • Support department heads in metric preparation ahead of reviews
  • Capture follow-up asks related to metrics from key review

Recurring sync with stable counterparts

Engineering Analysts will hold recurring 1-1 with their assigned VP of an Engineering Department to:

  • Review work prioritization
  • Capture strategic asks
  • Ensure completion of follow up for Key Reviews

Bi-Weekly review with GitLab’s Data Team

This team will have standing bi-weekly sync with the Data team to:

  • Drive data dependencies to resolution
  • Propose initiatives to improve our data accuracy and hygiene

Issue Boards

Issue Weighting

These weights are used to estimate analyst time needed to fulfill a request by 1 engineering analyst. This is used when estimating total capacity of work that can be done by the team. If more than 2 weeks needed (>8 weight), then issue needs to be broken down into multiple issues.

| Label Weight | 1 Analyst Time Estimate | Work Example | | ———– | ———– | | 1 | 1 full day | basic handbook updates, changing basic parameters in Sisense charts| | 3 | 1/2 week | Creating new Performance Indicator from Data that already exists in data warehouse| | 5 | 1 week | Creating new dashboard with granular details around existing metric| | 8 | 2 weeks | introducing new metric based from data source that doesn’t currently exist in data warehouse|

Communicating Priority & Status

Status

The Engineering Analytics team uses scoped status labels to track different stages of issues on the board. This is also used to clearly communicate to stakeholders the status of each requests.

Status Description
~"eng-analytics::triaging" Issue has been ackowledged and we are working through scoping how much work is required to complete the request
~"eng-analytics::scoped" Request has been clarified & amount of work required to fulfill request has been identified.
~"eng-analytics::in-progress" Issue is actively being worked on
~"eng-analytics::waiting" Team is waiting for dependency to complete work to continue progress, or work has been de-prioritized. Issue will also have blocking dependency linked.
~"eng-analytics::in-review" Issue has been completed & work is under review by stakeholder

Priority

Work is prioritized using table below. Work type is stacked ranked within each priority.

Priority Work Remark
~"priority::1" Urgent Key Review requests
Free User Efficiency Rapid Action
Passedthrough OKRs
Hiring & Onboarding
~"priority::2" Non passthrough OKRs
Walk-up request from Engineering
We have capacity to take this on, OKRs will be prioritized first.
~"priority::3" New Data Sources
Walk-up request outside of Engineering
We do not have capacity to take this on at the moment
~"priority::4" Nice to have Improvements We do not have capacity to take this on at the moment

How to Engage with Us

Please reach out to us by opening an issue on the Engineering Analytics board or contacting us in the g_engineering_analytics slack channel.

Creating an Issue

To ensure that the issue gets visibility by our team, when creating an issue on the Engineering Analytics board, please add the ~"Engineering Metrics" label in addition to one of the below labels and ping the analyst assigned to that department.

  • ~"Eng Metrics::Eng Division"
  • ~"Eng Metrics::Development Department"
  • ~"Eng Metrics::Infrastructure Department"
  • ~"Eng Metrics::Quality Department"
  • ~"Eng Metrics::Support Department"
  • ~"Eng Metrics::Incubation Engineering"
  • ~"Eng Metrics::General"

Slack Channels

Channel Purpose
g_engineering_analytics Channel to discuss team-related work, or for other people to see what’s going on with the team & ask any questions related to the team
eng-data-kpi Important Announcements related to Engineering Performance Indicators, & forum for external questions to team.
infrafin For questions related specifically GitLab.com hosting cost or other general questions that overlap with infrastructure & finance
development_metrics For questions regarding Development Department metrics

Performance Indicators

Engineering Analytics Team Handbook MR Rate

The handbook is essential to working remote successfully, to keeping up our transparency, and to recruiting successfully. Our processes are constantly evolving and we need a way to make sure the handbook is being updated at a regular cadence. This is measured by Merge Requests that update the handbook contents related to the performance indicator pages, our team page, and engineering metrics pages.

Last modified February 21, 2024: Remove sisense refs from eng misc pages (41d004c5)