At the Web Summit 2018 Outsystems CEO Paulo Rosado shows how Software 1.0 + Software 2.0 + AI = Software 3.0, and the steps we should take to make it all add up.
Software is Eating the World, but AI is Going to Eat Software
The days of hand-coding is about to end. It is being replaced by Artificial Intelligence and Low Code development.
The number of mobile applications, web applications, back-end services, and all the components that are needed to create a digital platform is increasing, and the primary bottleneck is talent. Software is built by developers but the traditional process is slow and cumbersome – They need to understand the requirements, then they code the software, they test it, put it into production and then it is used.
In the past, it took more than a year to build software. But as demand has increased developers need more productive tools to help them build software in a day, and roll out changes in minutes. For this level of capability we can look to AI.
From 3m:15s Paulo begins exploring the levels of maturity of AI within software applications.
David Harlow at Google created a simple maturity model, where at the top AI being used as a core for real use cases, such as text and image processing, in the middle there are some demos and features but there is still some work to do and at the bottom none at all. AI in software development is beginning to break into the second layer.
Today, they build an application that has AI features inside. That normally seems the app may be built by AI. But no! They just mesh normal software with AI-based service. For example, in Gmail, when you go to reply to someone, some possible answers are shown. Another example of AI is “image recognition”.
The combination of programming languages to build software is called source code. The work of a developer is to write the source code correctly fulfilling all the requirements of the users and later on improve it or change it. The helping area of bots or AI is to infer the context of what the developer needs and then propose a particular snippet of code that he can put inside.
All AI today is based on a large dataset and all the datasets have a particular pattern. That’s how they create a bot that says with 84% of confidence that what snippet of code is needed next. For example, Microsoft uses a deep code team where more and more snippets are suggested when you are coding, which makes you more productive and fast. AI can also detect bugs and change the code itself.
There are more challenges waiting for us next. We have to create bots for not only snippets of code but complete templates and architectures of the overall application. The days are coming when the role of humans and bots will reverse; where the development is actually done by the bots with the guidance of humans.
A very important step is the high delivery of the bots will become so high and sophisticated that at a certain point developer will start understanding what is being done. However, the role of humans here will be to understand the intent of users, understand the communications, and then direct the bot to do accordingly.
Some people think, what will be the developers’ role if the bot can understand the intent of the users! For example, during use of an app you may say annoyingly “ugh! The app is so slow.” The bot behind listen and immediately change the code and say “Is it okay now?” After gifting us such automation, developers will able to remove their grunt works and can enjoy their life with a good glass of wine!
1:08 – Cause of taking the help of AI in software development
3:26 – Maturity of AI
4:38 – The contribution of AI in building application
6:30 – Power of AI in software development
7:53 – How does AI work
11:40 – Challenges about AI
13:51 – Fully automated device