Low-code platforms: the ideal solution… or a risky one?
The history of low-code and no-code
Low-code solutions began to emerge in the 90s. So-called no-code platforms appeared at the same time. These technologies were a natural response to the proliferation of complex programming interfaces. The general tendency towards simplicity gave impetus to the development of easy-to-use solutions.
Interfaces like these were first of their kind in the contemporary world. A user could build apps faster without the need to know any programming languages. Low-code can significantly increase developer productivity. However, this new approach was highly limited. Users couldn’t write even the simplest commands, so the functionality of those platforms was lower.
It is the main feature of no-code: it involves no programming and no commands. On the other hand, this allows even general staff to work with these platforms.
Today, the low-code approach is used a lot in CRM and ECM systems. Most low-code platforms on the market are created so that customers can built the solutions they need entirely by themselves. Thanks to low-code, business users can avoid the costly process of adjusting the platform to the needs of their business.
Low-code platforms allow a company to:
— Reduce the amount of money spent on programmers.
— Enhance the corporate interface or the CRM system.
— Modify interfaces effortlessly.
— Adjust the program to the individual needs of each staff member.
These are just some of the features low-code and no-code platforms offer. As they continually evolve, new benefits appear all the time.
We’ve talked about the benefits of low-code with Andrei Bryndin, an expert on the ELMA365 low-code platform.
Do you think low-code platforms are the ideal solution? If not, what are the dangers of using low code platforms?
Low-code is mostly for the companies that want to optimize their processes. Many organizations try to do it today.
With low-code, a company’s risks are lower than with most other options. Here is why low code shouldn’t mean high risk for businesses:
— With custom development, you have to create the system’s architecture from scratch. With a low-code platform, the vendor has taken care of it, and you’ve got a ready-to-use app that you can work with. At the same time, unlike no-code, low-code is agile and allows to adapt the system to the company’s individual needs.
— You can start working with a no-code prototype and then add features using scripts or configure integrations.
— You can start working with a platform on a subscription basis without paying a lot and see whether it fits your needs. Some low-code platforms are distributed by subscription, so you can just pay for a couple of months and try them out. A subscription is cheap and affordable for everyone, even small businesses.
Let’s talk about the main benefits of low-code. How do they help to reduce costs?
The costs are reduced due to several factors.
First, less money is spent on the team. You can reduce payroll costs, as you don’t need professional developers to build a solution. Instead, most people on the team will be analysts. In some cases, even citizen developers who are not experts can create apps. They don’t really need all the low-code features, but low-code platforms include no-code tools for such cases. Using them, users can modify something on their own if needed.
Second, the vendor offers pre-configured integrations, including plug-ins and other ready-to-use solutions and configurations, which also helps to reduce costs. Low-code systems have stores, or marketplaces, and you can download additional ready-to-use solutions there. These solutions can be refined and improved to satisfy your needs.
Third, low-code solutions are usually built so that scripts are written by a programmer once and reused in the system over and over again. For example, they can become process activities or system event handlers. It’s the analyst who determines in which parts of the solution they will be used later.
Finally, low-code automation helps workflows, as it helps to eliminate bottlenecks in a company’s processes (low-code systems usually have tools to monitor them). This also reduces costs.
What about security? Is it another advantage of low-code? Or do businesses need to address security issues?
If you use a low-code platform, the vendor has already taken care of security issues, which cannot be said about traditional coding. If we talk about cloud versions, the system is usually stored on secure servers like Amazon Web Services that meet global security requirements.
If you use an on-premises version of a low-code system, it can be installed on the computer without access to external systems. This ensures maximum security.
Low-code systems also usually have built-in modules. For example, they are used to audit main events connected with security: successful/unsuccessful authorization, signing out, editing some system elements, etc. These modules usually provide token-based authentication that involves security protocols, protected databases, and two-factor authentication. And, of course, a smart low-code platform has a system of roles which helps to control which objects, components, directories, processes, and settings the company’s employees and external users (if they can access the platform) can view, edit, or delete. So, the customer who uses a low-code system doesn’t have to worry about developing and building the security architecture.
What software developers have to say about low-code platforms in terms of their speed?
It’s not really a question about low-code. The platform’s performance depends on how its core functions are realized. If its architecture is built using modern technologies, this will help to ensure good speed of operation.
Performance is also ensured thanks to microservice architecture and application clustering. On platforms that use these approaches, you can horizontally scale separate services and functions within the system. If your configuration of the system is used to run a lot of business processes or support a lot of chats, you can scale just one of these services to make it run faster without scaling the whole system. In other words, you spend less resources, and their use is more efficient.
How difficult is it to set up the system? Is it true that any user can do it?
A low-code platform is usually managed via a user interface. There is a panel with general system settings, and everything can be customized. You don’t need to work with consoles or hand-write code; everything is done via visual interfaces.
Does low-code save time?
Yes, it helps to spend less time on prototyping. Low-code allows to do it very fast: you can make a quick draft of what you need, publish it, and start working right away. You can also edit processes or apps without waiting around and restarting the server.
Moreover, low-code systems reduce the time spent on development due to the built-in debugging tool. Low-code platforms usually display the debugging process on the same screen as the development tools. For example, when you debug a business process, you can see its graphical model and the stage it is going through, and you can see all the notifications and current values of the variables. It is very convenient.
If the company needs to use a low-code solution on several computers, they can be created in one place and replicated, deploying on other servers. Low-code solutions can usually be exported and imported in a few clicks, and the new configuration will only need some fine-tuning.
Many business users are still worried that they need to have coding skills to create solutions. But low-code platforms don’t require coding, do they?
They don’t. Low-code platforms can include scripts, but they can be reused. You can use a programmer’s help when you need scripts for complex integrations, calculations, or interactions with data. The system will “pack” the scripts into an interactive widget or a business process activity. Then analysts will be able to use the scripts whenever they need these features. They will only need to configure the input and output variables of the activity or widget. The rest has been done by the programmer.
Moreover, low-code vendors usually monitor the market and satisfy the most popular demands by including popular features into the standard version of the product.
The low-code approach provides visual tools to build apps and business processes.
The visual low-code designer implements essentially the same logic as code. The vendor has put some structures into the visual designer, so all you need to do is apply them.
In case an analyst needs to write a script, it still won’t be a large piece of code. It’s usually just 10–20 lines that solve simple tasks and are called only in certain operations.
It is one function that needs to be called once—this is easy to understand, practical, and ensures quite a low entry threshold. Low-code platforms usually use simple, user-friendly programming languages, for example, TypeScript.
Is it possible to configure integrations?
Low-code platforms offer standard integrations: APIs and HTTP requests. Integrations are configured via pieces of code that can be reused. Moreover, in some systems, requests can be formed without coding.
In ELMA365, there are also automatically generated APIs. If we need to integrate an external system with the platform, they can be used to generate the package.json file and the endpoint URL automatically for each catalog or business process. The URL can be used to access the system and make changes in it. In short, you don’t have to invent ways to integrate the platform with external systems, as you can use pre-prepared templates.
If you need to enable integrations using other protocols, it can be done using advanced features.
Don’t forget that vendors usually provide integrations with popular services as a standard feature.
What kind of advanced features do low-code platforms have?
At first glance low-code may appear primitive and not made for complex real-life business situations. But if you look a bit deeper, you’ll see that it allows you to create a complex solution architecture or write elaborate scripts when you need them. You can also use HTML and CSS for even more flexible interface customization.
You can also extend the system’s capabilities with the help of microservices, activating them to solve more complex issues.
For example, if you need to do some kind of complex data processing using artificial intelligence, you won’t do it within the system. You will order the service you need to be created by developers, the system will call the service, send the data, and return the processed result.
Can these features be realized using low-code?
Some low-code systems, for instance, ELMA365, allows you to reference external libraries. These can be libraries for data visualization, computer vision, etc. So extensions don’t necessarily have to be services.
What would you say about the entry threshold?
That’s what I’d say:
- General users can learn everything they need within a week (find out about the system on the whole and the part they will need to work with).
- For analysts, the basic training will take about 2 weeks.
- Low-code developers will need about a month, as they need to get accustomed to a new programming language.
So, the entry threshold is quite low. Of course, it depends on the project. But the basic skills are enough for a simple solution including office automation or ECM.
Compared to other languages, how much time is needed to master low-code development?
If we take traditional development, you need at least half a year to learn. But low-code platforms changed the course of traditional software development, as they use simple programming structures, and there is no complex syntax. Right now, it’s enough to understand the “For” loop to work with our low-code platform. So the entry threshold is quite low.
Low-code systems also usually provide a vast knowledge base. Each system has its own unique methods that are described in the extensive online help.
On some platforms, you can click the question mark icon in the system’s interface to access help and start learning to use the platform while working with it.
For example, I decided to test one global low-code system, and tips prompting what to do next appeared right after I downloaded it.
Some vendors also create academies that offer training courses, and ELMA365 is one of them. There, you can learn how to work with the platform and understand all of its features and tools by taking basic and advanced courses. You can take a basic course and start working, then slowly move on to the advanced course and improve your skills and knowledge.
What are the alternatives to low-code? In your opinion, which of them are going to be in use in the future? What is the future of low-code development platforms?
Let’s compare four classic types of solutions: in-house software development, low-code, retail software, and BPMS. As I’ve mentioned, retail software (for example, accounting software) that provide an opportunity for customization will stay popular in niche markets.
In the future, low-code platforms will probably also satisfy the needs of these companies, too, but a lot of groundwork needs to be done in this area first. “All-in-one” retail software will be in demand among small businesses, but I believe that their interest will also shift towards low-code. Retail software offers a standard set of general features, lacking some functions a company needs and providing a lot of functions useless to it. As a result, users have to maneuver through interfaces overloaded with excessive features, while they only need to fill out a few fields on a form.
Custom development is popular, but I think it will shift towards low-code as well. Low-code platforms can be integrated with any kind of software structure a company already has. In other words, anything you develop on your own can be adjusted to low-code, and you can use a low-code system to orchestrate your legacy software solutions. That’s why you can consider moving to a low-code platform even if you originally chose custom development.
BPMS, in my opinion, are already shifting towards low-code. I read Gartner’s research estimating that by 2024 80% of IT products will be created using low-code and no-code. Moreover, the research firm suggests that low-code platforms mean the rise of citizen developers: 80% of technology products and services will be built by non-tech experts. Low-code platforms are business application development made easy. The barrier to become an IT developer is getting lower, and there are many experts in the market who can work with low-code, which reduces costs. I believe this trend will continue.
In some markets, custom development will still be popular. It works well when business owners have enough money and understand why they are choosing this option. I think that with custom development it is appropriate to use ready-made components in the architecture, for example, third-party BPM engines. Developing a solution from scratch is controversial. I believe a system provided by an IT supplier will ensure better functionality.
Maybe custom development will remain in government software. But even state-owned companies start using low-code instead of custom development.
How efficiently, in your opinion, can low-code be used for prototyping purposes?
In my opinion, low-code is perfect for prototyping. An expert can quickly build a prototype and easily adjust it to the customer’s needs. Changes are applied immediately. You don’t need to draw diagrams on paper or in a separate app, as everything can be done in the system. When you create a simple diagram, it is already a functional prototype that can be tested and used.
In what ways does the customer depend on the vendor?
If we’re talking about the cloud version, the user is dependent on the vendor’s updates and gets all the features updates provide.
Clients generally don’t face any issues when they work in the cloud, as the updates are relevant and based on customer feedback. Developers usually put a lot of effort into ensuring backward compatibility. In a cloud, nothing can simply “break”.
With the on-premises version of a low-code platform, users don’t depend so much on updates and can continue working in the current version.
Clients also often require technical support from the vendor, which is usually a paid service.
The price depends mostly on the terms of the contract, and sometimes support is granted free of charge. Anyway, you can try to solve simple issues on your own. Low-code platforms usually provide a vast knowledge base that comprises frequently asked questions.