CI/CD — A Purpose Exploring Approach — Part 3 — Why CI/CD Reigns as an Essential Catalyst for Enhanced Performance
In my last two blog articles, CI/CD — A Purpose Exploring Approach — Part 1 and CI/CD — A Purpose Exploring Approach — Part 2, we delved into the world of Continuous Integration (CI) and Continuous Delivery (CD) and uncovered their importance in modern software development practices. The final part of this series dives deep into an exploration of facts and figures surrounding the realm of modern software development and delivery, allowing us to uncover the profound impact of CI/CD on performance.
Part 1 focused on CI, which involves the frequent integration of code changes into a shared repository. We discovered that CI primarily aims to validate code changes early and regularly through automated building, testing, and validation processes. By adopting CI, teams can identify integration issues sooner, improve software quality, and achieve faster development cycles. We discussed how CI is not just about tools but also requires the right behaviors and cultural mindset to foster collaboration, communication, and quality assurance.
In Part 2, we shifted our focus to CD, which encompasses the ability to consistently and reliably release software updates. CD automates the entire software delivery pipeline, including building, testing, and deploying applications. The goals of CD were explored, emphasizing the reduction of release time and effort, ensuring repeatability and reliability, and increasing confidence in software deployments. We also distinguished CD from Continuous Deployment, where every validated change is automatically deployed to production.
Throughout both articles, we recognized the challenges faced in becoming a good CI/CD citizen, such as inconsistent quality assurance, long build times, and organizational barriers. Overcoming these challenges requires combining technical solutions, process improvements, and cultural transformations.
In conclusion, exploring those topics has provided valuable insights into these vital practices. By implementing CI and striving for effective CD, organizations can enhance collaboration, software quality, and development efficiency, ultimately achieving the goal of delivering reliable and timely software products to users.
So far, so good; that sounds all really amazing. Or doesn’t it?
In our field of work, we often encounter an abundance of empty promises from tooling and practices cleverly marketed by vendors. It’s easy to get caught up in the allure of buzzwords, but how do we know these aren’t just elaborate hoaxes designed to sell products or consultants? While the idea of reliable and timely software products is appealing, it’s crucial to approach these concepts with skepticism. Are they genuinely transformative practices, or just empty hype? As professionals, we must question the validity of these claims, seek real-world success stories, and critically evaluate the practical benefits they offer.
Do We Really Need That CI/CD Stuff?!
Some people may ask: “Why should I do all that to myself — I’d rather hack my feature over the week, merge on Friday, and let the QA and Operation teams do the rest.” It’s natural for questions to arise about the necessity of adopting CI/CD practices. After all, implementing and maintaining CI/CD pipelines require additional effort and demands a higher level of discipline from the team to ensure its success.
Whether we should adopt CI/CD practices, science, and data provide a resounding answer: yes! Although we must commit to investments in extra efforts and changing habits, we definitely should consider the adaption of CI/CD practices. The annual publication of the State of DevOps Report serves as a valuable contribution to our industry. The primary goal of this report is to conduct research that examines the capabilities and practices that significantly impact DevOps outcomes. The report provides valuable insights into successful DevOps strategies by analyzing what works and has a measurable positive impact on our work and organizations. Equally important, it highlights what doesn’t work or has a negative effect, helping us identify potential pitfalls and areas for improvement. The State of DevOps Report is a valuable resource, guiding us towards evidence-based practices and enabling us to make informed decisions to enhance our DevOps initiatives.
But wait. Why do we suddenly talk about DevOps? In the book Accelerate
by Nicole Forsgren, Jez Humble, and Gene Kim, the authors state the following:
“Software is transforming and accelerating organizations of all kinds. The practices and capabilities we talk about in this book have emerged from what is now known as the DevOps movement, and they are transforming industries everywhere. DevOps emerged from a small number of organizations facing a wicked problem: how to build secure, resilient, rapidly evolving distributed systems at scale. In order to remain competitive, organizations must learn how to solve these problems. We see that large enterprises with long histories and decades-old technologies also gain significant benefits, such as accelerated delivery and lower costs, through adopting the capabilities we outline in this book.”
Therefore, DevOps practices play a crucial role in addressing the challenges of modern software development and delivery. DevOps teams are at the forefront of actively embracing these practices to drive efficiency and collaboration. While differing opinions may exist on the definition of DevOps teams, let’s, for the sake of simplicity, assume that they are the teams that embrace modern software development practices. By making this assumption, we can focus on the core outcomes of the State of DevOps Report, especially about CI/CD.
State of DevOps Report
About the Data
Before examining the outcomes of the State of DevOps Report 2022, let’s explore the data first. The State of DevOps Report is a comprehensive study conducted over eight years that involved the participation of over 33 000 industry professionals. Last year, the report received responses from over 1 350 working professionals representing diverse industries worldwide. Their invaluable contributions have significantly enhanced the understanding of the factors contributing to higher performance in software development and DevOps.
Reviewing the report, it is worth noting that representation across demographic and firmographic measures has consistently remained stable. The survey included detailed demographic information encompassing gender, disability, and underrepresented groups. The findings indicate that the representation in these categories aligns with the trends observed in previous reports, adding credibility to the research. Similarly, there has been consistent representation across firmographic categories, including company size, industry, and region. This reliability in the data further reinforces the significance of the report’s findings.
Furthermore, the report highlights that more than 60% of respondents work as engineers or managers, with a significant portion being employed in the technology industry. However, it is worth noting that the study also incorporates perspectives from various sectors, such as financial services, retail, and industrial/manufacturing companies. This diverse industry representation enriches the report’s insights and ensures its applicability across different sectors.
Gender
Compared to the data from 2021, the sample from 2022 exhibited a noticeable increase in the proportion of female respondents, rising from 12% to 18%. Conversely, the balance of male respondents experienced a slight decrease, with 76% compared to the previous year’s 83%. The representation of non-binary respondents remained consistent at 1%. Interestingly, participants reported that women comprise 25% of their teams, mirroring the percentage reported in 2021.
Disabilities
Disability was assessed using six dimensions based on the Washington Group Short Set guidelines. Among the respondents, approximately 7% chose not to disclose their disability status.
Underrepresented
When considering underrepresentation, it encompasses various aspects such as race, gender, or other defining characteristics. The percentage of individuals identifying as part of underrepresented groups is currently at 19%. However, it’s worth noting that 10% of respondents preferred to keep their underrepresented status private, highlighting the complexity of this topic.
Years of Experience
The following graphic shows the percentage of years of experience and how the data changed compared to 2021. Interestingly, it shifted toward a Gaussian-like distribution.
Role & Industry
Next, you will find the distribution of roles and industries. We see that 85% of the respondents work as engineers. Further, most of the participants are working in the technology sector; however, many industries are represented.
Region & Number of Employees
The following two graphics show the distribution of participants over regions and organization sizes. Half of the contributors are from the US or India; nevertheless, they gathered data from all over the world. Unfortunately, Africa and South America are strongly underrepresented, and China is missing completely. We also see that participants come from organizations of different sizes; however, only 5% are from companies with less than 20 employees.
The data presented in the report provides evidence that the participants encompass a diverse range of companies beyond well-known giants such as Google, Amazon, Netflix, and many others. The varying proportions of respondents from different industry sectors and company sizes indicate this diversity. The findings suggest that the study includes a broad representation of organizations, demonstrating that insights and perspectives have been gathered from a wide array of large and small companies. This diverse participation strengthens the validity and relevance of the report’s findings, reflecting the experiences and practices of professionals beyond the prominent industry players.
What do They Measure Exactly?
Organizational Performance
In the report, they capture organizational performance, which is described and measured by three key factors: profitability, market share, and productivity. Profitability represents an organization’s financial success, indicating its ability to generate revenue and achieve sustainable growth. Market share refers to the portion of the market that a company captures, reflecting its competitive position and ability to attract and retain customers. Finally, productivity measures the efficiency and effectiveness of an organization’s operations, assessing its ability to utilize resources optimally and deliver high-quality products or services.
Non-commercial Performance
In addition to the commercial performance, which had been described as organizational performance, they measure non-commercial performance. They evaluated non-commercial performance through two essential indicators: burnout rate and the likelihood of employees recommending their teams. Burnout rate reflects the level of stress and exhaustion experienced by employees within an organization, indicating the potential impact on their well-being and overall performance. A lower burnout rate suggests a healthier work environment and better mental and physical support for employees. Additionally, the likelihood of employees recommending their teams serves as a measure of their satisfaction and engagement. When employees are highly likely to recommend their teams, it signifies a positive work culture, strong teamwork, and a sense of fulfillment.
Software Delivery Performance & Operational Performance
Four key metrics are used to assess both throughput and stability in evaluating software delivery performance. Throughput is measured by analyzing the lead time for code changes, which refers to the time taken from code commit to release in production and deployment frequency. On the other hand, stability is evaluated by measuring two metrics: time to restore service after an incident and change failure rate. Additionally, a fifth metric focuses on operational performance, encompassing modern operational practices. Operational performance is determined by the reliability of services in meeting user expectations, including factors such as availability and performance.
Outcomes of the Report
After exploring the performance metrics, we look at some of the report’s outcomes, significantly how CI/CD will impact software delivery performance.
Connection of Performance Metrics
Through extensive research and analysis, the research team discovered a compelling correlation between software delivery and operational performance and the broader aspects of organizational and non-commercial performance. The findings revealed that organizations with higher levels of software delivery and operational performance tended to demonstrate superior overall organizational performance. This encompassed various metrics such as financial success, market share, and productivity, indicating a strong link between efficient software delivery practices, reliable operational practices, and organizational excellence. Additionally, the research team observed a positive association between software delivery and operational performance and non-commercial performance indicators, including employee satisfaction, well-being, and team recommendations. These correlations highlight the critical role of effective software delivery and operational practices in driving organizational success across commercial and non-commercial dimensions, emphasizing the need for a holistic approach to performance improvement.
Performance Cluster
The research team employed a clustering approach to categorize the participants’ data in their analysis. Despite using various indices to determine the optimal cluster solution, the results consistently indicated that three clusters effectively captured the data, regardless of the specific clustering techniques employed. The table below outlines the delivery performance characteristics of each cluster of low, medium, and high performers concerning organizational and non-commercial performance.
How Does CI/CD Impact Performance?
The findings revealed that high-performing teams who consistently meet reliability targets strongly favor embracing key software development practices. Specifically, they are 39% more likely to adopt CI. Moreover, these high performers are 46% more likely to practice CD. The data highlights the significant correlation between high performance, reliability, and implementing these progressive software development approaches.
Another interesting quote from the report also underlines the importance of CI/CD:
“The capabilities that contribute most to high performance are version control, continuous integration, continuous delivery, and loosely coupled architecture. In fact, respondents who make higher-than-average use of all of the above capabilities have 3.8x higher organizational performance than those who do not use these technical capabilities. “
The remarkable achievement of attaining 3.8 times higher organizational performance is impressive. This success can be attributed to key capabilities such as CI and CD.
The 2018 report provided a confirmation of the positive outcomes associated with CD. For the first time, the research validated that CD significantly contributes to reductions in deployment pain and burnout. This finding is outstanding, as it highlights the profound impact that CD can have on the well-being of individuals involved in software development and delivery. By embracing CD practices, organizations can alleviate the burdens and challenges typically associated with deployments, leading to improved work experiences and enhanced overall well-being for their teams. This underscores the importance of incorporating CD as a fundamental aspect of the software development process.
Conclusion
In this blog post, we have explored the fascinating realm of Continuous Integration and Continuous Delivery and delved into its significance in modern software development practices. Throughout our discussion, we learned that CI/CD is not just a buzzword but a powerful approach that can revolutionize how organizations deliver software. Moreover, we have discovered the critical role of CI/CD in driving organizational and non-commercial performance and its correlation with software delivery and operational performance. The insights gained from the State of DevOps Report have provided us with a deeper understanding of the impact of CI/CD on reliability, productivity, and overall success. Ultimately, the evidence points to the undeniable benefits of adopting CI/CD practices, including increased efficiency, reduced burnout, and improved organizational outcomes. By embracing CI/CD, organizations can pave the way for accelerated software delivery and, ultimately, thrive in the ever-evolving landscape of software development.
Based on the insights gained from our discussion, I highly recommend that every organization evaluates and seriously considers implementing CI/CD practices. The benefits of streamlined software delivery, improved reliability, and enhanced team collaboration are too valuable to overlook. Furthermore, it is crucial to continuously improve the CI/CD processes to stay ahead in the dynamic landscape of software development.
It’s Time to Shape Your Process
At &, we have extensive experience in assisting teams in setting up and enhancing their CI/CD pipelines and shaping their processes to achieve optimal results. If you want to exchange ideas or seek guidance, please don’t hesitate to reach out. Together, we can embark on the journey of optimizing software delivery and driving organizational success.