Low-code - isn't that just modeling?

Low-code is a concept that promises to drastically simplify software development. Instead of programming with a programming language, domain experts can create functioning software, often using drag-and-drop.
What is created by the user is a model. In the following, I answer the questions: What are the similarities and similarities between low-code development and modeling? What are the possibilities and limitations? And: Is low-code really new and useful? Or is it just another hype selling old wine in new bottles?
Low-code with BPMN
A good example of a low-code platform is Appian for process automation. Every company has internal processes, some of which can be frighteningly paper-heavy: Purchasing, vacation requests, travel expense reports and much more. Even if there are tools for the various activities, they are often not linked. The assistant could then develop a low-code application as shown in the following screenshot, for example for vacation requests. Such an application would then provide the mask for the vacation request, compare the request with various calendars, submit the request to the (correct) supervisor for approval and update the various IT systems (calendar, HR).

What Appian provides is a modeling tool. Appian even uses a formal modeling language, BPMN. The question regarding the connection between modeling and low-code is therefore quite justified.
Modeling and low-code: The differences
The most important difference is the result: the result of the Modeling is (surprise!) a model. This model supports a variety of activities, such as analysis, simulation and much more. In contrast, the result of low-code development is functioning software code.
Code can also be generated from models. However, this is rarely the most important use case. But even if code is generated from a model, there is usually still a lot of work to be done before we have functioning software. Low-code platforms often act not only as code generators, but also as operating platforms.
In low-code development, the abstraction level is usually fixed and relatively high, at user/problem level. In contrast, modeling usually makes it possible to work on many levels and to bridge them. Low-code platforms generally offer ready-made components and visual interfaces with which typical tasks can be solved quickly and in line with best practices.
Low-code development is usually aimed at non-technical users who want to create functional software applications without having to write code, while modeling is used by developers and technical teams to plan and design software applications.
Everything has its limits! And with low-code development, we reach them much faster than with generic modeling. It is therefore important to familiarize yourself with the limits before starting development and to ensure that there are no KO criteria.
The risks of low-code
The use of low-code harbors a number of risks. The most important are
- Limited possibilities: Anything that goes beyond the scope of low-code platforms is often difficult or impossible to implement.
- Security risksAs a non-transparent solution, it is unclear how well the generated application is secured. This is particularly critical if the generated application is to be made available not only internally, but also to customers and partners via the Internet.
- Manufacturer dependencyAt least at the moment there is no portability. Switching to another platform will most likely be painful.
- Learning curve: Yes, it is easier than programming. But that doesn't mean it's easy to use. Just as it is Spaghetti code If there is a lack of logic, unmaintainable applications can quickly be developed that are full of (logical) bugs.
Provider
There are now a large number of providers on the market. Many solutions are domain-specific, such as Appian shown above. K2 and Quick Base, which also focus on business processes, belong in the same category.
Some companies are so large that they offer low-code solutions that are tailored to their ecosystem. These include Salesforce Lightning and Zoho Creator, for example.
And the large corporations have the market strength to also offer generic solutions. These include Microsoft Power Apps and Goolge App Maker.
Conclusion
Modeling skills are very helpful when using low-code solutions. However, the two have very different goals: If we need quickly executable software and the domain is well understood and clearly outlined, then it is a good choice. In practice, however, this does not apply to the systems engineer. In my opinion, low-code is only suitable for systems engineering to a very limited extent.
Image source: FreePic






