In May 2021, DZone surveyed 700 software developers, architects, site reliability engineers, platform engineers, and other IT professionals to better understand how the way software is built relates to the way software is delivered. The main focus centered on topics near and dear to our hearts: continuous integration, continuous delivery (CI/CD), and release automation.
The CI/CD Trend Report published key findings from DZone’s Research team, as well as an assortment of articles that expand upon the functions of automation, security, Git repository workflow automation and building CI/CD pipelines – among others.
Want a quick synopsis of the key takeaways? Check out our list below and learn more:
DevOps Is Hard and Getting Harder
Despite the clear benefits, the journey to a well-established CI/CD pipeline has historically been a painful one defined by a miscellany of tools; hand-coded, custom scripts; and keen expertise. Depending on the complexity of the technology stack, engineering and workplace culture, and training of individuals responsible, full CI/CD has remained aspirational for most organizations.
A cursory glance at the current state of software development today would suggest that CI/CD is likely more difficult to achieve than ever.
Moving From Manual Pipelines To Declarative
Moving from deployment pipelines with many manual steps (minimally mature pipelines) to medium, then maximum makes the best balance of human and automated steps in pipelines is a key trend [Page 4].
The promised CD-microservices correlation is apparently fulfilled. 83.7% of respondents who rated their organization’s continuousness at 75-100% reported using microservices vs. only 55.7% of respondents who rated their organization’s continuousness at 0-25%. Nearly three-quarters of respondents (71.2%) reported that adopting a microservice architecture results in “higher feature velocity.” In respondents’ judgment, microservices strongly deliver on their promise to increase feature velocity.
Correlation Between Release Frequency and Technical Debt
Perceived feature velocity does not directly correlate with perceived technical debt. Organizations that release features “too quickly” and “too slowly” both carry “too much” technical debt by a significant margin. This means that developers evaluate feature velocity and technical debt consistently, which suggests that it is worth paying attention to developers’ judgment of feature velocity and technical debt.
Rather, very strongly, optimal feature velocity correlates with optimal technical debt. Respondents whose organizations carry “optimal” technical debt are two-and-a-half times as likely to judge that features are released at the “optimal” rate (66.5%) vs. those whose organizations carry “too much” technical debt (24.9%).
Correlation Between Perceived Continuousness of Delivery and Incidents/Rollbacks and Code Quality
Perceived continuousness of delivery correlates negatively with incident/rollback frequency. An amount of 65.7% of respondents who rated their organization’s continuousness between 75-100% of the maximum reported that deployments “rarely” result in incidents or rollbacks vs. 52.2% of respondents who rate continuousness between 50-75% and 44.7% of those who rate continuousness between 25-50%.
Rated continuousness of delivery correlates positively with perceived code quality of release: 12.5% of respondents who rated their organization’s continuousness of delivery between 75-100% reported that their code is released in a state that is “as good as I can make it even after seeing it in production” vs. 28.4% of those who reported continuousness ratings between 25-50%.
Similarly, rated continuousness above 50% correlates with significantly higher “as good as I can make it without seeing it in production” responses. And the released code quality judgment, “needs a lot of work,” is by far most common among those who rated their organization’s continuousness in the lowest quarter (31.3% vs. 22.1% among those who rated continuousness 25-50%).
One overarching theme that addresses the trends above is the need for orchestration. After all, how can any engineering team or organization properly blend all the critical elements of CI/CD practices together without the critical functions that continuous orchestration provides to the business?
Perhaps Jon Collins, research director at GigaOM, said it best: “As software-based innovation advances beyond a focus on speed, CI/CD pipelines also need to evolve to address complexity and offer greater governance and reporting. Faced with existing tool sprawl and challenges from adopting distributed applications and microservices architectures, the need for better orchestration that addresses both tool choice and automation will only increase, enable and enhance value delivery.”
Here Are Key Considerations To Keep In Mind as You Read the CI/CD Trends Report
- How can we empower teams to choose any CI/CD tool and deploy integrated toolchains in minutes (not hours or days) without getting locked in? Eliminating the need for manual scripts and removing the need to build toolchain automation can free engineering teams to focus on delivering value to the core business.
- What are the best approaches to pipeline workflows? Yes, CI/CD pipeline tools and practices are important, but the work of building, maintaining, and analyzing the pipelines is even more important today. Enabling a declarative pipeline model so engineering teams can focus on what is required — not how it’s accomplished — must be commonplace for software builds, security scans, unit testing, deployments, and more.
- Why isn’t there a greater need to create end-to-end visibility across CI/CD ecosystems? Being able to view CI/CD processes from a unified view, including Lead Time, Change Failure Rate, Deployment Frequency, and Time to Restore provides the immediate context for faster resolution and improved auditing and compliance.
Development teams should be empowered to use the tools they want. IT operations teams can gain improved efficiency through modernization, and business leaders must be afforded unparalleled visibility into the process. As DevOps transformation is more crucial than ever, we are helping companies along the way adjust to distributed teams and accelerate their efforts toward cloud-native and hybrid infrastructures.