Why you need to practice CI/CD to stay competitive, how it works, and how you can implement it now
Amazon claims to release software updates every 11.6 seconds. Facebook says it rebuilds apps up to 60,000 times a day. The key to such rapid release cycles is continuous integration and continuous delivery, or CI/CD. And while organizations of all sizes now accept CI/CD as an important part of DevOps, many still ask whether it’s really necessary, and, if so, what it takes to implement properly for best results.
Short answer to the necessity question: Yes. And while addressing implementation is more nuanced, many find the answer to be along the lines of “mysterious but attainable,” especially with the right guidance. Guidance that includes best practices for leveraging the build, integration, and QA automation at the heart of CI/CD.
The Functionality Imperative
Salesforce survey found that 57% of customers have reported shifting their loyalty to companies that react more quickly to their needs.
Tech influences customer experience in just about every industry. Research from McKinsey & Company found that ever-more-demanding customers are behind the push to expand and improve software development. In other words, if companies want to meet customers’ expectations, their apps better deliver real benefits in as close to real time as possible to match the evolving needs of end users.
Simple cosmetic fixes or unstable code that doesn’t deliver the goods won’t cut it. Someone else will deliver if you can’t. And quarterly updates to software, no matter how good, can’t keep pace. “You’re going to have to patch it or adapt it for some real – world uses that you haven’t considered,” points out Dan Nichols, VP of Technology at Mutual Mobile. “Your competitors are moving more quickly than that,” he says of quarterly releases, “because your customers are nimble enough to move away from your product or find an alternative in that amount of time.”
To be competitive, you need to release apps and other software to users rapidly and with confidence. The combination of CI/CD and QA automation allows you to do this by ensuring that new code gets thoroughly tested as it’s integrated into updates that are then delivered to users as quickly as possible.
Forrester Research survey that they were likely to consider automation in quality assurance a “critical business differentiator” at almost twice the rate of DevOps laggards, as defined by the survey.
The quality of testing tools available makes the move to automation not just a critical step on the path to CI/CD, but also an achievable one. Cloud testing services, for example, allow QA engineers to run automated tests on almost any phone, tablet, or browser, quickly pinpointing design and functional issues.
That said, automation can’t replace manual QA testing for experiences that require subjective evaluation. Automation often doesn’t capture the full story with graphics-heavy apps, for example, or games. That’s why the most effective engineering teams make judicious use of both automated and manual QA testing.