[go: up one dir, main page]

Skip to content

MVC design for the new Exec Dashboards page with metrics comparative view

Overview

Following the feedback from https://gitlab.com/gitlab-org/gitlab/-/issues/353651+ and Comparative view of DORA4 metrics based on time (#354653 - closed) here is issue to discuss the Proposal for customizable Exec Dashboards.

Here is the dogfooding POC for this MVC, and here are the details about how to join the Exec Dashboard Beta.

Release notes

Problem to solve

As a software Exec working to optimize my SDLC lifecycle, I need centralized UI where I can see and compare all of the developer productivity metrics. It is also important for me to understand whether projects and/or group(s) are improving or not.

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.

Intended users

  1. Erin (Application Development Executive)
  2. Dakota (Application Development Director)
  3. Delaney (Development Team Lead)

User experience goal

  1. High-level custom view of multiple DevOps and Business metrics.
  2. For each metric to show the current time period compared to previous time period.
  3. For each metric to show the change rate % from previous time period, with badge indication.
  4. For each metric to show the historical trend.
  5. Each metric need to filters for different combinations of groups, projects and environments.
  6. Name and description can be customized.
  7. The view need to be shared as a single link for everyone to see the same metrics in the same context.
  8. Each metric will have a default drill-down link for further investigation on other analytics reports. This link can be customized by users.
  • Validation:
  1. Subgroups/projects - https://gitlab.com/gitlab-org/gitlab/-/issues/353651#note_989502664
  2. Subgroups/projects - https://gitlab.com/gitlab-org/gitlab/-/issues/364233#use-case
  3. Subgroups/projects - #342365 (closed)
  4. Subgroups/projects - https://gitlab.com/gitlab-org/manage/general-discussion/-/issues/17512#insights
  5. Environment- #354805 (comment 933966895)
  6. Metrics - #354653 (comment 918917147)

Proposal

Click to expand the proposal details:
  1. Add a new page with "Metrics comparative table".
  2. Page name - "Executive Dashboard", path /analytics/dashboards
  3. "Metrics comparative table" columns headers:
Name MTD Period 1 Period 2 Past 90 days Description
Deployment Frequency for project A 2.6/day (+1.5%) 2.6/day (+1.5%) 2.6/day (+1.5%) Sparkline DF for project A
Deployment Frequency for project B 2.6/day (+1.5%) 2.6/day (+1.5%) 2.6/day (+1.5%) Sparkline DF for project B
Lead Time for Changes for project A 0.5 days (-3%) 0.5 days (-3%) 0.5 days (-3%) Sparkline LTFC for project A
Lead Time for Changes for project B 0.5 days (-3%) 0.5 days (-3%) 0.5 days (-3%) Sparkline LTFC for project B
  • MTD - current month-to-date, period starting at the beginning of the current calendar month and ending at the current date. (e.g. 2022-09-01 --> 2022-09-15)
  • period 1 - last completed calendar month (e.g. 2022-08-01 --> 2022-08-31)
  • period 2 - previous completed calendar month (e.g. 2022-07-01 --> 2022-07-31)
  • change_rate\_% - period 2 / period 1 .
  • Past 90 days - Sparkline to show 90 days history of the data trends.
  1. Each value need to be displayed with value_unit and change_rate\_%. For example: Deployment Frequency - "2.6/day (+1.5%)" * Lead Time for Changes - "0.5 days (-3%)" * Time to restore service - "1.4 days (-0.9%)" * Change Failure Rate - "3% (+0.2%")
  2. Allow users to add projects, groups, and subgroups to the view.
  3. Allow users to filter specific metric by projects, groups, and subgroups.
  4. Each metrics should have a drill-down link into other Gitlab analytics reports.
  5. The table can be customized via yaml or json.

Suggested design:

MVC

Acceptance criteria

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

Productivity metrics examples:

  1. DORA deployment_frequency
  2. DORA lead_time_for_changes
  3. DORA change_failure_rate
  4. DORA time_to_restore_service
  5. VSA lead time
  6. VSA Cycle time
  7. VSA New issues
  8. VSA Deploys

Open questions

  1. Can we POC the new Product analytics dashboards and visualizations?
  2. Can we leverage the Operations Dashboard cards for the Exec Dashboards?
  3. Build this in Grafana?
Edited by Haim Snir