Low-Code Development

What is a Low-Code Development, which advantages does it offer and which Low-Code Platforms are available?
Smartpedia: Low-Code Development propagates the creation of applications almost without programming by simply clicking together ready-made software modules.

Low-Code – configuration instead of programming

Software development presents many organisations with major challenges: It takes a relatively long time, is often cost-intensive and there is often a lack of necessary development capacities. Wouldn’t it be nice if there was a way to develop software faster, more efficiently and, if necessary, without – or at least without extensive – programming skills? One answer to this wish is low-code development.

Low-code development propagates the creation of applications almost without programming by simply clicking together ready-made software modules. “Configuring instead of programming” is the underlying idea. This is made possible by low-code and low-code platforms.

Low-Code Development - create applications almost without programming

What does low-code mean?

Already in the early 1990s there was the so-called Rapid Application Development. These were programming environments with which the graphical user interface of a desktop application was first created and only then was the corresponding business logic implemented. This was followed by approaches of Model Driven Development (MDD) – sometimes also referred to as Model Driven Software Development (MDSD) -, Model Driven Architecture (MDA) and various modeling languages such as the Unified Modeling Language (UML), the System Modeling Language (SysML) or Business Process Modeling and Notation (BPMN). In 2014, the US market research company Forrester Research coined the term low-code. And what is low-code? Is it perhaps even a kind of “inferior” code?

The answer to this question can be found in a small detour: in addition to low-code development, there is also so-called no-code development. Low code does not refer to the quality of the code, but to the code creation. In low-code development, the majority of code is generated by configuration using a low-code platform. The share of manual code development is small compared to the configured code quantity, i.e. “low”. In contrast, the promise of no-code development is that all code is configured and manual code generation is unnecessary. Whether this actually works in reality and the quality of the code may be different.

Sometimes it can be read that low-code would be easy to read and understand even for non-programmers. That sounds good, but it may also be questioned.

What is a low-code platform?

If you want to develop low-code, you use a low-code platform – sometimes also called low-code development platform or low-code automation platform. There are a number of providers, including

The different platforms pursue different concepts and offer different functions. But basically they all offer

  • a presentation layer with visual editors to arrange user interface elements,
  • a business logic layer – usually with visual editors – for designing business entities and processes,
  • a data layer for the creation of business entities,
  • as well as basic services such as authentication, authorization etc.

Some platforms are operated in a cloud, others are installed on-premise. Some deliver executable code and others require a runtime environment. Here is a nice description of how low code platforms work. 

Advantages of low-code development

Low-code development can offer the following advantages:

  • Low-code platforms are designed for use by internal teams. The generation of low-code can reduce costs, since no external development service providers are needed.
  • Large parts of an application can be developed without explicit programming knowledge. This is made possible by the modular principle, sometimes referred to as “software development à la Lego”.
  • Companies often lack capacities in software development. Since non-programmers can also develop software with the platforms, the shortage of skilled workers is mitigated to a certain extent. Here you can read how a low-code team should be composed.
  • In many companies there are departments that develop software independently – without the support of a central IT department. Former developers and software-affine employees do not want to wait several months for internal solutions. By using low-code platforms, a meaningful coexistence between central IT and shadow IT can be realised.
  • The development cycle can be shortened because the application can be created almost parallel to the specification of requirements.

In theory, many advantages sound comprehensible, but in practice they first have to be proven in individual cases. According to the Pareto principle or the 80-20 rule, low-code platforms deliver 80% of the code, but the remaining 20% cause 80% of the effort. In addition, there are questions about the performance of the platforms, possible technical limitations, the learning curves of the users, the effort for services such as training, maintenance and support. Many providers try to answer such and similar questions with application scenarios, reference projects or studies from market research companies.

Notes:

Gartner, a US-American analysis company, predicts for 2024 that more than 65% of all software programs will be implemented with low-code. So we can be curious how the future of low-code will develop.

At Heise in the forum you will find exciting pros and cons of low-code development (in German).

Here you will find additional information from our Smartpedia section:

Smartpedia: What is a Citizen Developer?

What is a Citizen Developer?

Smartpedia: What is Whitelisting?

What is Whitelisting?

Smartpedia: What is Clean Code?

What is Clean Code?