[DZone Research] CI/CD and DevOps

DZone 's Guide to

[DZone Research] CI/CD and DevOps

We take a look at the trends surrounding Continuous Integration and Continuous Delivery in the world of DevOps-based development.

· DevOps Zone ·
Free Resource

This article is part of the Key Research Findings from the 2019 DZone Guide to DevOps: Implementing Cultural Change.


CI/CD is at the core of DevOps, and both CI and CD constitute two of the most important processes in any DevOps pipeline. When we asked respondents if they believe their organization has achieved continuous integration, 31% said yes, 33% told us on some projects, and 37% said no. When we asked the same question about continuous delivery, only 14% of respondents said yes (down from 19% in 2018), 28% said on some projects, and 58% said no (up from 50% in 2018). Based on these numbers, it appears that approximately two-thirds of respondents feel their organization has achieved a level of comfort with CI processes, but less than half can say the same for CD.

The Split Between CI and CD

This disproportionate comfort level between CI and CD came through when we asked survey-takers if their CI processes extend into an automated CD pipeline. Of those surveyed, 58% said no. When looking into the pain points of the continuous delivery pipeline that could be behind this disconnect, we find that 51% of respondents report environment configuration set up to be an issue and 30% report user acceptance testing as a problem (up from 25% in 2019). While these were the two most oft-reported issues, automated testing (28%), coordination of team members and resources (27%), and deployment process in use (24%) also came in as popular answers. It’s interesting to note that all of the issues listed, outside of automated testing, saw a significant percentage swing over 2018’s responses. The number of respondents reporting environment configuration and set-up fell by 4%, the percentage of those reporting the coordination of team members and resources fell by 6%, and those reporting deployment processes fell by 6%. While those are all positive signs, respondents who claimed user acceptance testing to be an issue rose by 5%.

There seem to be a few reasons why so many organizations are struggling with the adoption of continuous delivery. Much like we saw with our discussion of obstacles to DevOps adoption, the main barriers to adopting continuous delivery are more cultural than technological. The main hurdle reported by respondents was corporate culture (47%), specifically a lack of collaboration and/or DevOps practices within an organization. In fact, of the four largest barriers to CD adoption given by respondents, corporate culture was the only one that exhibited a year-over-year increase, with 45% of our 2018 survey respondents telling us culture was an issue. Due to these obstacles, team- and organization-wide adoption of CD practices tends to take anywhere from two months to a year. 26% of respondents told us their team’s adoption of CD processes took two to six months to complete, and 24% said it took their organization six to 12 months to fully adopt continuous delivery. Compounding these issues, nearly half of survey-takers (42%) said their team/organization does not use any metrics to track their CI/CD processes.

Conclusion: The Skill Gap Is Narrowing

It should be noted, however, that it’s not all gloom-and-doom on the CD side of things. The knowledge gap and distance between dev and ops in the CD pipeline are both shrinking. 48% of respondents reported that their ops team is involved in the design of their CD pipeline, up from 43% in 2018. And while 45% of our 2018 respondents said that engineers/ops did not have the right skill sets for working in a CD pipeline, only 36% espoused this belief in this year's survey.

This article is part of the Key Research Findings from the 2019 DZone Guide to DevOps: Implementing Cultural Change.

ci/cd, ci/cd pipeline, devops, devops processes, dzone research

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}