How to use predictive analytics to optimize software delivery

Predictive analytics first garnered widespread attention in the 2011 baseball movie “Moneyball,” adapted from the popular business book “Moneyball: The Art of Winning an Unfair Game.” Both movie and book tell the story of how Oakland Athletics general manager Billy Beane transformed the entire professional sports industry by using math and statistics to choose players and make decisions.
The current analytics revolution extends well beyond sports into applications as varied as Netflix’s movie recommendations and Google‘s self-driving car. Predictive analytics is also revolutionizing the software testing industry by helping businesses take advantage of DevOps continuous deployment pipelines to reduce the cost, time and risk of software delivery.
The use of predictive analytics helps organizations understand how to take advantage of customer-facing feedback, as well as how to predict and prevent defect trends in future software releases.
DevOps is not just about developing and releasing applications faster. Testing is also an essential part of the practice.
In fact, the term DevTestOps is gaining currency as a way to describe the culture of collaboration among developers, testers and operators needed to speed up the deployment of high-quality software. Predictive analytics help agile software teams effectively combine the two testing approaches found on DevOps projects:
The two testing approaches aren’t mutually exclusive. Depending on the risk-level your organization is willing to shoulder, shifting right and testing in production may be the fastest and most effective way to capture end-user feedback on a particular application. If the deployed software has defects, shift left testing then allows you to deploy your bug fixes that much faster.
In DevOps shift left testing, testing is performed earlier in the software development process, with the goal of increasing quality, shortening long test cycles and reducing the possibility of software defects making their way into production code.
This is often done by shifting integration testing to the left of its usual position in the lifecycle so that it occurs as close as possible to the build process. Since integration testing is where many disruptive, significant defects are often detected, this allows teams to receive feedback on code quality faster, with more accurate results.
Continuous testing is a big part of shift left testing, which involves automating manual tests and running those tests as early and often as possible, many times using virtualized components and environments. Test automation is important in a DevOps pipeline since manual testing is a time-consuming and labor-intensive process.
Predictive analytics helps teams determine which of the hundreds or even thousands of tests that need to be run against an application in the pipeline can be automated.

