Contributed by Steve Fenton, Octopus Deploy
The fifth State of CI/CD report from the Continuous Delivery Foundation has arrived. As always, it’s a fascinating insight into the evolving state of software development. This article explores one of the charts from the latest report, download the full report to learn more.
The State of Continuous Delivery
The State of Continuous Integration & Continuous Delivery Report is commissioned by the CD Foundation and authored by SlashData. The report looks at the current state of the CD developer ecosystem and tracks changes over time. One of the areas tracked in the report is the adoption of DevOps tools, such as source control management, CI/CD tools, or artifact repositories.
This year’s report contains insights on:
- Popularity of DevOps, Continuous Integration, and Continuous Delivery
- The most widely used tools and technologies
- How software teams are performing
- The patterns associated with high and low performance
In this article, we’re looking in depth at the relationship between DevOps technologies and development experience.
Experienced Developers Use More Tools
For almost all DevOps tools, adoption increases in line with a developer’s years of experience. Each tool is used more by developers who have accumulated years of practice, and an experienced developer is likely to use more tools overall.
The increase in adoption isn’t evenly distributed. There are some tool categories that increase at a great rate. Tools related to work management, CI/CD pipelines, and test automation/management have the highest uptake both at the 11+ year mark and the 16+ year mark.
This may be related to the likelihood of a developer’s role changing and expanding as they take on more senior roles. These developers are also more likely to influence the tooling choices, so they will be encouraging organizations to adopt tools that solve their problems.
Just as you wipe down kitchen surfaces before you clean the floor to avoid ruining your hard work, putting DevOps tools in place also has a natural order. When you join a team who aren’t using appropriate tools, there are basics like version control that you would put in place with haste. It’s likely you’d introduce some system of work item management to ensure the team is working on the right thing. You’d then automate builds, tests, and deployments. After this, you’d add monitoring and observability.
It’s possible to do this in a different order, but this common path works because it takes the team on a journey.
Each of these tools comes with a requirement for new skills, so developers earlier in their career are more likely to specialize. They may take on responsibility for builds, but not other forms of automation. When they’ve reached an expert level on builds, they’re more likely to be looking to expand to other automation tools, and then new tool areas.
The full report also mentions that there’s a strong correlation between the number of DevOps technologies used by developers and their likelihood of being a top performer across all three performance metrics tracked.
Experienced Developers Value Different Kinds Of Tools
While the most popular tool category for newer developers is AI assistants, adoption rates remain similar across all experience levels. CI/CD adoption is low for developers with less than a year of experience, but this increases dramatically for those who have been in software development longer.
Once developers reach 3-5 years of experience, the emphasis shifts towards CI/CD, source control, test tools, and work management. In general, developers learn to reduce toil by automating their deployment pipeline and creating a mechanism that drives healthy discussions around the work.
When we look back on our own career path, we tend to trivialize the learning required to integrate a new tool or technique. It can sometimes take several years to fully embed a technical skill. Think back to when you wrote your first unit test compared to how you think about test automation today. How long did it take to build this level of understanding?
You can further understand the tools experienced developers value by looking at the difference in uptake between new developers and those with the most experience across the different categories.
The tools that had the biggest uptake with experience are:
- Source control (+51)
- Issue tracking (+39)
- CI/CD (+38)
The tools that had the lowest update with experience are:
- GitOps (0)
- AI-assisted coding (+5)
- Cloud-based development environments (+6)
- Application security testing (+6)
The Outliers
There are two DevOps tools with a different profile to the common pattern: GitOps and cloud-based development environments.
We can only speculate, but these both emerged in 2017 and began to trend in 2022. More experienced developers had worked for a decade or more before these tools hit the mainstream. They may have developed strong habits that make these tools less appealing or less relevant to their workloads, or they may be working on heritage applications where these tools aren’t an option.
As experienced developers change roles and need to solve new problems, they may see value in adopting these tools at a greater rate. GitOps is expected to grow alongside containers and Kubernetes, and cloud-based development environments are growing in popularity in general.
A Note On Assumptions
The matrix is a snapshot, so experience isn’t the only explanation for DevOps tool adoption. The two outliers demonstrate this by providing examples of tools that didn’t exist when the more experienced developers began their careers.
The state of the industry at the time a developer joined might also impact the motivation to adopt these tools. More experienced developers witnessed how software was created before The Agile Manifesto was written. This provided opportunities to see first-hand how things were before, which increased their motivation to work differently.
People often believe that older people in the workforce may become stuck in their habits. However, many of the practices of modern software engineering are strongly represented in the most experienced groups, which suggests this isn’t such a big factor.
To understand CI/CD usage, I’ve looked at both self-hosted and managed CI/CD categories. There may be some overlap where developers use a mix of self-hosted and managed services. The State of CI/CD Report points out that using a mix of both is linked to higher software delivery performance.
And There’s More
Many factors influence tool adoption. Experience provides a way to simplify those factors as it represents hard lessons learned, role changes, and a preference for what has proven to work for a developer.
There’s lots more to discover in the 2024 State of CI/CD Report.
You can find all previous State of CD Reports here.