Preparing for AI-Augmented Software Engineering
AI-augmented software engineering brings artificial intelligence to activities throughout the software development lifecycle. Here's how to ready your developers to work with this powerful new innovation.
AI-augmented software engineering integrates artificial intelligence technologies into the software development lifecycle, enhancing and automating various tasks with the goal of improving efficiency, accuracy, and productivity. With the support of AI agents and tools, this advanced approach to software engineering promises to accelerate the entire software engineering process.
Over the past several years, we've seen software developers use AI embedded in GitHub Copilot, Anthropic, ChatGPT, and other tools to help write code, says Steve Hall, chief AI officer at technology research and advisory firm ISG. "We're now seeing AI agents with advanced capabilities to help prioritize features and functions, write and test code, implement advanced security code and help deploy code," he explains in an email interview.
Less Effort/Faster Results
AI-augmented software reduces the effort needed to develop software, Hall says. "AI algorithms can be tuned for conditions that allow for more efficient, resilient and secure code." He also notes that ISG research shows a 40% improvement in code quality when AI-augmented software engineering is used.
Brett Smith, distinguished software developer at analytics software firm SAS, says that AI-augmented software engineering has the potential to revolutionize software development. The approach can help developers write better code faster while identifying and fixing vulnerabilities, he explains in an online interview. Its speed can also help organizations detect and respond to security incidents faster. "In short, AI-augmented software engineering has the potential to make software more secure, reliable, and efficient."
AI-augmented approaches will free software engineers to focus on tasks that require critical thinking and creativity, predicts John Robert, deputy director of the software solutions division of the Carnegie Mellon University Software Engineering Institute. "A key potential benefit that excites most enthusiasts of AI-augmented software engineering approaches is efficiency -- the ability to develop more code in less time and lower the barrier to entry for some tasks." Teaming humans and AI will shift the attention of humans to the conceptual tasks that computers aren't good at while reducing human error from tasks where AI can help, he observes in an email interview.
Thanks to recent advances in Generative AI capabilities and the availability of several large language models, generative AI-enabled software engineering is becoming much more pervasive, says Akash Tayal, principal and cloud engineering offering leader with Deloitte Consulting. "Recent GenAI models have proven to be efficient in automating many software engineering tasks while improving accuracy, which is a significant advancement in the field of software engineering," he observes via email.
With the advent of generative AI, we're seeing a seismic change in how AI is impacting software engineering, says Srini Iragavarapu, director of generative AI applications and developer experiences at Amazon Web Services. "Now, large language models are more accessible through services ... so organizations and software providers can more easily build generative AI-powered software development applications," he says in an online interview.
Better, Faster, Cheaper
GenAI helps offers improved productivity, faster time-to-market, cost efficiency, and improved code quality, Tayal says. "Enterprises can automate repetitive software engineering tasks using AI technologies in coding, testing, and bug fixing, as well as more complex tasks, while applying engineering standards and preferred practices to help drive better software quality."
Hall notes that GenAI can access vast amounts of data to analyze market trends, current user behavior, customer feedback, and usage data to help identify key features that are in high demand and have the potential to deliver significant value to users. "Once features are described and prioritized, multiple agents can create the software program's components." This approach breaks down big tasks into multiple activities with an overall architecture. "It truly changes how we solve complex issues and apply technology."
"If you think of the full software development lifecycle -- planning what you want to build, creating code, maintaining code, making sure you're writing high-quality and secure code, deploying your code, and maintaining your production services -- AI can accelerate and improve each of these steps," Iragavarapu says.
Looking Forward
Hall advises software development team leaders looking to get started in AI-augmented software engineering to begin with a handful of pilot programs headed by creative engineers looking to push the IT envelope. "Enable them with the development tools and technology and then tune the process as they go," he suggests. "This approach will enable different learnings from the various teams and spotlight where there are still weaknesses."
Robert recommends fielding suggestions from development team members to identify areas where applying AI-augmented software engineering might prove helpful. "Using that information, start a small team to assess the risks and benefits, and begin with small experiments."
Don't expect rapid benefits, Hall warns. He notes it will likely take six to twelve months to train and tune the LLMs and processes to scale properly.
About the Author
You May Also Like