Developers can now turn to generative artificial intelligence (Gen AI) to code faster and more efficiently, but they must do so with caution and no less attention than before.
While the use of AI in software development may not be new: it has been around since at least 2019, and Gen AI brings significant improvements in the generation of natural language, images and (recently) videos and other assets, including code. Diego Lo Giudice, vice president and chief analyst at Forrester, told ZDNET.
Previous versions of AI were mainly used in code testing, where machine learning was used to optimize models for testing strategies, Lo Giudice told ZDNET. Gen AI goes beyond these use cases and provides access to an expert peer programmer or specialist (such as a tester or a business analyst) who can be interactively questioned to quickly find information. Gen AI can also suggest solutions and test cases.
“For the first time, we are seeing significant productivity gains that traditional AI and other technologies have not delivered,” he said.
Also: Can AI and automation properly manage the growing threats to the cybersecurity landscape?
The IDC predicts that by 2026, 40% of new applications in Asia Pacific will be “intelligent apps,” which integrate Gen AI to improve user experience and provide new use cases.
Specifically, the biggest impact of using Gen AI in software development and design will be increased productivity and developer speed, according to the IDC study, conducted on behalf of the low-code development platform OutSystems.
Such potential business benefits will drive 30% of Asia Pacific organizations to pay a premium of between 11% and 20% for Gen AI features in app development, the IDC study projects.
The research firm further expects that by 2025, more than 60% of companies worldwide will adopt low-code technologies to enable faster application delivery and improve operational efficiency.
Also: why data is the Achilles heel of AI (and any other business plan)
Developers can leverage AI throughout the entire software development lifecycle, with a dedicated “TuringBot” at each stage to improve tech stacks and platforms, Lo Giudice noted.
Forrester coined TuringBots to describe AI-powered tools that help developers build, test, and deploy code. The research firm believes TuringBots will power a new generation of software development and assist at every stage of the development lifecycle, including technical documentation retrieval and code autocompletion.
For example, “Analyze/plan TuringBots” can facilitate the analysis and planning phases of software development, Lo Giudice explained, citing OpenAI’s ChatGPT and Atlassian Intelligence as examples of such AI products. Others, like Google Cloud’s Gemini Advanced, can generate microservice designs and APIs with their code implementation, while Microsoft Sketch2Code can generate working code from a handwritten, sketched user interface, he said.
Also: The data suggests that generation AI increases software productivity – for these developers
Lo Giudice added that “coder TuringBots” are currently the most popular use case for Gen AI in software development, generating code based on prompts, as well as based on code context and comments via autocompletion for popular integrated development environments (IDEs) . These include common languages such as JavaScript, C++, Python, and Rust.
A big appeal of generative models is that they can write code in many languages, allowing developers to enter a prompt to generate, refactor or debug lines of code, says Michael Bachman, Boomi’s head of architecture and AI strategy. “Essentially, all the people who interact with Gen AI are quasi and senior developers,” he said.
The software provider is integrating Gen AI into a number of its products, including Boomi AI, which turns natural language requests into action. Developers can use Boomi AI to design integration processes, APIs and data models to connect applications, data and processes, Boomi said.
The company uses Gen AI to support its own software developers, who keep a close eye on the code that powers the platform.
Also: Gen AI as a software quality tool? The skepticism is fading as more organizations implement it
“And that’s the key,” Bachman said. “If you use Gen AI as the primary source for building your entire application, you will likely be disappointed. Good developers use Gen AI as a starting point or to thoroughly test failure scenarios before putting the code into production. Here’s how we do it deal with this internally.”
His team is also working to build features that meet their customers’ “practical AI goals.” For example, Boomi is creating a search system because many of its customers want to replace keyword searching with the ability to look up content, such as catalogs on their websites, in natural language.
Developers can also use Gen AI to remediate security, Lo Giudice said, looking for vulnerabilities in AI-generated code and offering suggestions to help developers fix certain vulnerabilities.
Also: Can AI and automation properly manage the growing threats to the cybersecurity landscape?
Compared to traditional coding, a no- or low-code development strategy can provide speed, built-in quality and adaptability, according to Forrester principal analyst John Bratincevic.
It also provides an integrated software development lifecycle toolchain and access to an extensive talent pool of non-coders and “citizen developers” outside the IT community, Bratincevic said.
However, organizations may face challenges associated with managing large-scale deployment, especially when managing citizen developers who can number in the thousands, he warned. Pricing can also be a barrier because it is typically based on the number of end users, he said.
While Gen AI or AI-infused software assistants can enable junior professionals to fill talent gaps, including in cybersecurity, Lo Giudice says all of these tasks still require expert eye assessment.
Moreover, AI accelerates software development to a breakneck pace, but measuring this is difficult
Bratincevic agreed, emphasizing the need for developers and other workers in the software development lifecycle to review everything the platform generates or automatically configures using AI.
“We are not yet, and probably never will be, at the point where we can blindly trust AI for software development,” he says.
First, there are security requirements to consider, said Scott Shaw, CTO of Thoughtworks in Asia Pacific. The technology consultancy regularly tests new tools to improve efficiency, both in the IDE and to support the work of developers. The company does this where it is appropriate for its customers and only with their consent, Shaw told ZDNET, noting that some companies are still nervous about using Gen AI.
“Our experience is that (generation AI-powered) software encryption tools are not as security-aware and (aligned with) security encryption practices,” he said. Developers working for organizations in regulated or data-sensitive environments may need to adhere to additional security practices and controls as part of their software delivery processes.
Also: Companies are still willing to invest in Gen AI, with risk management a top priority
Using a coding assistant can double productivity, but developers should ask themselves whether they can adequately test code and meet quality requirements, he noted.
It’s a double-edged sword: organizations must look at how Gen AI can expand their coding practices so that the products they develop are more secure, while at the same time how AI poses additional security risks with new attack vectors and vulnerabilities.
Because it delivers significant scale, Gen AI amplifies everything an organization does, including the associated risks, Shaw noted. Much more code can be generated, which also exponentially increases the number of potential risks.
Know your AI models
While low-code platforms can be a good foundation for Gen AI Turingbots to support software development, Bratincevic noted that organizations need to know which major language models (LLMs) are being used and ensure they align with their business policies.
He said Gen AI players “vary enormously” in this regard, and urged companies to check the version and licensing agreement if they use public LLMs such as OpenAI’s ChatGPT.
Also: Using ChatGPT to write code: what it does well and what it doesn’t
He added that Gen AI-powered features for generating code or component configurations from natural language have yet to mature. They may see greater adoption among citizen developers, but are unlikely to impress professional developers.
Bratincevic said: “At this point, a proven and well-integrated low-code platform plus Gen AI is a wiser approach than an unproven or lightweight platform that talks a good game about AI.”
While LLMs do the hard work of writing code, people still need to know what’s required and provide the relevant context, expertise and debugging to ensure the output is accurate, Bachman added.
Developers should also keep in mind that they are sharing proprietary data and intellectual property (IP), especially with open-source tools, he said. They should avoid using private IP, such as code and financial figures, to ensure they don’t train their Gen AI models using another organization’s IP, or vice versa. “And if you choose to use an open-source LLM, make sure it has been properly tested before putting it into production,” he added.
Also: GitHub releases AI-powered tool that aims to provide a ‘radically new way to build software’
“I would be wrong to be extremely careful about the models on which Gen AI tools are trained. If you want those models to be valuable, you need to build the right pipelines. If you don’t, Gen AI could lead to even more many more problems,” he warned.
It’s early days and the technology continues to evolve; its impact on how roles – including software developers – will change remains far from certain.
For example, AI-powered coding assistants could change the way skills are valued. Shaw joked: Will developers be considered better because they have more experience or because they can remember all the coding sequences?
For now, he believes the biggest potential use case is Gen AI’s ability to summarize information, giving developers a good knowledge base to better understand the business. They can then translate that knowledge into specific instructions so that systems can perform the tasks and build the products and features that customers want.