Low-Code-Entwicklung

Was ist eine Low-Code-Entwicklung, welche Vorteile bietet sie und welche Low-Code-Plattformen gibt es?

Konfigurieren statt programmieren

Die Softwareentwicklung stellt viele Organisationen vor große Herausforderungen: Sie dauert relativ lange, sie ist oftmals kostenintensiv und häufig fehlen notwendige Entwicklungskapazitäten. Wäre es da nicht schön, wenn es eine Möglichkeit gäbe, Software schneller, effizienter und gegebenenfalls auch ohne – oder zumindst ohne weitreichende – Programmierkenntnisse zu entwickeln? Eine Antwort auf diesen Wunsch lautet: Low-Code-Entwicklung.

Die Low-Code-Entwicklung propagiert das Erzeugen von Anwendungen nahezu ohne Programmierung durch einfaches Zusammenklicken vorgefertigter Softwarebausteine. „Konfigurieren statt programmieren“ lautet die zugrunde liegende Idee. Möglich wird dies durch Low-Code und Low-Code-Plattformen.

Was bedeutet Low-Code?

Bereits in den frühen 1990er Jahren gab es das sogenannte Rapid Application Development. Es handelte sich um Programmierumgebungen, mit denen als erstes die grafische Oberfläche einer Desktop-Anwendung erzeugt und erst im Anschluss eine entsprechende Geschäftslogik implementiert wurde. Es folgten Ansätze des Model Driven Developments (MDD) – manchmal auch als Model Driven Software Development (MDSD) bezeichnet  -, Model Driven Architecture (MDA) und verschiedene Modellierungssprachen wie die Unified Modeling Language (UML), die System Modeling Language (SysML) oder die Business Process Modeling and Notation (BPMN). 2014 prägte das US-amerikanische Marktforschungsunternehmen Forrester Research den Begriff Low-Code. Und was ist nun Low Code? Handelt es sich vielleicht sogar um eine Art „minderwertigen“ Code?

Die Antwort auf diese Frage lässt sich über einen kleinen Umweg finden: neben der Low-Code-Entwicklung gibt es auch eine sogenannte No-Code-Entwicklung. Low Code bezieht sich nicht auf die Qualität des Codes, sondern auf die Code-Erstellung. Der überwiegende Anteil von Code wird bei der Low-Code-Entwicklung durch Konfiguration mit Hilfe einer Low-Code-Plattform erzeugt. Der Anteil manueller Code-Entwicklung ist im Vergleich zur konfigurierten Code-Menge gering, also „low“. Das Versprechen bei einer No-Code-Entwicklung lautet hingegen: der gesamte Code wird konfiguriert und eine manuelle Codeerstellung wird unnötig. Ob das in der Realität tatsächlich so funktioniert und wie qualitativ hochwertig dieser Code dann ist, steht möglicherweise auf einem anderen Blatt.

Manchmal ist zu lesen, dass Low-Code auch für Nicht-Programmierer leicht zu lesen und verstehen wäre. Das klingt gut, darf aber ebenfalls hinterfragt werden.

Was ist eine Low-Code Plattform?

Wer Low-Code entwickeln möchte, nutzt eine Low-Code-Plattform – manchmal auch als Low Code Development Plattform oder Low Code Automation Plattform bezeichnet. Es gibt eine Reihe von Anbietern, u. a.

Die verschiedenen Plattformen verfolgen unterschiedliche Konzepte und bieten unterschiedliche Funktionen. Grundsätzlich bieten sie aber alle

  • eine Präsentationsschicht mit visuellen Editoren zur Anordnung von User-Interface- bzw. Oberflächen-Elementen,
  • eine Geschäftslogikschicht – meist mit visuellen Editoren – für den Entwurf von Geschäftsentitäten und Prozessen,
  • eine Datenschicht zur Erzeugung von Geschäftsentitäten,
  • sowie Basisdienste wie Authentifizierung, Autorisierung etc.

an. Manche Plattformen werden in einer Cloud betrieben, andere on-premise installiert. Manche liefern ausführbaren Code und andere benötigen eine Laufzeitumgebung. Hier finden Sie eine schöne Beschreibung der Funktionsweise von Low-Code-Plattformen. 

Low-Code-Entwicklung - Anwendungen fast ohne Programmierung erstellen

Vorteile der Low-Code-Entwicklung

Folgende Vorteile kann eine Low-Code-Entwicklung bieten:

  • Low-Code-Plattformen sind für die Verwendung durch interne Teams konzipiert. Die Erzeugung von Low-Code kann Kosten senken, da keine externen Entwicklungsdienstleister benötigt werden.
  • Die Entwicklung von großen Teilen einer Anwendungen kann ohne explizite Programmierkenntnisse erfolgen. Möglich wird dies durch das Baukastenprinzip, manchmal auch als „Softwareentwicklung à la Lego“ bezeichnet.
  • Oftmals fehlen Unternehmen Kapazitäten in der Softwareentwicklung. Da auch Nicht-Programmierer mit den Plattformen Software entwickeln können, wird in gewisser Weise der Fachkräftemangel abgeschwächt. Hier lesen Sie, wie sich ein Low-Code-Team zusammensetzen sollte.
  • In vielen Unternehmen gibt es Bereiche, die selbständig – ohne Unterstützung einer zentralen IT – Software entwickeln. Ehemalige Entwickler und Software-affine Mitarbeiter wollen nicht monatelang auf interne Lösungen warten. Durch die Verwendung von Low-Code-Plattformen lässt sich eine sinnvolle Koexistenz zwischen zentraler IT und Schatten-IT realisieren.
  • Der Entwicklungszyklus lässt sich verkürzen, da die Anwendung fast parallel zur Spezifikation von Anforderungen entstehen kann.

In der Theorie klingen vielen Vorteile nachvollziehbar, in der Praxis müssen sie aber im Einzelfall erst bewiesen werden. Nach dem Pareto-Prinzip bzw. der 80-20-Regel liefern Low-Code-Plattformen 80% des Codes, die verbleibenden 20% verursachen aber 80% des Aufwands. Darüber hinaus gibt es u. a. Fragen nach der Performance der Plattformen, möglichen technischen Einschränkungen, den Lernkurven der Anwender, den Aufwänden für Services wie Schulung, Wartung und Pflege. Viele Anbieter versuchen solche und ähnliche Fragen mit Anwendungsszenarien, Referenzprojekten oder Studien von Marktforschungsunternehmen zu beantworten.

 

Hinweise:

Gartner, ein US-amerikanisches Analyse-Unternehmen, prognostiziert für 2024, dass mehr als 65% aller Software-Programme mit Low-Code realisiert werden. Wir dürfen also gespannt sein, wie sich die Zukunft von Low-Code entwickelt.
Bei Heise im Forum finden Sie ein spannendes Pro und Contra zu Low-Code-Development.

Wie funktioniert eigentlich …?

Erklärungen, Details, Hintergründe finden Sie in "Wissen kompakt"

Hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt:

Wissen kompakt: Was ist ein Citizen Developer?

Was ist ein Citizen Developer?

Wissen kompakt: Was ist Whitelisting?

Was ist Whitelisting?