Jenkins Dora Metrics: CI/CD Leader With High Deployments, Slower Cycle Time
7 min read
Table of Contents
- Premise: Is Jenkins successfully practicing what it preaches with its own CI/CD pipeline?
- What’s Working: Highlighting their strong suit and active community involvement
- What’s Causing the Delay?
- Working on their Strengths to Tackle the Delays
- Leaving Thoughts: Jenkins should lead by example
- Did You Know?
- Further Resources
Ask any engineering leader, and they'll tell you that an efficient CI/CD pipeline is the backbone of a smooth, reliable software development cycle. Without it, you're likely stuck in a loop of manual processes, delayed deployments, and firefighting bugs at the last minute. When it comes to automating those processes, one name dominates the conversation: Jenkins.
Jenkins is more than just a tool—it's the industry standard for continuous integration and continuous delivery (CI/CD). It's the go-to solution for automating everything from code building and testing to deployment, streamlining workflows, and ensuring faster, more consistent releases. With Jenkins, teams can focus on writing code and improving features, rather than worrying about tedious manual steps like running tests or preparing code for production.
From startups to large enterprises, Jenkins powers some of the world’s most complex software ecosystems, proving its reliability and scalability time and again.
So, while I am in the groove of analyzing the engineering pipeline of top repositories, how could I miss Jenkins, who is synonymous to making the software workflow seamless and efficient? I used our own tool, Middleware OSS to analyze Jenkins Dora Metrics. You can know more about what Middleware does and how it works in this live demo.
So, what’s covered in this case study
Premise: Is Jenkins successfully practicing what it preaches with its own CI/CD pipeline?
What’s Working: Highlighting their strategic roadmap and active community involvement.
What’s Causing the Delay: Navigating around the shortcomings
Leveraging Strengths: Harnessing their existing successes to address ongoing challenges.
If you’re excited to explore these insights further and connect with fellow engineering leaders, come join us in The Middle Out Community and subscribe to the newsletter for exclusive case studies and more!
Premise: Is Jenkins successfully practicing what it preaches with its own CI/CD pipeline?
Jenkins contributors spend a major chunk of their time pushing new features and fixing bugs which are precisely around 40% and 30% respectively. The sheer incoming of new PRs can be overwhelming for maintainers and contributors if the process is not in place.
Jenkins, however, managed to pull off a stable and above 50 deployments each month from July to September 2024. In July 2024, they carried out 73 deployments followed by a good 111 deployments in August, and around 81 in September.
While their deployment speed was commendable, the cycle time revealed a concerning trend, particularly in July and September 2024. In August, they managed to keep their heads above water with a cycle time of 4.3 days.
What’s the reason behind this not-so-impressive cycle time?
Also read: How to leverage Dora Metrics to optimize your CI/CD pipeline?
First Response Time: The Elephant in the Room
Initially, the first response time was delayed, taking an average of 4.6 days in July. However, this improved to just 14.4 hours in August, before rising again to 2.8 days. The merge times were similarly lengthy, clocking in at 35.7 hours in July, 3.6 days in August, and then increasing to a whopping 10.2 days in September.
Jenkins must prioritize addressing their first response and merge times.
Jenkins should automate its processes to create a more agile workflow.
For instance, Automated notifications can instantly alert reviewers about new pull requests (PRs).
Automated Triage can categorize and prioritize PRs, ensuring critical ones are reviewed faster,
Automatic merges of PRs after approvals can remove manual steps and avoid bottlenecks.
Also read: Top 22 Software Engineering Metrics + How to Track Them in 2025
What’s Working: Highlighting their strong suit and active community involvement
Source: Jenkins
Automated CI/CD Pipelines: Automation is at the heart of Jenkins’ operational success. By leveraging tools like Jenkinsfiles and GitHub workflows, Jenkins effectively streamlines its deployment processes. This automation not only minimizes manual intervention but also ensures that deployments occur swiftly and regularly.
Collaborative PR Reviews: Collaboration is another pillar of Jenkins' success. The active participation of key contributors such as basil, timja, daniel-beck, and MarkEWaite in reviewing pull requests (PRs) creates a dynamic environment where changes are evaluated quickly and efficiently. PRs like #9541, #9572, and #9574 illustrate how these collaborative reviews expedite the merging process, reducing bottlenecks that can slow down development.
What’s Causing the Delay?
1. Sheer Volume of Contributions: One of the primary factors contributing to the delays in the Jenkins repository is the overwhelming number of incoming pull requests (PRs).
As an open-source project with a vibrant community, Jenkins attracts numerous contributions daily, each requiring careful consideration and review.
Even with a dedicated team of maintainers, the volume can become daunting, leading to potential bottlenecks in the review process.
2. Voluntary Contributors: Another significant factor affecting response times is that many of Jenkins' contributors, including notable figures like daniel-beck and MarkEWaite, are volunteers who dedicate their time outside of their regular jobs. While their expertise and enthusiasm are invaluable to the project, the voluntary nature of their contributions means that they often juggle multiple responsibilities.
Understanding this context is crucial for recognizing the challenges that come with maintaining an active open-source project.
It also highlights the need for Jenkins to consider strategies that could alleviate pressure on its volunteer contributors, such as implementing better triage systems or encouraging more community involvement in the review process.
Working on their Strengths to Tackle the Delays
Custom Workflows: Jenkins has a vast ecosystem of over 1,500 plugins, allowing it to integrate with numerous tools and services, from version control systems to cloud platforms.
The ability to add specific plugins tailored to project needs means they can create custom workflows that suit their unique development processes.
For instance, by integrating plugins for automated testing (like JUnit or Selenium), Jenkins can automatically run tests on each PR. This reduces the time spent manually testing changes and helps catch issues earlier in the cycle, allowing for faster feedback to contributors.
Mentoring for Contributors: One great way to lighten the load on their volunteer contributors is to set up a mentoring program. Jenkins already has active mentoring programs in place such as Google Summer of Code (GSoC) and the Jenkins MAC Student Mentorship Program. You can learn more about their mentoring programs here.
To further enhance these mentoring programs, Jenkins community could consider implementing regular check-ins or workshops where mentors and mentees can share their experiences, challenges, and successes.
Documentation Updates: Right now, Jenkins contributors already dedicate about 20% of their time to documentation, which is a solid start. However, imagine what could happen if that documentation was not only comprehensive but also user-friendly.
For instance, providing detailed examples, FAQs, and step-by-step guides on common processes can help demystify the PR workflow. The following flowchart is an example of one CD scenario easily modeled in Jenkins Pipeline:
When contributors have access to clear instructions on how to submit a PR, review guidelines, and coding standards, they’re more likely to contribute effectively and efficiently. As mentioned above, they already have a pretty good one. You can find it here. They should leverage it better to bring more contributors onboard.
Streamlined Triage Systems: Implementing a better triage system could seriously help manage the influx of PRs.
For instance, critical bug fixes can get flagged for immediate review, while less urgent feature requests can be tackled later. This way, maintainers can focus their efforts where they matter most, ensuring that important contributions don’t get buried.
Boosting Community Involvement: Getting the community more involved in the review process is another solid strategy.
Jenkins can encourage more folks to jump in and help with PR reviews—maybe even throw in some incentives or shout-outs for those who do. It spreads the workload around and makes contributors feel more connected to the project and to each other.
Advocate for Collaborative Reviews: Having multiple reviewers in the mix really helps speed up the review process and keeps things flowing smoothly, so merges happen quicker. By promoting more collaborative reviews, Jenkins can boost how often they deploy. They should their collaborative spirit while working on PRs like PRs #9541 and #9572. They just need to do that more. It’s all about teamwork, and the more hands on deck, the faster things get done!
Also read: Electron Repo Dora Analysis: Unpredictable Metrics, Efficient Deployments
Leaving Thoughts: Jenkins should lead by example
Jenkins is what people from the developing industry fall back on to streamline their software development cycle. So, Jenkins should lead by example. Jenkins can really amp up their engineering pipeline and show everyone how it's done!
If you find these learnings interesting, we’d really encourage you to give a shot at Dora metrics using Middleware Open Source. You could follow this guide to analyze your team or write to our team at productivity@middlewarehq.com with your questions and we’ll be happy to generate a suggestion study for your repo — free!
Also, If you’re excited to explore these insights further and connect with fellow engineering leaders, come join us in The Middle Out Community and subscribe to the newsletter for exclusive case studies and more!
Did You Know?
Jenkins organizes community events like Jenkins World (now known as DevOps World), bringing together users, contributors, and enthusiasts to share knowledge and advancements in CI/CD practices. You can check out their events here.