The Software Industry Is Facing an AI-Fueled Crisis. Here’s How We Stop the Collapse.

Software companies face tremendous pressure to deliver products quickly, but too many AI-based tools create low-quality code. Our expert offers a better vision for the field.

Written by Frank Roe
Published on Sep. 04, 2024
A close-up of a programmer's hands working on a laptop with a digital overlay that says AI
Image: Shutterstock / Built In
Brand Studio Logo

The software development world is at a breaking point. The crisis is precipitated by two interrelated problems: 1) the increasing and immense business pressure on teams to continue to deliver software code faster amidst fierce competition and a developer shortage and 2) the rise of generative AI. Although the promise of AI-powered development tools is undeniable, a crucial element is missing from the conversation around these AI assistants — the increasing flood of low-quality code, with catastrophic consequences.

3 Principles for Integrating AI Into Software Development

  1. Embed quality early and establish standard practices for review and testing.
  2. Don’t let AI replace experience.
  3. Prioritize customer trust.

More on AIWhat Is Artificial Intelligence (AI)?

 

The Stakes of Software Failure

The Microsoft/CrowdStrike outage was only the most recent stark reminder of the global dependence on software and the challenges an internet shutdown could cause. A recent article found that the U.S. is the nation that’s most economically vulnerable to an internet outage, with the cost estimated at a staggering $458,941,744 per hour.

The overwhelming impacts of software failures are making headlines at an alarming rate, wreaking havoc on businesses and directly endangering lives. These problems include everything from failures in 9-1-1 dispatch systems to delayed care for patients who rely on optimized critical medical equipment in hospitals to threats to airline travelers who count on the accuracy of navigation and safety systems. 

With increasing dependence on software, the pressure on businesses remains intense, and these problems and disruptions continue.

 

Generative AI: Friend or Foe?

Enter generative AI. Hailed as a game-changer, generative AI has undeniably transformed software development, but its important to remain aware of the potential complexities and risks it introduces.

As generative AI tools have lowered the barrier to entry for code creation and democratized software development, the foundation of our software-dependent world has come under threat. Limited oversight has led to an influx of subpar code, often riddled with bugs and vulnerabilities that enter the system. The increasingly common practice of having non-technical individuals create code exacerbates the issue because they may not understand the intricate nuances and potential downstream consequences of the code they’re creating. The lack of understanding about coding complexities and the necessity of rigorous testing is leading to a degeneration in code quality.

This trend is evidenced by increasing reports of software failures, which are often linked to overlooked coding errors and inadequate testing. Studies have shown that as more people with limited programming experience contribute to codebases, the number of critical bugs and security vulnerabilities undergoes a significant increase. For example, Synopsys 2024 Open Source Security and Risk Analysis report highlights that nearly three-quarters of commercial codebases contain high-risk, open-source vulnerabilities with a sharp increase in these vulnerabilities attributable to the involvement of less experienced contributors.

 

Don’t Sacrifice Quality for Speed

As the CEO of a global tech company, I understand the immense pressure businesses face to stay competitive, and the subsequent pressure this places on our engineering and product teams. Generative AI is a powerful tool, catalyzing increased productivity and automating repetitive tasks in development and testing. It also poses potential threats to the foundation of software development, however, and is contributing to the generation of subpar code and heightened vulnerability to security threats.

AI lacks the ability to fully grasp the nuances and intentions behind complex software architectures, which can lead to suboptimal design choices. Additionally, AI-generated code often suffers from poor documentation and readability, complicating future development and debugging efforts. Automated code generation has also resulted in less rigorous code review processes, increasing the likelihood of undetected errors and vulnerabilities.

Thoughtful use of generative AI, rooted in trust and transparency, is critical. This involves clearly communicating when AI is being employed, embedding responsible practices, and ensuring AI-driven code is thoroughly tested and reliable. This approach helps build confidence in AI tools among developers and end users, ensuring AI enhances rather than compromises the quality and integrity of software. It is also important to ensure you are using generative AI to solve real customer problems — making feedback and transparency with customers critical.

By understanding AIs limitations, developers can capitalize on its strengths while mitigating its risks. Creating code that drives the apps and software we have all grown accustomed to is a complex and complicated process. This requires a human-centric approach, where developers maintain ownership of the code, validate outputs rigorously, and prioritize quality. 

For example, as discussed, developers often use AI to generate code and even conduct initial tests. This doesnt eliminate the need for human oversight, however. Developers must carefully review the AI-generated code, ensuring it adheres to best practices and meets quality standards. They also perform additional testing to catch any errors or inefficiencies the AI might overlook. This approach ensures that AI can accelerate development, but the final product remains robust and reliable. Ultimately, the success of AI in software development hinges on a delicate balance between the indispensable human touch and this modern technology.

 

A Vision for the Software Industry

The key lies in responsible AI use. I’m calling on the industry to thoughtfully navigate the balance required to create quality code with human developers working alongside AI-powered tools. Here are some principles for striking such a balance.

Software Development Needs a Revolution

Because of the speed at which teams are asked to release software, they need to embed quality earlier in the process. This must start during the initial design and planning stages rather than being addressed solely during testing, ensuring teams identify and mitigate potential issues before they escalate. There needs to be more comprehensive test coverage, now more than ever before, meaning thoroughly testing all possible scenarios, including interactions between different components. The immense pressure to deliver quickly and economically is leading to shortcuts and compromises that jeopardize the very foundation of quality work. 

We need standardized, integrated solutions such as unified coding practices and consistent testing frameworks that prioritize both efficiency and high-caliber code. Standardization helps maintain consistency and reduces errors across different teams and projects. Integrated solutions enable seamless collaboration, ensuring that every aspect of the software development lifecycle — from design to deployment — is aligned with the highest standards.

AI Can’t Replace Experience

The power of AI doesnt diminish the importance of experienced development teams. We need to use AI to streamline processes, not replace human judgment and critical thinking. AI can handle repetitive tasks, identify patterns, and suggest optimizations at a scale and speed that humans alone cannot match. The deeper understanding of context, project goals, long-term implications, creative problem-solving, and ethical considerations that experienced developers bring are irreplaceable, however. By combining AIs capabilities with human expertise, we can achieve a balance that enhances productivity while ensuring superior quality.

For example, generative AI might be used to quickly generate code snippets or automate certain tests, speeding up the development process. A human developer should always review AI-generated code for nuances, integration with other systems, and alignment with the project’s overall architecture, however.

Customer Trust Is of Utmost Importance 

Building and maintaining customer trust has never been more crucial, especially with AI and the uncertainties that surround it. Listening to customers is essential. Customer feedback should guide AI implementation, ensuring solutions are value-driven and truly solve real customer problems. For example, consider an AI-driven customer service chatbot. By collecting and analyzing customer feedback, the company might find frustrated users because of the chatbot's inability to handle complex inquiries. In response, the company could train the AI to escalate these inquiries to a human agent more quickly, ensuring a more satisfying customer experience. By making customer-centricity the core of our AI strategies, we build lasting relationships and drive sustained success in an ever-competitive market by consistently delivering value.

More on AI + SoftwareWhy AI Will Never Replace Software Developers

 

The Revolution Is Now

The software industry is at a breaking point, facing a silent crisis that demands immediate attention. As developers, vendors, and leaders in technology, we must ensure that AI becomes a catalyst for progress, not a pathway to failure. Prioritizing software quality is not just an option; it is a necessity to safeguard the future of technology. We have had several wake-up calls, emphasizing the need to place software quality at the forefront. Compromising on this aspect is a risk we cannot afford to take. 

Its time for a revolution in software quality — one that upholds the highest standards, embraces thoughtful AI integration, and most importantly, preserves the trust and safety of our customers - businesses and consumers. Together, we can build a future where technology serves as a reliable and robust foundation for all.

Explore Job Matches.