Today we are proud to announce the public release of a new open source project that we have been working on: OpenDORA.
What is OpenDORA?
Initiated in late 2023 by a small team of developers within Devoteam Netherlands, OpenDORA is a solution that allows organizations to easily measure and dashboard team performance metrics. It provides actionable insights, not only to the teams themselves, but also to scrum masters, product owners and team managers who need these insights for the organization. We have decided to develop OpenDORA as a fully free and open-source solution, and today are proud to share this with the community.
OpenDORA includes an open-source plugin for Backstage, a popular developer portal platform. It integrates with Apache DevLake to organize and aggregate data from deployment and project management tooling like Gitlab, GitHub, Jira, and Jenkins. OpenDORA extracts meaningful insights from this data through an API and renders dashboards within Backstage that provide insights on the teams’ performance.
Impatient and want to try it out?
- Head over to the GitHub repository: https://github.com/DevoteamNL/opendora
- Download the free Backstage plugin at: http://backstage.io/plugins – search for “OpenDORA”
What are DORA metrics?
DORA, short for DevOps Research and Assessment, was created 6 years ago by researchers based on data from thousands of teams, to find a reliable way to measure software team performance.
The four key DORA metrics are:
- Deployment Frequency
- Lead Time to Changes
- Change Failure Rate
- Mean Time to Recovery
Today, DORA metrics are widely accepted as a framework to determine stability and velocity of software teams. They provide a benchmark for determining the maturity of software teams, helping set a path towards high performance.
How does OpenDORA work?
OpenDORA has a largely pluggable architecture, with some opinionated tooling choices that we can talk about at length. Ingestor scripts running on schedule fetch data from external tools (Gitlab, Jira, etc.) and push them to DevLake. An API exposes this data and provides endpoints to retrieve it from DevLake. The Backstage plugin utilizes this API and renders the results on the Backstage frontend. This is a React plugin based on Material UI.
The result is a set of time-series graphs illustrating team performance metrics and their changes over time, with simple descriptions to benchmark the team performance. This dashboard is presented alongside your Backstage entities, providing a holistic view of the development landscape.
Pluggability allows us to replace the tools in question, for instance, we see the potential to allow the interface to be implemented in platforms other than Backstage.
What’s new in this release?
Version 0.2.2 is our first public release and it adds the second DORA metric: Lead Time for Changes. It also includes a range of improvements with UI scaling and layout, and bug fixes. See release notes here: https://github.com/DevoteamNL/opendora/releases.
What’s next?
We have a busy roadmap and are welcoming contributions from the community.
The project milestones are publicly shared in the associated GitHub project. We plan to add the remaining 2 DORA metrics (Mean Time to Recovery and Change Failure Rate). Next to that, we want to improve the developer experience of setting up the plugin, to make the onboarding process seamless. In the extended future, we want to integrate with other data aggregation methods to avoid the need to set up Devlake manually, which could also allow a custom backend to handle the deployment data directly. We also see the potential for allowing this interface to be implemented in platforms other than Backstage. Gamification with DORA metrics is also in consideration.
Get involved!
We obviously love for you to try and use the plugin and the solution, and hear from you on your experience. Head over to our GitHub repo and follow the documentation. If you would like to contribute and improve the project, our ears are open and you are free to create an issue on GitHub or reach out to us at opendora@devoteam.com!