Centralized handbook first metrics dashboard for all product/engineering groups with data facets of development, quality, ux, security and infrastructure
## Intro Our current direction is to be handbook first and handbook driven when it comes to metrics. Currently we have aligned on a SSoT of the data in `Sisense` with a list of projects that is driving our `MR Rate`. As Quality and Engineering Productivity evolves to be more metrics driven along with Development we also want to involve UX and also Security in this direction. Help move towards https://gitlab.com/gitlab-com/Product/-/issues/1409 ## Plan Have a common set of metrics dashboard that captures the overall health of a given Product/Engineering group. Have this be in a common location in our handbook. ### Mockup #### Metric template ![Screen_Shot_2020-08-11_at_11.10.20_AM](/uploads/c8887d80bbb295376c603736dc6cae0f/Screen_Shot_2020-08-11_at_11.10.20_AM.png) #### `Sub-department` => `stage` pages Path: /handbook/engineering/development/performance-indicators/`SUB-DEPARTMENT`/ ![Screen_Shot_2020-08-24_at_12.16.35_AM](/uploads/bfc3d0410a0651c025a80a2f6f2786f0/Screen_Shot_2020-08-24_at_12.16.35_AM.png) #### `Stage` => `group` pages Path: /handbook/engineering/development/performance-indicators/`SUB-DEPARTMENT`/`STAGE` ![Screen_Shot_2020-08-24_at_12.16.42_AM](/uploads/881e13b7c4f67aba1da7cf374250b8f7/Screen_Shot_2020-08-24_at_12.16.42_AM.png) ## Tasks ### Phase 0 - Identify metrics to represented from each department For each department domain metrics, create a dashboard that can be filtered down. - [x] Metrics from Development - [x] Product improvement MR - [x] Member MR rate - [x] Mean time to merge - [x] MRs by product type - [x] Dashboard created - [X] Metrics from Quality - [x] ~S1 & ~S2 bug creation and close rate per month - [x] ~S1 & ~S2 Mean time to close. MTTC - [X] Dashboard created: https://app.periscopedata.com/app/gitlab/736012/WIP:-Quality-Embedded-Dashboard - [x] Metrics from UX Department - [x] Total Open vs Closed: https://app.periscopedata.com/app/gitlab/641753/UX-Debt?widget=8712688&udv=0 - [x] Days to closed: https://app.periscopedata.com/app/gitlab/641753/UX-Debt?widget=8318966&udv=0 - [x] A narrow down of ~bug to ~UX for ~S1 and ~S2 - [x] Dashboard created - [x] Metrics from ~"security" - [x] Average age of currently open vulnerabilities - [x] MTTM of vulnerabilities by severity each month - [x] Dashboard created - Reference `https://app.periscopedata.com/app/gitlab/758795/Appsec-Embedded-Dashboard` - `DRI` `@jritchey` - [x] Metrics from ~"infrastructure" - Production incidents ? - [x] Dashboard created ### Phase 1 - Create sub-department equivalent pages - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/dev/ - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/ci-cd/ - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/ops/ - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/enablement/ - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/growth/ - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/secure/ - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/defend/ ### Phase 2 - Add stages per sub-department Add stage metrics under each department - https://about.gitlab.com/handbook/engineering/development/performance-indicators/dev/ - [x] Plan - [x] Manage - [x] Create - https://about.gitlab.com/handbook/engineering/development/performance-indicators/ops/ - [x] Verify - [x] Package - [x] Release - [x] Configure - [x] Monitor - For areas that only have one stage per sub-department we will omit this for the time being - https://about.gitlab.com/handbook/engineering/development/performance-indicators/enablement/ - https://about.gitlab.com/handbook/engineering/development/performance-indicators/growth/ - https://about.gitlab.com/handbook/engineering/development/performance-indicators/secure/ - https://about.gitlab.com/handbook/engineering/development/performance-indicators/defend/ ### Phase 3 - Create group/stage pages Create stages pages with groups in each page - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/dev/plan - [x] Project Management group - [x] Portfolio Management group - [x] Certify group - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/dev/manage - [x] Access group - [x] Compliance group - [x] Import group - [x] Analytics group - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/dev/create - [x] Source Code group - [x] Knowledge group - [x] Static Site Editor group - [x] Editor group - [x] Gitaly group - [x] Gitter group - [x] Ecosystem group - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/ops/verify - [x] Continuous Integration group - [x] Pipeline Authoring group - [x] Runner group - [x] Testing group - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/ops/package - [x] Package group - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/ops/release - [x] Progressive Delivery group - [x] Release Management group - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/ops/configure - [x] Configure group - [x] https://about.gitlab.com/handbook/engineering/development/performance-indicators/ops/monitor - [x] Health group - For areas that only have one stage add groups to those sub-department pages instead - https://about.gitlab.com/handbook/engineering/development/performance-indicators/enablement/ - [x] Distribution group - [x] Geo group - [x] Memory group - [x] Global Search group - [x] Database group - https://about.gitlab.com/handbook/engineering/development/performance-indicators/growth/ - [x] Acquisition group - [x] Conversion group - [x] Expansion group - [x] Retention group - [x] Fulfillment group - [x] Telemetry group - https://about.gitlab.com/handbook/engineering/development/performance-indicators/secure/ - [x] Static Analysis group - [x] Dynamic Analysis group - [x] Composition Analysis group - [x] Fuzz Testing group - [x] Threat Insights group - [x] Vulnerability Research group - https://about.gitlab.com/handbook/engineering/development/performance-indicators/defend/ - [x] Container Security group - [x] Insider Threat group #### ### Phase 4 - Add RPI top level metrics into each engineering department - S1/S2 Bug creation and close rate in https://about.gitlab.com/handbook/engineering/quality/performance-indicators/ - Missed S1/S2 bug SLO in S1/S2 Bug creation and close rate in https://about.gitlab.com/handbook/engineering/quality/performance-indicators/ - -
epic