What are low-code platforms?
Currently, no IT publication and no IT event can ignore the trend topic of low-code and low-code platform. But what exactly is meant by it, and what does the ‘low’ in low-code refer to? It can be summarised in one sentence as follows: Low-code development platforms enable the interactive development of database-driven specialist applications with virtually no programming, simply by interactively clicking together prefabricated software modules. The beginnings of the low-code movement date back to the early 1990s. At that time, the term low-code did not yet exist, but the basic principle was the same as today: configure instead of program. One of the pioneers of this way of thinking and working is Scopeland Technology from Berlin.
Thanks to this click-to-click principle, users and power users in specialist departments can be much better involved in the development of their software solutions. This enables truly agile software development and the joint development of optimal solutions directly in the database project itself – through conception and implementation in one go, with modern methods of design thinking throughout all project phases.
Low code is not just about saving costs and getting results faster: It is a completely different approach to develop software solutions conceptually. In addition, it is also a matter of not bypassing real needs and making the entire process of conception, development and maintenance more flexible. Until now, it was difficult to imagine that this would be possible.
This is the reason why the US analyst Forrester Research attributes a key role to low-code platforms in the digitisation of all business processes and forecasts a total market for low-code platforms of 15.5 billion US dollars for 2020. As a result, no company will be able to do without low-code platforms in the future.
Does software development work without programming at all?
Many innovators have been working on new ideas for a long time in order to drastically shorten the extremely lengthy process of software development. Naturally, completely different approaches come into play. From the so-called 4GL languages of the 90s to Computer-Aided Software Engineering (CASE) to so-called model-driven software development. Everything has already been tried out in order to generate program code automatically. The breakthrough, however, comes from a completely different corner: with platforms that already have the entire functionality that is expected to be needed ready-made, and that are built intelligently enough internally to allow objects and features to be plugged together without having to worry about technical details.
In this way, completely new developments are productively available after only a few weeks, instead of having to wait for them for many months or even years. Program extensions are possible at any time and are ready for use after just a few days instead of months. This is a dream for those responsible in the specialist departments – but at the same time a great challenge for the IT managers who are responsible for the security and stability of the entire IT system.
The emerging concerns are understandable, but the advantages of low-code approaches compared to traditional software development are so immense that you can’t help but do it anyway. Established low-code platforms, such as SCOPELAND, already meet the highest security requirements today, perhaps even better than some handwritten software. This is because the standard software approach also enables data security, accessibility and much more ‘out of the box’.
What does the ‘Low’ in Low-Code mean?
The term ‘low code’, coined by Forrester Research in 2014, is well chosen in several respects. Not only because the tonal association suggests that sometimes the renunciation of something traditional might make sense. The ‘Low’ is particularly fitting: On the one hand, low-code platforms make it possible to get by with little handwritten program code, and on the other hand, one can limit oneself to low-threshold program code if something needs to be programmed for it.
This means that you don’t need to study computer science or be an IT expert to work with low-code platforms – a basic IT knowledge is sufficient. Even if the computer scientist can get more out of it, a non computer scientist can at least read the code, understand it and change it himself. Because: The object structures are already automatically generated by the platform, program loops ‘over all selected data sets’ are already available, and the common calculation and conversion functions are directly ready for use. Therefore the minimal program code, because in exceptional cases you have to supplement it, can be limited to comparatively simple function and variable definitions with simple action sequences and branches.
Operating principle of low-code platforms
If you look at low-code platforms in detail, you can see that the different products follow quite different concepts. What they all have in common is that they have a cockpit-like development platform with which browser applications or apps are interactively clicked together, and that the result of clicking together is available in a structured and declarative form (e.g. as metadata in a metadata database), so that the corresponding program parts can be further developed at any time.
Some low-code platforms are strictly tied to use in the cloud, and also to development in the cloud, while other tools or their runtime systems can also be installed on-premise. Accordingly, some work interpretatively, i.e. they require a runtime system installed on the server or in the cloud at runtime. Other tools, on the other hand, see themselves as a further development of model-driven software development and generate executable code, which is final ideally.
In some cases, a combination of both methods is used in order to develop highly interactive on a real living object and still be able to deliver pure program code. Probably this is the most promising way, at least for the use of the finished applications in the own computer center.
What almost all methods have in common is that in interactive developer mode not only the programs themselves, but also the underlying data model are developed at the same time. Database queries and views are just as easily clicked together interactively and then suitable visualisations are selected, e.g. form or table view or map, tree or chart controls. The connection of the controls to the data views is largely intelligent of its own.
Program interfaces are created by simply dragging the respective data views in the selected visualisation form onto the screen and linking them to each other. Form Designer and other manufacturer-specific design tools are then available for fine-tuning the layout and also for challenges such as responsive design, as well as for introducing suitable additional control elements.
In the course of these configurations, the basis of the required application logic is created automatically, at least to the extent that it can already be derived from the evolutionarily developed data model and from various property classifications that accumulate in the configuration process.
All providers thus pursue a relatively uniform basic methodology, and this is astonishingly far-reaching. Most applications are in fact almost finished before you reach the point where a gap arises between the automatically generated integrity and application logic and the real requirements of the business logic.
Another new term: Citizen Developer
Most low-code products target the exact interface between the central IT departments of a company and the actual users. There are different types of tools. Some are optimised for end users, others for IT professionals.
The most important target group of the low-code movement is always the one in between: IT experts in the specialist departments, as well as IT specialists, who over many years have familiarised themselves so deeply with the topics of the specialist departments that they are no longer actively at home in complex object-oriented programming. The new term Citizen Developer stands for this group of employees who are both skilled and at the same time sufficiently IT-expert. This is someone who is at home in the specialist department, but who is also able to program something if necessary.
It has long since ceased to be the case that the company has only IT gurus on one side, who are gathered around the CIO, and specialists who are completely unfamiliar with IT on the other. In almost all larger companies, a so-called Shadow IT has long since developed in which the specialist departments take care of their own specialist applications themselves, with more or less support from central IT. The shadow IT is driven by power users and technically oriented computer scientists and near computer scientists, all of whom can now call themselves Citizen Developers.
In terms of low-code platforms, experts speak of a factor of 10, which means that you can usually develop not only ten times faster, but also ten times more agile – in direct cooperation with the future users. In addition, a 10 times better quality is achieved, because the program code is prefabricated and less susceptible to errors, as well as ten times better adaptability and maintainability of the database application. The advantages of low-code technology are therefore so immense that it is always worth tolerating a certain functional limitation or, if necessary, programming a missing software component on a low-threshold basis.
Karsten Noack has published more articles in the t2informatik blog, including
Anna Zinßer is a freelance creative, user experience designer and creative coach from Karlsruhe. On a project basis, she supports IT companies both in product management (UX concepts, user analyses, problem statements, prototyping) and development (interaction design, design specifications, mockups). She improves the user experience of existing software products and helps to redesign innovative products with a focus on the end user and his needs.