Development Analytics Group
Common Links
| Category | Handle |
|---|---|
| GitLab Group Handle | @gl-dx/development-analytics |
| Slack Channel | #g_development_analytics |
| Slack Handle | @dx-development-analytics |
| Team Boards | Team Issues Board, Team Epics Board, Support Requests |
| Issue Tracker | tracker |
| Team Repositories | development-analytics |
Mission
Our mission is to enhance developer efficiency by delivering actionable insights, optimizing pipeline performance, and building scalable productivity tools that measurably improve the software development lifecycle.
Vision
We envision a future where GitLab’s development workflows are seamless, insightful, and empowered by data. The Development Analytics team will:
- Establish GitLab as the industry benchmark for measurable developer productivity
- Improve cycle time to industry-leading standards through tooling and practices
- Create intuitive, powerful analytics dashboards that drive informed development decisions
- Deploy AI-powered systems that optimize pipeline performance and resource utilization
Team members
Core Responsibilities
flowchart LR
DA[Development Analytics Team]
DA --> MRCT[MR Cycle Time Improvement]
DA --> Tools[Tooling Maintenance]
MRCT --> Analytics[Analytics & Observability]
MRCT --> ExecTime[Pipeline Execution Time Optimization]
MRCT --> ReviewEng[Review Engagement Enhancement]
MRCT --> PipeStab[Pipeline Stability Assurance]
Tools --> Triage[Triage Ops]
Tools --> Roulette[GitLab Roulette]
Tools --> Danger[Dangerfiles]
Tools --> EPInfra[Engineering Productivity Infrastructure]
Tools --> CNG[CLI for Cloud Native GitLab deployment]
click Triage "https://gitlab.com/gitlab-org/quality/triage-ops"
click Roulette "https://gitlab.com/gitlab-org/gitlab-roulette"
click Danger "https://gitlab.com/gitlab-org/ruby/gems/gitlab-dangerfiles"
click EPInfra "https://gitlab.com/gitlab-org/quality/engineering-productivity-infrastructure"
click Analytics "https://gitlab.com/groups/gitlab-org/-/epics/16185"
click ExecTime "https://gitlab.com/groups/gitlab-org/-/epics/15989"
click ReviewEng "https://gitlab.com/groups/gitlab-org/-/epics/16028"
click PipeStab "https://gitlab.com/groups/gitlab-org/-/epics/16186"
click MRCT "https://gitlab.com/groups/gitlab-org/-/epics/16026"
click CNG "https://gitlab.com/gitlab-org/gitlab/-/tree/master/qa/gems/gitlab-cng"
Roadmap
As part of our commitment to aligning with GitLab’s company goals, our team conducts a thorough review of company-level Roadmap and Objectives and Key Results (OKRs) at the beginning of each quarter. This process ensures that our efforts are strategically focused on delivering high-impact results that contribute to the broader organizational objectives. View the Development Analytics Roadmap for FY26 for detailed insights and upcoming priorities
Custom Tooling and Dogfooding
GitLab dogfoods extensively. The Development Analytics team builds custom tooling to address GitLab functionality gaps, creating a valuable feedback loop between internal needs and product development.
The Custom Data ↔ Custom Tooling Loop
Over the years, we’ve built custom tooling for missing GitLab features (triage-ops, test health management, CI observability, in-job metrics). This custom tooling generates custom data that’s not part of GitLab’s production database.
By integrating custom tooling as product features, we achieve:
- Features that benefit customers (if it helps us as customer zero, it likely helps others)
- Custom data becomes product data, available by default in visualizations
- Reduced technical debt from maintaining custom solutions
- Every improvement benefits both customers and internal teams
Current Custom Tooling
CI/CD Pipeline Observability
| Tool | Purpose | Repository | Status | Product Potential |
|---|---|---|---|---|
| CI Alerts | Real-time alerting for pipeline failures and performance issues | ci-alerts | Active | High - Could become native pipeline alerting |
| CI/CD Pipelines Observability | Pipeline visualizer, failure categorization, CI log scraping for custom metrics, and comprehensive analytics requiring tests as first-class citizens and runner improvements | Epic #22, Pipeline Visualizer, Failure Categories | Active | High - Requires runner epic and native test concept in product |
| Snowflake Observability | Custom dashboards and analytics for GitLab.com operations and performance | snowflake-dashboard-sql | Active | High - Could be integrated directly in product |
Triage and Issue Management Automation
| Tool | Purpose | Repository | Status | Product Potential |
|---|---|---|---|---|
| Triage Ops (Reactive) | Real-time automated issue and MR triage using custom policies and reactive engine | triage-ops | Active | High - Advanced real-time triage automation |
| Triage Ops (Scheduled) | Scheduled triage operations including weekly team reports and batch processing | triage-ops | Active | High - Could benefit many customers (for example, weekly team reports) |
Review and Code Quality Tools
| Tool | Purpose | Repository | Status | Product Potential |
|---|---|---|---|---|
| GitLab Roulette | Intelligent reviewer assignment system that considers domain expertise, availability, and workload | gitlab-roulette | Active | High - Core developer workflow improvement |
| GitLab Danger Files | Standardized CI-based code review automation and policy enforcement | gitlab-dangerfiles | Active | High - Demonstrates advanced merge request automation |
| Renovate Bot | Automated dependency management across GitLab projects | renovate-gitlab-bot | Active | High - Multiple teams built similar solutions, clear product need |
Test Health and Quality Management
| Tool | Purpose | Repository | Status | Product Potential |
|---|---|---|---|---|
| Flaky Tests Management | RSpec report parsing from job artifacts, automated test behavior analysis, GitLab issue creation for test health tracking, and data pipeline to GCS/Snowflake | gitlab_quality-test_tooling | Active | High - Native test results concept missing from product |
| Slow Tests Management | RSpec profiling and analysis with custom frontend/backend for test performance insights | RSpec profiling stats, gitlab_quality-test_tooling | Active | Medium - Built but limited team adoption/reaction |
Incident and Process Management
| Tool | Purpose | Repository | Status | Product Potential |
|---|---|---|---|---|
| Main Branch Broken Process | Automated identification, incident management, response, and revert MR handling | broken main branch workflow | Active | High - Critical workflow for maintaining stable main branches |
Data and Analytics Infrastructure
| Tool | Purpose | Repository | Status | Product Potential |
|---|---|---|---|---|
| Data Pipelines | Custom data processing pipelines feeding Snowflake dashboards and analytics | test_tooling project, various GCS buckets, internal events, Snowflake SQL queries, alerting | Active | Medium - Could be integrated directly in product |
Dashboards
Pipeline Duration Analytics
- Pipeline Duration Analytics
- Job Execution Analytics
- Pipeline Tier Analysis
- Long-Running Test Analysis
Pipeline Stability Analytics
Note: Access to these dashboards requires appropriate permissions. Contact team leads for access requests.
How we work
Philosophy
- We prioritize asynchronous communication and a handbook-first approach, in line with GitLab’s all-remote, timezone-distributed structure.
- We emphasize the Maker’s Schedule, focusing on productive, uninterrupted work.
- Most critical recurring meetings are scheduled on Tuesdays and Thursdays.
- We dedicate 3–4 hours weekly for focused learning and innovation. This protected time enables the team to explore emerging technologies, conduct proof-of-concepts, and stay current with industry trends. Meeting requests during these blocks require advance notice.
- All meeting agendas can be found in the Team Shared Drive as well as in the meeting invite.
Meetings/Events
| Event | Cadence | Agenda |
|---|---|---|
| End-of-Week progress update | Once a week (Wednesday) | Summarize status, progress, ETA, and areas needing support in the weekly update in issues and Epics. We leverage epic-issue-summaries bot for automated status checks |
| Team meeting | Twice a month on Tuesday 4:00 pm UTC | Agenda |
| Monthly Social Time | Monthly on last Thursday 4:00 pm UTC | No agenda, fun gathering. Choose one of the slots based on your timezone alignment. Read Virtual team building |
| Quarterly Business Report | Quarterly | Contribute to team’s success, learnings, innovations and improvement opportunities for each business quarter |
| 1:1 with Engineering Manager | Weekly | Discuss development goals (see the 1:1 guidelines) |
| Team member’s coffee chats | Once/twice a month | Optional meetings for team members to regularly connect |
Yearly Roadmap Planning
- Each financial year, we create a roadmap to ensure visibility and alignment.
- We conduct an intensive month-long exercise (usually in Q4) to gather input from stakeholders.
- DRIs take the lead drafting the roadmap using the roadmap prep-work template).
- Once the roadmap is approved, during our bi‑weekly team meetings, we review progress, address blockers, and gather feedback on the planned roadmap work.
Iterations
Once the yearly roadmap is defined, we structure our work using GitLab Iterations within a twice-a-month iteration model. This approach ensures consistent progress tracking, clear priorities, and iterative improvements. Here are our current iteration board and previous iterations for reference. As a team, we make sure:
- Each issue is assigned to a Development Analytics Iteration.
- Issues that are not worked on within the iteration automatically roll over to the next iteration.
- In every twice-a-month team meeting, we review the iteration boards and track velocity using burndown charts.
Internal Rotation & Support Requests
Internal Rotation
We use an internal rotation for support requests and other team maintenance tasks. This frees up time for other Engineers in the team to work on planned work.
Support Requests
- If one finds a bug, needs assistance, or identifies an improvement opportunity then raise support requests using the
~"group::Development Analytics"and~"development-analytics::support-request"labels. If the issue is urgent, escalate to the designated Slack channel -#g_development_analytics. - If a request first comes through Slack, either the requester or a
group::Development Analyticsmember should open an issue with the correct labels to ensure proper tracking and triage. - The team reviews the support request board and prioritizes accordingly. Generally, the team reserves ~20% of weekly time for support tasks, though this may vary based on current priorities.
Tools/Repository Maintenance
- Team does not automatically watch every new issue created in each group-owned repository—use the group labels or escalate in Slack to ensure visibility.
- We highly promote self-served Merge Requests. If one already identified a fix or improvement, we request opening an MR for faster turnaround. The
~group::development analyticsmaintainers will review and merge as appropriate. - Feature work and bug fixes follow the team’s current priorities.
- Find the version management rituals for
~group::development analyticsowned repositories:
| Repository | Release Process |
|---|---|
| gitlab-roulette | Version updates are not scheduled on a set cadence. A release can be cut whenever a version-update MR is submitted. |
| gitlab-dangerfiles | Same as above—no regular cadence; release triggered by a version-update MR. |
| triage-ops | A new release is initiated after merging a new commit into the default branch. |
| engineering-productivity-infrastructure | Dependency update MRs are generated by Renovate bot. |
Automated Label Migration
For details on label migration, see the Handbook entry for creating label migration triage policy with GitLab Duo Workflow.
a7f6817a)
Paul John Phillips
Andrejs Cunskis
David Dieulivol
Ievgen Chernikov
Pranshu Sharma
Lohit Peesapati