AI is here to stay in all aspects of the economy, but its role is still undecided. It can play a part in automating customer support, managing administrative tasks, and improving documentation. But AI can go much deeper by monitoring systems, combing through data to ask and answer its own questions, and manufacturing systems with little to no human intervention. All told, economic experts anticipate AI adding $15.7 trillion to the global economy from now through 2030.
But as your organization starts to embrace AI across different processes, it’s important to have a very clear understanding of the capabilities AI actually has—and how those capabilities are evolving over time.
If you underestimate the abilities of AI tools, you miss out on valuable efficiencies and opportunities that could have otherwise better positioned your apps within your industry. If you overestimate, however, you’ll be left with errors, costly mistakes, and jumbled results that might be messier than manual processes would have created. The question of whether AI can simplify app modernization is complex, and it all comes down to accurately assessing what your AI tools can and cannot do.
AI Can Single-Handedly Tackle Mechanical Tasks and Some Aspects of Modernization
First, there is a very simple answer to the question, “Can AI simplify app modernization?” And that answer is yes. There are many tasks that AI, including both generative AI and AI augmentation tools, can handle with little ongoing guidance or supervision. Some of the tasks AI can handle alone include the following:
- Operating a chat-bot and knowledge resource to give software developers specific answers and insights
- Updating frameworks with basic changes
- Migrating existing apps to newer versions of software languages
- Initiating Basic testing and bug-flagging protocols
These and other tasks can be completed without hours and hours of manual software development. However, even the tasks AI can handle alone should be treated as discrete steps within a larger project. AI is still at the point where changes and upgrades should be monitored and assessed by software developers (and AI-powered software development tools).
A Quick Answer Through the Lens of the AWS Re:Invent Keynote
AI is having a definite impact on AWS infrastructure and the tools available for software engineers. A new AI-powered solution featured in the recent AWS Re:Invent keynote speech by Adam Sepinsky was Amazon Q, a generative AI tool for both non-technical users and software engineers.
Amazon Q is generative AI built to work for and with professionals. It facilitates natural language interactions while pulling information from internal systems and data. It’s designed to meet enterprise-level security and informational standards.
- Helps build on AWS
- Enables Chat to learn about new architect solutions and features, narrowing down to find the right solution for unique problems
- Teaches users how to get started with new features and processes
- Troubleshoots, researches errors, and makes recommendations
- Analyzes network configurations to fix network errors
Amazon Q is also in the integrated development environment (IDE) for developers to provide support, with capabilities enabling it to:
- Automatically generate and complete tests
- Support the planning, coding, and testing stages of making changes, as well as building first drafts of documentation
- Use feature development capabilities to work with a human-created prompt, doing the bulk of the drafting and reviewing work (while still allowing changes through human review)
- Implement roll outs
Managing language version upgrades is one of the biggest tasks. Moving to a new version of Java, for example, could take years of manual work for complex apps. Seplisky calls this a ‘migration infinity loop,’ where your team is constantly focused on migrations. Lagging behind leads to security concerns, but even keeping pace with changes uses a lot of resources. Generative AI and AI augmentation tools like Amazon Q can do the bulk of the transformative language upgrade work.
Properly harnessed, generative AI can cut code transformation work into a fraction of the time previously required. This leads to reduced expenses, better customer experiences, and more certainty that apps are in an optimal state. It can even reduce technical debt since big projects that would be put off because of the cost can be done faster, cheaper, and sooner.
But It Can’t Do Everything
There is an underlying tone of caution that most professionals have, even as they tout the possibilities that AI promises in virtually all avenues of development, rearchitecting, and creation. AI tools can perform a wide range of actions, but they’re helper actions: supporting, finding, monitoring, answering, analyzing, and so on. Other times, there is a careful emphasis on what types of tasks AI can handle versus what it can’t, such as mechanical tasks rather than tasks in general.
There’s ultimately one guiding rule for using AI in any part of software, app development, and app modernization. AI can do a lot of hard work alone, but it can’t do a lot of complex work alone. As a result, organizations should use AI as an augmentation or a supplemental tool rather than a replacement for software developers and human professionals.
Generative AI Isn’t the Hammer for Every Nail
Generative AI is a subset of artificial intelligence that can produce content ranging from chatbot answers to code to even music and audio clips. While generative AI has been in the spotlight since ChatGPT became a topic of everyday conversation in December 2022, it’s far from the only type of AI that has evolved across 2023. Other types include predictive AI, machine learning, deep learning, and so-called ‘traditional’ AI, or analytical AI.
When it comes to rearchitecting software and modernizing apps, generative AI itself is rarely the best solution. Most developers don’t completely create new code when strengthening legacy apps or outdated features—even rewriting projects involves a significant amount of refining and adjusting instead of a completely new creation. By focusing solely on what role generative AI can play, companies miss out on all the other types of AI and how they can simplify processes.
Costs of Using Generative AI for Complex Tasks It Can’t Handle
Many businesses caught up in generative AI may still think there’s a way to use it for every project or architectural technical debt crisis. But the importance of keeping a clear line between AI and generative AI cannot be overstated. Some of the costs of prematurely using generative AI for tasks that should remain in the hands of experienced software developers include the following:
Inaccurate and Immature Models
News articles are full of stories about AI ‘hallucinations,’ or made-up facts and sources that ChatGPT spontaneously generates. The news stories focus on written content because it’s the easiest to analyze and explain.
But the same effects happen in coding, art, music, and other applications. The same hallucinatory effect can present itself as unusable code, models that don’t make logical sense, and solutions that don’t actually solve a specific problem. Creative processes still require human intervention.
Lack of Insight into Business Contexts
Smart AI tools can use business information to create its own sense of context. Both internal and client-facing chatbots use knowledge bases to answer questions. Amazon Q also accesses business information to provide support for developers. But that insight can be extremely limited. It’s based on permissions, information explicitly made accessible to the AI tools, and information in the cloud.
That spotty insight can result in hallucinations and strange assumptions that human developers would never make. This risk can be easily controlled when AI monitors, flags, and notifies; these paths all lead to a human decision-maker. But when AI is left to generate solutions using its own level of understanding, the result is subpar updates and changes that don’t match the level of complexity you need. That’s where AI-augmented tools come into focus.
AI’s Best Role Is Augmentation, Not Replacement
In robotic surgery, the robot never creates new processes or generates new instructions for itself. That would lead to disaster. Instead, robotics are tools that an experienced surgeon wields. The robot allows surgeons to access hard-to-reach areas of the human body where fingers and manual tools can’t safely reach.
It minimizes the risk of infection by starting a surgery perfectly sterilized. The numerous sensors and real-time analytics capabilities alert medical staff about the patient’s condition through dozens or hundreds of different factors. While never in charge of creating new things, AI and robotics are making new things possible that surgeons couldn’t accomplish alone.
Similarly, AI tools are at their best when they don’t generate but are instead supporting software developers and project managers. Their role is to augment and facilitate, not act alone. Some of the different tasks AI-enabled augmentation tools can provide are:
- Monitoring apps for outages and slowdowns and then identifying likely causes
- Flagging signs of drift and sending alerts to the right contact
- Finding, identifying, and prioritizing technical debt
Use AI-Augmented Solutions to Simplify App Modernization, Ongoing Management, and Maintenance
Architectural Observability tools and frameworks place AI in the navigator’s seat rather than the driver’s seat. It flags potential roadblocks and leads developers to the right answers or problems that need their attention. But it never takes over the process of rearchitecting and reworking applications. Some of the key functions of Architectural Observability tools are:
- Finding lingering technical debt, including complex architectural technical debt issues
- Setting a baseline and then tracking drift
- Helping architects find and prioritize tasks
Because AI can comb through code at lightning-fast speeds 24/7, using it for monitoring and support can transform the development process and make ongoing architectural observability possible. At vFunction, we provide AI tools that help software developers identify, track, prioritize, and start resolving architectural technical debt. Your team can significantly cut down the manual hours and uncertainty of grappling with years of built-up technical debt with our automated AI tools. Request a demo to see how AI-augmented tools can simplify your continuous app management and modernization efforts.