Low Code Tools erobern die Fachabteilungen und versprechen eine zügige Entwicklung von der Idee bis zur Auslieferung. Kunden und Entwickler arbeiten hier idealerweise Hand in Hand zusammen. Das Ziel: Die Software soll zeitnah zur Verfügung stehen.
Aus wirtschaftlichen Aspekten wird seit Jahren versucht, die Programmentwicklung zu vereinfachen und zu beschleunigen, zum Beispiel durch den Einsatz von Komponenten für wiederkehrende Aufgaben oder für ein schnelles Gestalten der Programmoberfläche. Diese Entwicklung ist nicht neu und hat alle Bereiche der Softwareentwicklung erfasst. Low Code und No Code sind die neuen Begriffe. Gegenüber den bekannten Tools aus dem Bereich des Rapid Applications Developments (RAD) gehen diese Tools noch einen Schritt weiter. Sie suggerieren ihren Anwendern, dass sich Softwareanwendungen auch mit wenig (Low Code) oder sogar gar ohne Quellcode (No Code) umsetzen lassen. Man spricht in diesem Zusammenhang von so genannten Low Code Plattformen. Dieser Begriff steht für Entwicklungsumgebung für Software, welche das Erstellen von Anwendungen unter Verwendung visueller Designer und anderer Modellierungsmethoden ermöglicht. Statt den Quellcode in althergebrachter Form manuell in einer ausgewählten Programmiersprache zu schreiben, versucht man große Teile der Applikation auf dem Wege der Konfiguration zu erstellen. Dabei geht es ausdrücklich nicht nur um ein Generieren des User Interface, sondern auch die anderen Teile der Anwendung, d.h. die Businesslogik und die Datenschicht sollen über Assistenten und andere Hilfen erstellt werden. Dieser Artikel gibt einen kompakten Überblick zu den aktuellen Möglichkeiten, den Einsatzgebieten und den Vor- und Nachteilen von Low Code Plattformen.

Low Code – so sagt es bereits der Name – steht für möglichst wenig Code bei der Erstellung von Software. Damit wird ein neuer Trend in der IT begründet. Das Ziel ist es, das klassische Codieren des Programmcodes durch die Arbeit mit Hilfe von grafischen Designern zu erleichtern oder so gar vollständig zu ersetzen. Grundsätzlich ist die Idee nicht neu. Schon immer wurde versucht die Arbeit des Softwareentwicklers durch hochintegrierte Tools zu vereinfachen. Das Ziel dieser Bemühungen ist es meistens die sehr oft projektentscheidende Time to Market zu verkürzen. Low Code Plattformen zielen vor allem auf das Erstellen von spezialisierten Business Applikationen für die unterschiedlichsten Aufgaben und Fachbereiche ab. Typisch sind Anwendungen für die Bewältigung der Aufgaben des Vertriebs, des Marketings oder der datenbasierten Produktionsplanung. Low Code Plattformen haben also das Ziel wiederkehrende Aufgaben der Softwareentwicklung zu standardisieren. Dabei setzen diese nicht auf technischer Ebene an, d.h. es geht nicht um die Wiederverwendung von Programmcode, sondern ihr Fokus ist die Ebene der Funktionen einer Software (Use Cases). Hier gibt es gerade im Bereich der Line of Business Anwendungen (LOB) ein großes Potenzial zur Standardisierung. Typische, sich wiederholende Aufgaben sind zum Beispiel: formularbasierte Datenerfassung, Validierung der Daten, Bereitstellung der Benutzeroberfläche als Web Applikation oder als App für die mobilen Systeme, lokale Datenhaltung, Umsetzung eines spezifischen Workflows (Business Logik) und die Anbindung an der neuen Software an die bestehende Unternehmens-IT.
Statt für die Aufgaben das Rad im sprichwörtlichen Sinn immer wieder neu zu erfinden, können hoch integrierte Werkzeuge – Low Code Plattformen – wertvolle Unterstützung leisten. Zielgruppe sind Entwickler und technikaffine Anwender in den Fachabteilungen. No Code Plattformen orientieren sich ausschließlich an Endanwender. In der Regel stellen die Low Code Plattformen dem Anwender folgende Möglichkeiten zur Verfügung:

  • quellcodearme oder quellcodelose Realisierung der Benutzeroberfläche
  • Umsetzung der Businesslogik zum Beispiel auf der Basis einer grafischen Modellierung der Geschäftsprozesse
  • Anbindung der Datenhaltung

Low Code Plattformen sind eine besondere Form einer Arbeits- und Entwicklungsumgebung. Viele der eben genannten typischen Aufgaben können durch die Verwendung von vorgefertigten Komponenten, einer umfassenden grafischen Interaktion und mittels Konfiguration erledigt werden. Einige solche Plattformen werden direkt über das Internet des Anbieters bereitgestellt. Die Anwender können daher direkt mit der Arbeit starten, ohne zuvor eine Software installieren zu müssen. Low Code Plattformen bieten bei richtiger Verwendung das Potenzial, die Effektivität der Softwareentwicklung zu steigern. Als einen sehr positiven Nebeneffekt fördern sie die Zusammenarbeit zwischen den verantwortlichen Fachexperten und den Softwareentwicklern. Das wird erreicht, in dem man versucht die System- und Medienbrüche während der Entwicklung zu reduzieren. Statt in jeder Phase der Softwareentwicklung andere Tools zu verwenden, soll idealerweise – vom Prototyp bis zum finalen Release – alles in einer Umgebung passieren. Man könnte auch sagen: Der Prototyp, welcher durch den Anwender eigenständig erstellt werden kann, ist bereits die erste frühe Version der späteren Software. Auf diese Weise entsteht die Idee eines durchgängigen Entwicklungszyklus.
Eine wichtige Zielgruppe sind somit die sogenannten Citizen Developer. Es sind nicht nur Mitarbeiter der Fachabteilungen mit guten bis sehr guten IT-Kenntnissen, welche auch in der Lage sind, im Bedarfsfall Applikationen zu erstellen, sondern auch Entwickler, welche sich in die Themen der Fachabteilungen eingearbeitet haben und über umfangreiche Fachkenntnisse verfügen. So haben Citizen Developer immer den Vorteil, dass sie sich mit den Anforderungen an die zu entwickelnde Software gut auskennen.
Zusammengefasst: Low Code Plattformen sind eine Antwort auf den immens steigenden Bedarf an angepassten Applikationen, welcher aufgrund der Digitalen Transformation (siehe Textkasten: „Digitalen Transformation“) in vielen Bereichen der Wirtschaft aktuell anzutreffen ist.

Der Einsatz von Low Code Plattformen bietet eine Reihe von Vorteilen, denn jetzt können nicht nur die Entwickler, sondern auch die Mitarbeiter in den Fachabteilungen richtig mitmachen. Technikaffine Anwender können die Applikationen weitgehend ohne Unterstützung von Entwicklern auf professionelle Art und Weise erstellen. Für die ersten Prototypen muss noch nicht mal eine Zeile Code geschrieben werden. Später im Laufe des Projektes können die Prototypen dann auch zu den finalen Applikationen erweitert und fertiggestellt werden, ggf. unter Mithilfe eines Softwareentwicklers. Anders als bei den speziellen Werkzeugen zur Erstellung von Prototypen wird der Softwareentwicklungszyklus dabei nicht unterbrochen (Bild 1). Low Code Plattformen zielen auf einen durchgängigen Entwicklungsprozess und liefern ggf. final den automatisch generierten Quellcode. Dieser kann durch Entwickler gleich weiterverarbeitet werden.

Bild 1: Low Code Plattformen können für einen durchgehenden Entwicklungszyklus sorgen.

In der Regel sind Low Code Plattformen sehr einfach in der Bedienung und sogar Anfängern fällt es nicht schwer mit diesen Tools zu arbeiten. Einerseits trägt dieses dazu bei, dass Anwender leicht „ins Boot geholt werden“ können. Andererseits ist es kein unwichtiges Argument, um für eine dauerhafte Motivation zu sorgen. Weiterhin unterstützen Low Code Plattformen das Ziel, die Time to Market zu reduzieren und somit Vorteile gegenüber der Konkurrenz zu erzielen.

Die Lizenzmodelle und Kosten der einzelnen Low Code Plattformen sind sehr unterschiedlich und müssen i.d.R. unter der Perspektive einer Gesamtbetrachtung (Total Cost of Ownership, siehe Textkasten) betrachtet werden. Wann der Einsatz einer Low Code Plattform und wann sich eine „herkömmliche“ Entwicklung lohnt, muss immer im Einzelfall entschieden werden.

Literatur und Links

[1] https://it-rebellen.de/2018/02/23/low-code-plattformen-eine-neue-aera-in-der-software-entwicklung-bahnt-sich-an/
[2] https://t3n.de/news/low-code-plattformen-944783/
[3]https://reprints.forrester.com/#/assets/2/225/RES144387/reports
[4] https://success.outsystems.com/Evaluation/Mobile/00_How_does_OutSystems_support_mobile_development