Businesses should optimize their software delivery pipelines – today
December 5, 2021 937 words 5 minutes to read
The benefits of implementing efficient software delivery workflows are undeniable. Any team that doesn’t already have an optimized software delivery process should start making steps toward changes as soon as possible.
A well-designed and well-implemented software delivery pipeline can facilitate, enforce, and automate exceptional results across a wide range of software development and delivery areas.
Code and Coding:
- code quality
- SCM flows
- dead and legacy code handling
- networking dynamics
- application tiering
- shared vs. isolated environments
- 3rd party modules, frameworks, and libraries
- deployment automation
- automated test coverage
Troubleshooting, Standards, & Documentation:
- coding standards
- code review
- troubleshooting processes
- code commenting
- error handling
- new hire contributions
- code reviewers and codebase owners
According to the DevOps Research and Assessment (DORA) team, high-performing businesses have progressively become better at implementing and fine-tuning their software delivery processes. Potentially, this means that companies that continue to neglect their software delivery approach will hopelessly lag behind their peers.
In the best case, these businesses will lose competitiveness and need to invest a lot of effort to restore their appeal on the market. In the worst case, they will be unable to stay relevant and will be thrown out of the industry. Pitfalls and challenges arise in maintaining software consistency, architectural conformance, and software delivery processes.
An example of the challenges associated with software delivery processes
Software development and delivery is a competitive advantage for many modern organizations. Because software must be delivered ever faster while preserving the quality and stability of the systems, one set of technical practices has evolved to meet this need – Continuous Delivery (CD).
CD typically encompasses a limited volume of key processes (Forsgren & Humble, 2016):
- Automated Unit Testing (rapid feedback)
- Continuous Integration (comprehensive automated acceptance testing, manual exploratory testing, and performance tests)
- Deployment Automation (remove the need for stabilization and hardening phases)
- Version Control (small updates or changes)
The DevOps movement suggests that a culture of close collaboration between functional silos must be embraced to implement CD effectively. Evidence indicates that higher-quality software, lower risk releases, and happier teams are the outcomes (Brown, 2012).
Bossert, et al., (2015) analyzed the critical impact that DevOps has demonstrated on software delivery. Figure 1 illustrates the value proposition of the findings.
2021 Accelerate State of DevOps Report
According to the DORA team’s 2021 Accelerate State of DevOps Report, high-performing teams have considerably raised the bar for software delivery in 2021. Compared to low performers, elite performers had:
- 973 times more frequent code deployments. Normalized annual deployment figures ranged from 1.5 in low performers to 1,460 deploys in elite performers.
- 6570 times faster lead time from commit to deploy. On average, elite performers had a lead time of one hour in 2021, while low performers had lead times of 6,570 hours.
- 3 times lower change failure rate. On average, elite performers reported a 7.5% change failure rate, while low performers reported a 23% failure rate.
- 6570 times faster time to recover from incidents. The DORA team states that elite performers reported time to restore service of less than one hour, whereas low performers reported greater than six months.
The gap between elite and low performers is immense (Table 1). This gap has overall increased significantly compared to 2018 and 2019:
|Deployment frequency||46x higher||208x higher||973x higher|
|Lead time for changes||2,555x faster||106x faster||6,570x faster|
|Time to recover||2,604x faster||2,604x faster||6,570x faster|
|Change failure rate||7x lower||7x lower||3x lower|
Table 1: Software delivery performance metrics, the gap between elite and low performers
By combining improved performance in elite performers and degradation in some areas for low performers, the differences between the strongest and weakest performers have drastically increased in 2021.
What’s more, the percentage of elite performers has increased from 7% in 2018 to 20% in 2019 and 26% in 2021. The share of low performers, in contrast, has decreased – from 15% in 2018 to 12% in 2019 and 7% in 2021.
This means that businesses are becoming better at managing their software projects. Considerably more elite and high performers exist now than medium and low performers, meaning that most companies already have good software delivery workflows.
We can’t tell what the situation will be like in 2022 and beyond, but given the trends of previous years, the share of high-performing businesses will most likely increase even more. Therefore, it’s essential for teams that are hanging around the bottom to start making changes to move up tiers and stay competitive in the turbulent software market. For teams who wish to be better informed, we suggest reading the 2 case studies in Bossert, et al., (2015):
- Agile-at-Scale Adoption at Danske Bank.
- Global Software Product Delivery at IBM Rational.
These case studies illustrate critical metrics and lessons learned in transforming software delivery processes.
Bossert, O., Ip, C., & Starikova, I. (2015). Beyond agile: Reorganizing IT for faster software delivery. McKinsey & Company.
Brown, A. W. (2012). Enterprise software delivery: bringing agility and efficiency to the global software supply chain. Addison-Wesley.
Forsgren, N., & Humble, J. (2016). The role of continuous delivery in IT and organizational performance. In the Proceedings of the Western Decision Sciences Institute (WDSI).
Google Cloud. (2021). Accelerate State of DevOps 2021.
Motingoe, M., & Langerman, J. J. (2019, July). New Organisational Models That Break Silos in Organisations to Enable Software Delivery Flow. In 2019 International Conference on System Science and Engineering (ICSSE) (pp. 341-348). IEEE.