- Startups offering AI-powered software development tools raised $704M over 12 months ending September 2019, according to a Deloitte report published earlier this year.
- IDC predicts the global market for custom application development services is forecast to grow from $47B in 2018 to more than $61B in 2023, attaining a 5.3% Compound Annual Growth Rate (CAGR) in five years.
- Poor software quality cost US organizations an estimated $319B in 2019, according to the Consortium for IT Software Quality’s report on the cost of poor quality software in the U.S.
- 40% of DevOps teams will be using application and infrastructure monitoring apps that have integrated artificial intelligence for IT operations (AIOps) platforms by 2023, according to Gartner.
Looking to reduce the delays DevOps teams are challenged with, software development tool providers are accelerating the pace of integrating AI- and Machine Learning technologies into their apps and platforms. Accelerating every phase of the Software Development Lifecycle (SDLC) while increasing software quality is the goal. And the good news is use cases are showing those goals are being accomplished, taking DevOps to a new level of accuracy, quality, and reliability.
What’s particularly fascinating about the ten ways AI is accelerating DevOps is how effective it is proving to be in assisting developers with the difficult, time-consuming tasks that take away from coding. One of the most time-consuming tasks is managing the many iterations and versions of requirements documents. A leader in using AI to streamline every phase of the SDLC and assist with managing requirements is Jira Software from Atlassian, widely considered the industry standard in this area of DevOps.
The following are ten ways AI is accelerating DevOps today:
- Improving DevOps productivity by relying on AL and ML to autosuggest code segments or snippets in real-time to accelerate development. DevOps teams interviewed for this article from several leading enterprise software companies competing in CRM, Supply Chain Management, and social media markets say this use case of AI is the most productive and has generated the greatest gains in accuracy. Initial efforts at using AI to autocomplete code were hit or miss, according to a DevOps lead at a leading CRM provider. She credits DevOps’ development tools providers’ use of supervised machine learning algorithms with improving how quickly models learn and respond to code requests. Reflecting what the DevOps teams interviewed for this article prioritized as the most valuable AI development in DevOps, Microsoft’s Visual Studio Intellicode has over 6 million installs as of today.
- Streamlining Requirements Management using AI is proving effective at improving the accuracy and quality of requirements documents capturing what users need in the next generation of an app or platform. AI is delivering solid results streamlining every phase of creating, editing, validating, testing, and managing requirements documents. DevOps team members are using AI- and ML-based requirements management platforms to save time so they can get back to coding and creating software products often on tight deadlines. Getting requirements right the first time helps keep an entire project on the critical path of its project plan. Seeing an opportunity to build a business case of keeping projects on schedule, AI-powered software development tools providers are quickly developing and launching new apps in their area. It’s fascinating to watch how quickly Natural Language Processing techniques are being adopted into this area of DevOps tools. Enterprises using AI-based tools have been able to reduce requirements review times by over 50%.
- AI is proving effective at bug detection and auto-suggestions for improving code. At Facebook, a bug detection tool predicts defects and suggests remedies that are proving correct 80% of the time with AI tools learning to fix bugs automatically. Semmle CodeQL is considered the leading AI-based DevOps tool in this area. DevOps teams using CodeQL can track down vulnerabilities in code and also find logical variants in their entire codebase. Microsoft uses Semmle for vulnerability hunting. Security researchers in Microsoft’s security response team use Semmle QL to find variants of critical problems, allowing them to identify and respond to serious code problems and prevent incidents.
- AI is assisting in prioritizing security testing results and triaging vulnerabilities. Interested in learning more about how ML can find code vulnerability in real-time, I spoke with Maty Siman, CTO Checkmarx, says that “even organizations with the most mature SDLCs often run into issues with prioritizing and triaging vulnerabilities. ML algorithms that focus on developers’ or AppSec teams’ attention on true positives and vulnerable components that pose a threat are key to navigating this challenge.” Maty also says that ML algorithms can be taught to understand that one type of vulnerability vs. another has a higher percentage of being a true positive. With this automated “vetting” process in place, teams can optimize and accelerate their remediation efforts in a much more informed manner.
- Improving software quality assurance by auto-generating and auto-running test cases based on the unique attributes of a given code base is another area where AI is saving DevOps teams valuable time. This is invaluable for stress-testing new apps and platforms across a wide variety of use cases. Creating and revising test cases is a unique skill set on any DevOps team, with the developers with this skill often being overwhelmed with test updates. AI-based software development tools are eliminating test coverage overlaps, optimizing existing testing efforts with more predictable testing, and accelerating progress from defect detection to defect prevention. AI-based software development platforms can identify the dependencies across complex and interconnected product modules, improving overall product quality in the process. Improving software quality enhances customer experiences, as well.
- AI is proving adept at troubleshooting defects in complex software apps and platforms after they’ve been released and shipped to customers. Enterprise software companies go to great lengths in their software QA processes to eliminate bugs, logic errors, and unreliable segments of code. Retrofitting releases or, worst case, recalling them is costly and impacts customers’ productivity. AI-based QA tools are proving effective at predicting which areas of an enterprise application will fail before being delivered into complex customer environments. AI is proving effective at root cause analysis, and also has proved effective in accelerating a leading CRM providers’ application delivery and a 72% reduction in time-to-restore in customers’ enterprise environments. Another DevOps team says they are using AI to auto-configure their applications’ settings to optimize performance in customer deployments.
- ML-based code vulnerability detection can spot anomalies reliably and alert DevOps teams in real-time. Maty Siman, CTO Checkmarx told me that, “assuming that your developers are writing quality, secure code, machine learning can set a baseline of “normal activity” and identify and flag anomalies from that baseline.” He continued, saying that “ultimately, we live in an IT and security landscape that’s evolving every minute of every day, requiring systems and tools that learn and adapt at the same, if not a greater, speed. Organizations and developers can’t do it alone and require solutions that improve the accuracy of threat detection to help them prioritize what matters most.” Spotting anomalies quickly and taking action on them is integral to building a business case for AI software-based QA and DevOps tools.
- Advanced DevOps teams are using AI to analyze and find new insights across all development tools, Application Performance Monitoring (APM), Software QA, and release cycle systems. DevOps teams at a leading Supply Chain Management (SCM) enterprise software provider are using AI to analyze why certain projects go so well and deliver excellent code while others get caught in perpetual review and code rewrite cycles. Using supervised machine learning algorithms, they’re able to see patterns and gain insights into their data. Becoming data-driven is quickly becoming part of their DNA, a DevOps lead told me this week on a call.
- Improving traceability within each release cycle to find where gaps in DevOps collaboration and data integration workflows can be improved. AI is enabling DevOps teams to stay more coordinated with each other, especially across remote geographic locations. AI-driven insights are helping to see how shared requirements and specifications can reflect localization, unique customer requirements, and specific performance benchmarks.
- Creating a more integrated DevOps strategy where AI can deliver the most value depends on frameworks that can keep DevOps customer-centric while improving agility and nurturing an analytics-driven DNA to gain insights into operations. DevOps leaders interviewed for this article say integrating security into development cycles reduces bottlenecks that get in the way of staying on schedule. Several went on to say that frameworks capable of integrating Quality Assurance into the DevOps workflows are key. AI’s use cases taken together reflect the potential to revolutionize DevOps. Executing on this promise, however, requires a framework that empowers enterprise DevOps teams to deliver a transcendent customer experience, automate customer transactions, and provide support for automation everywhere. One of the leaders in this area is BMC’s Autonomous Digital Enterprise framework, which helps businesses harness AI/ML capabilities to run and reinvent in a rapidly transforming world. It’s helping enterprises innovate faster than their competitors by enabling the agility, customer centricity, and actionable insights integral to driving data-driven business outcomes.
Accelerating development cycles while ensuring the highest quality code gets produced is a challenge all DevOps teams face. AI is helping to accelerate every phase of DevOps development cycles by anticipating what developers need before they ask for it. Auto suggesting code segments, improving software quality assurance techniques with automated testing, and streamlining requirements management are core areas where AI is delivering value to DevOps today.