Artificial intelligence set to jazz up software development and deployment

As IT managers take the lead with AI, they will find their own departments being the greatest beneficiaries -- from software ideation to maintenance.

Artificial intelligence and machine learning has the potential to boost many, many areas of the enterprise. As explored in my recent post, it is capable of accelerating and adding intelligence to supply chain management, human resources, sales, marketing and finance. Oh, and one more area, by the way -- IT management. 

The inevitable impact of AI on IT departments was touched on in a recent survey of 2,280 business leaders from MIT Sloan Management Review and SAS, which finds that in these early days of AI, IT professionals will be feeling the greatest impact -- both from a career and an operational point of view..  

clouds-over-chicago-cropped2-nov-2015-photo-by-joe-mckendrick.jpg

Photo: Joe McKendrick

CIOs, chief data officers, and chief analytics officers will be on the front lines of AI implementations, the study finds. IT road maps, software development, deployment processes, and data environments are likely to be transformed in the near future.  

Most IT managers report that they are still developing foundational capabilities for AI -- cloud or data center infrastructure, cybersecurity, data management, development processes and workflow. 

Cloud services in particular are a critical piece of the AI puzzle, according to Eric Monteiro, senior vice president and chief client experience officer at Sun Life, quoted in the report. "Paying for on-demand cloud computing resources is more cost-effective than buying and operating the computing infrastructure required by AI. It also offers more flexibility to serve different business units according to their individual needs and to access the latest technologies."

A majority of IT managers, 61 percent, report that AI is dramatically changing software development and deployment processes, and 57 percent expect it to similarly influence software deployment processes. Those who have already implemented AI are more likely to report a strong impact on both software development and deployment.

"The deployment process is dynamic, requiring continuous monitoring and retraining," the study's authors relate. "Managing these systems requires ongoing management of the predictive AI and machine learning models a company develops, not just before but also after they have been deployed. It means being ready to make improvements and corrections to these models

What parts of the software development and deployment world can be reshaped by AI? Many of the tasks associated with software development lifecycles are ripe for the AI picking, as so thoroughly documented in a separate post by Sharath Satish of ThoughtWorks::  

  • Ideation: AI can be employed to "analyze usage data to find anomalies/unexpected behavior"
  • Prototyping: "Low/no-code tools to create clickable prototypes from hand-drawn sketches"
  • Validation: "Leverage past usage data to test new designs/ideas"
  • Development: "Automate code refactoring and generation"
  • Requirements Breakdown: "Generate positive and negative acceptance criteria based on past requirements"
  • Testing: "Automating test creation and maintenance"
  • Deploy: "Ensure zero-impact deployments by predicting right time to deploy and rate of rollout."
  • Monitoring: "Use telemetry data to predict hardware/system failure"
  • Maintenance: "Automate identification and removal of unused features"

This is just a high-level overview of the task areas where AI can make the jobs of IT managers easier and more productive. Take a closer look at the front end of the process, software ideation, for example. At an e-commerce website. "People analyze data to find where users drop-off during an ordering funnel and come up with ideas to improve conversion," Satish says. "In the future, we could have machines that blend usage analytics with performance data to derive if slow transactions are the cause for drop-offs. Additionally, these machines could also identify faulty code that when fixed, will improve performance."  

Speaking of maintenance, AI can help reduce the amount of time, money and energy spent on managing redundant features, Satish adds. "Identification of these redundancies is a complex, error-prone process because people have to correlate data with multiple sources. Allowing AI tools to take up this role of connecting and referencing data across sources will automate marking of unessential features and associated code."

AI will not only boost developer and operational productivity, but will also foster greater attention to the data that flows through organizations, the MIT study finds. Organizations leading in AI are more cognizant about the care of data assets, with 74 percent having formal data governance efforts, compared to 46 percent overall. "The folks who design applications in IT, they don't just think about applications now; they also think about the data," says Sun Life's Monteiro. "They now see that the applications they're creating or designing create data that's going to be used later in the process. This just wasn't true 10 years ago. Choices about aspects of AI such as computing architecture, how the data will flow in a particular application, how the new AI system will change business processes in various parts of the company, how people will interact with the systems through user interfaces, and more are now part of early-stage talks."