Skip to content

Comparative view of DORA4 metrics based on time

Release notes

Problem to solve

As a software leader working on improving my SDLC lifecycle, it would be interesting to compare my DORA metrics at different time intervals (to see if I am improving or to dig deeper into why something went well/wrong). It is also important for me to understand whether projects and/or group(s) are improving or not and report this to upper management.

Using the current UI user can't:

  1. Tell the story whether their metrics are improving month over month.
  2. Understand patterns in their metrics trend overtime.
  3. Compare performance between groups, projects and teams.
  4. Ability to view reports via a saved filter, allowing everyone to see the same metrics in the same view.

Proposal

Adding "Metrics comparative view" to Insights.

A new table of metrics with multiple comparative dimensions and with sparklines to show data trends.

Iteration plan

  1. Add a new summary table visualization type to insights, to display DORA metrics month-over-month in one single view.
  • For this MVC the table column will the metric name.
  • For this MVC the table rows will be:
    • period 1 - Last 30 days
    • period 2 - previous period
    • change_rate_% - period 2 metric value / period 1 metric value.

mvc1

  • YAML configuration for "Metrics comparative view":
Click to expand
metricTable:
  title: "DORA month-over-month for ProjectX"
  description: "DORA month-over-month for Project X"
  column:
    - title: "Name" 
      type: text
          metric name: 
            - Deployment Frequency
            - Lead Time for changes
            - Time to restore service
            - Change failure rate
  row1:
    - title: "Last 30 days" 
      type: value
      query:
        data_source: dora
        params:
          metric: 
            - deployment_frequency
            - lead_time_for_changes
            - time_to_restore_service
            - change_failure_rate
          period: month
        projects:
          only:
            - 1                      
            - groupA/projectX
  row2:
    - title: "Previous 30 days" 
      type: value
      query:
        data_source: dora
        params:
          metric: 
            - deployment_frequency
            - lead_time_for_changes
            - time_to_restore_service
            - change_failure_rate
          period: ( month - 1 )
        projects:
          only:
            - 1                      
            - groupA/projectX
      row3:
    - title: "change_rate_%" 
      type: change_rate_%
      query:
        data_source: dora
        params:
          metric: 
            - deployment_frequency
            - lead_time_for_changes
            - time_to_restore_service
            - change_failure_rate
          rate: ( month - 1 / month )
        projects:
          only:
            - 1                      
            - groupA/projectX
  
  1. Add filter per project

  2. Add filter per sub-groups

  3. Add filter per environments

  4. Add sparklines to show data trends. image__1_

  5. Add change % badges.

  6. Add Target / Goal value (configure manually by the user).

image

User experience goal / Acceptance criteria

  • Compare all 4 DORA metrics MoM value and change rate % .
  • Compare DORA Deployment Frequency value and change rate % across 2 different projects.

Future iterations

  • Add counters tiles to Insights.
  • Add a new "side by side" component to insights similar to Productivity Analytics
  • Add Drill-down options from the comparative view to other analytics reports.

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by Haim Snir