News Blog
Barbara Hinderer | July 14, 2023

The Transformative Power of Generative AI: Software Engineering

A woman in a futuristic outfit with glowing lights in her hair.

Software development has the potential to be fundamentally transformed through the use of AI. From the initial phase to maintenance, AI tools and generative AI offer new opportunities to accelerate the development process and increase efficiency.

Initial Phase and Planning

Software developers and product managers use generative AI to analyze, clean, and label large amounts of data such as user feedback, market trends, and existing system logs.

System Design

Engineers utilize generative AI to create multiple IT architecture designs and iterate potential configurations. This speeds up system design and reduces time to market.

Programming

By using AI tools, engineers can program more quickly. AI assists in design, quickly finds relevant code snippets, and serves as a comprehensive knowledge database.

Testing

Engineers employ algorithms to improve functional and performance testing and automatically generate test cases and data.

Maintenance

Engineers leverage AI insights from system logs, user feedback, and performance data to diagnose issues, propose solutions, and identify areas for improvement.

Software Development

By treating programming languages as another language, new possibilities arise for software development. Software developers can utilize generative AI in pair programming and train language models to generate code when given a natural language description of the desired code.

The Impact of Generative AI on Software

Software development is a significant function in most companies and continues to grow as not only tech giants but also other businesses incorporate software into a variety of products and services. For example, a significant portion of the value of new vehicles comes from digital features such as adaptive cruise control, parking assistance, and IoT connectivity.

According to our analysis, the direct impact of AI on software development productivity could account for 20 to 45 percent of the current annual spending on this function. This value would primarily result from reducing the time for specific activities such as generating initial code drafts, code corrections and refactoring, root cause analysis, and creating new system designs. By speeding up the coding process, generative AI could redirect the skills and competencies needed in software development toward code and architecture design. A study found that software developers who used Microsoft’s GitHub Copilot tool completed tasks 56 percent faster than those who did not use the tool. An internal empirical study by McKinsey on software development teams found that the time taken to generate and refactor code significantly decreased with the use of generative AI. Engineers also reported improved work quality and cited improvements in satisfaction, workflow, and fulfillment.

Our analysis did not account for the increase in application quality and the associated boost in productivity that generative AI could bring through code or IT architecture improvements, which can enhance productivity along the entire IT value chain. However, the quality of IT architecture still largely depends on software architects rather than the initial designs that current generative AI capabilities can produce.

Major technology companies are already offering generative AI solutions for software development, including GitHub Copilot, which is now integrated into OpenAI’s GPT-4, and Replit, used by over 20 million developers.

Value Potential by Modality

Technology has revolutionized the way we do business, and text-based AI is at the forefront of this change. In fact, text-based data is abundant, accessible, and easily processed and analyzed at scale by language models. Therefore, there is a strong focus on text-based applications in the early stages of generative AI development. The current investment landscape in generative AI also heavily concentrates on text-based applications such as chatbots, virtual assistants, and language translation. However, we estimate that nearly one-fifth of the value generative AI can unlock in our use cases would utilize multimodal capabilities beyond text-to-text.

While the initial application of generative AI was predominantly text-based, recent advances in generative AI have also led to breakthroughs in image generation, as demonstrated by OpenAI’s DALL·E and Stable Diffusion. Significant progress is also being made in the field of audio, including speech and music, and video. These capabilities have obvious applications in marketing for generating advertising materials and other marketing content, and these technologies are already being used in media industries, including game development. In fact, some of these examples challenge existing business models in terms of talent, monetization, and intellectual property.

The multimodal capabilities of generative AI could also be effectively utilized in research and development. Generative AI systems could create initial circuit designs, architectural drawings, structural engineering, and thermal designs based on specifications that describe the requirements for a product. To achieve this, foundational models would need to be trained in these areas (similar to how language models are trained on “design languages”). Once trained, such foundational models could significantly enhance productivity, similar to what is seen in software development.

Value Potential by Industry

Across the 63 use cases we analyzed, generative AI has the potential to generate value ranging from $2.6 trillion to $4.4 trillion in various industries. The exact impact depends on various factors such as the mix and significance of different functions and the revenue scale of an industry (see Figure 4).

Overall, generative AI has the potential to generate value ranging from $2.6 trillion to $4.4 trillion across different industries across the 63 use cases.

Experienced developers remain indispensable

Generative AI models like ChatGPT can influence the development of software solutions. Low-code refers to the simplified creation of software that would typically require extensive programming. It has gained importance in recent years to enable more people to access programming and bridge development gaps.

Low-code platforms facilitate application development by providing developers with a visual interface. Generative AI can be used in conjunction with low-code to make software development workflows more efficient. It can serve as a starting point for code examples and help developers adapt and improve applications faster. Generative AI automates parts of the programming work, shifting the role of developers from simple tasks to more complex programming problems. We discussed this in more detail in our blog post:10x Developers.

More complex tasks still require human expertise 

The combination of generative AI and low-code allows companies to automate monotonous and repetitive tasks, increasing productivity. By using generative AI tools, companies can save time and resources and focus on more demanding work. Integrating generative AI into no-code and low-code platforms lowers the barrier to entry for their implementation and enhances these platforms.

However, there are challenges in applying generative AI. It can be difficult to program a model exactly as a user envisions. Current developments do not always consider the latest circumstances. Concerns also exist regarding the traceability and transparency of the generated code. Generative AI models like ChatGPT can be prone to errors and lack the human finesse to produce top-quality code.

Overall, generative AI can support software development and bridge gaps, but experienced developers remain indispensable. More complex tasks still require human expertise, while generative AI tools can handle simple to medium-level tasks. The combination of low-code and generative AI can contribute to reducing the demand for skilled professionals and encourage broader participation of the workforce in software development.