Laurent - stock.adobe.com
Application development and AI development have traditionally existed in separate but complementary worlds. Now we're starting to see these worlds come closer together.
In the not-so-distant future, AI application development will become an integral part of the development pipeline. It's important for developers to take the necessary steps to prepare for increased demand.
Two worlds collide
At the Forward III conference in Las Vegas, Craig Le Clair, vice president and principal analyst at Forrester Research, suggested the future of AI application development isn't that far off.
In the short run, an emerging framework of AI infrastructure will make it easier to plug AI components into application development workflows. In the long run, Le Clair expects AI to be used to improve application logic flow as well. Developers will also need to learn how to combine the benefits of traditional static programming logic with more probabilistic logic allowed by AI.
He also believes that machine learning algorithms will help drive the next level of automation, lowering decision-making costs in ways similar to how the internet drove down the cost of search. Still, as enterprises democratize and scale AI, Le Clair said, new processes will be required to ensure that AI models get safely into production.
Invisible robots require oversight
He dives more deeply into these ideas in his recently published book, Invisible Robots in the Quiet of the Night, which argues that robotic process automation (RPA) will have a far greater effect on the economy than physical robots, particularly for IT professionals. But companies will need to implement robust governance frameworks to make it easier for application developers and business users to incorporate AI and automation into applications.
"As you democratize and iterate, you're turning more and more people into designers of robots, and you need new processes to ensure that they get into production in a safe and reliable way," Le Clair said. Several AI vendors are developing AI platforms to help automate various aspects of AI development and deployment. But the industry lacks any comprehensive platform for AI governance.
Multiple platforms for AI application development
The first generation of RPA technology allowed basic app integration with data cuts and pastes between applications similar to how a human would function. RPA technology has started to enter a second phase, in which AI is used to improve interaction with unstructured content such as email, documents, pictures and audio. These new capabilities provide a layer of analytics that can rip through these different types of unstructured data and transform it into a suitable format for a process.
Companies tend to build AI islands. It's common to see a company with a different conversational intelligence platform for things such as contact centers, customer interaction, help desk calls, HR and augmented analytics. "Although conversational intelligence can provide pervasive value, it is not good if you need to bring in redundant solutions with all the attendant waste of resources and skills," Le Clair said.
One potential strategy to alleviate this redundancy, said Prabhdeep Singh, vice president of AI at UiPath, could be to develop AI platforms that not only simplify AI development but also the infrastructure to connect traditional apps with AI models. Singh found he spent about 80% of his time on plumbing buildouts to connect new machine learning models into applications. As a result, he works to help close this gap and develop a last mile connector to bridge the gap between human and machine.
Craig Le ClairVice president and principal analyst, Forrester Research
For example, data scientists may develop a machine learning model that's highly accurate for some kinds of X-rays. But if image quality decreases, the model may break or degrade. This last-mile infrastructure needs to surface these kinds of associated services so that users can weave AI components into their apps without adding infrastructure services each time.
Development methodologies such as machine learning ops aim to streamline AI in the way DevOps streamlined app dev. Enterprises will need a kind of infrastructure to make it easy for developers to reliably plug in AI modules that can use the supporting infrastructure.
Manage automation across tools
There has been considerable debate about RPAs vs. APIs for application integration. APIs are preferred because they can insulate the effect of application changes between apps. But about 80% of enterprise apps don't have APIs, according to Le Clair. Furthermore, of the apps that do have APIs, about half of them consist of the older, harder to use SOAP-based APIs.
Le Clair believes RPA may play a key role in the management of AI and automations across disparate tool sets and use cases. "I think the great talent of RPA as a category that is not talked about a lot is central management," he said.
"The first platform company to do that will be very successful in automation, and not just RPA, but automation in general," Le Clair said. Of course, this isn't a slam dunk for RPA. The big AI platforms that support text analytics, computer vision and machine learning are all trying to figure out how to compete for that orchestration capability.
RPA vendors will also have to sort out how they can manage alien bots developed on competitors' platforms.
One big question for AI application development will be how well these automated programs do at scaling up the number of decisions they can manage as part of an app. RPA automations lack the kind of inherent rule-management capabilities that are baked into business rules and business process management code. "What you have in an RPA script is a bunch of scraggly script code that has decision embedded in it, so, when you get beyond a certain complexity of decision, you end up building a bot that is expensive to maintain," Le Clair said.
For example, Le Clair explained how one telco complained about the ROI from an automation program. It turned out the company built bots with 90 decisions in them, which required significant management overhead. Enterprises can bridge this gap with the creation of coding standards. A lot of times badly written scripts can make maintenance difficult.
Use AI to manage exceptions
Le Clair expects the third stage of RPA will use AI to dynamically manage exceptions and variations across automation components. So far, he has not seen a company do this in production. Such a move will require a combination of task analytics, process analytics, BPM orchestration and customer journey mapping into the AI engines that drive RPA processes. The next phase will bring these different kinds of data mining tools into a common platform for AI application development.
Ideally, as enterprises find better ways to combine these different types of data into the right data model, they can use machine learning capabilities to dynamically launch and tune different kinds of automation at the right time.
"Intelligent process automation is about taking the pragmatic and practical aspects of AI and combining them with RPA," Le Clair said.