DeveloperMetrics / DevOpsMetrics

A project to extract and process high performing DevOps metrics (DORA) from GitHub and Azure DevOps
MIT License
250 stars 47 forks source link
azure-devops devops-metrics dora dora-metrics github

DevOps Metrics

Build Coverage Status Code Smells Current Release

Why should we care about DevOps Metrics and what are they? All engineering, including software, needs metrics to track performance, but many metrics when measured individually, can be 'gamed', or don't encourage the right behaviors or incentives. This has been an issue with metrics for many years. The DORA metrics are a step in the right direction, combining several metrics that encourage the behaviors and incentives - and hence that encourage DevOps teams to perform at a high level of performance. DORA metrics aren't perfect, but are still the best we have available today.

This project is focused on helping you collect and analyze four key high performing DevOps metrics from GitHub and Azure DevOps. DORA's "State of DevOps" research and Accelerate highlighted four driving indicators of high performing DevOps teams. While these four metrics are widely used in DevOps discussion, it's challenging to implement and capture all of the metrics.

High performing metrics [^1]

The current solution:

We currently have all four of the metrics implemented and undergoing a pilot. (The Azure DevOps widget is currently not planned - but is possible if someone wants to build it!).

Architecture

Developed in .NET 8. A GitHub action runs the CI/CD process.

Currently the CI/CD process:

  1. Builds the code
  2. Runs the unit tests
  3. Deploys the webservice to a Azure web app (https://devops-prod-eu-service.azurewebsites.net)
  4. Deploys the demo website to a Azure web app (https://devops-prod-eu-web.azurewebsites.net)
  5. Deploys the function website to a Azure function

Dependabot runs daily to check for dependency upgrades.

Architecture diagram

Badges

The API can generate a URL for static badges, some samples are shown below: Build Build Build

Setup

Deploying to Azure

To debug/run tests

What's next?

References

[^1]: Chart from page 11 of state of DevOps 2022 report