High Times für Low Coder
Von Roland Freist
Low Code und No Code versprechen, die Anwendungsentwicklung so zu vereinfachen, dass sie auch von einigermaßen begabten Laien erledigt werden kann. Möglich machen sollen das neue Low-Code-Plattformen, mit denen sich die geforderten Lösungen entweder mit wenigen Zeilen einfachem Code zusammenfügen (Low Code) oder sogar komplett mit der Maus zusammenklicken lassen (No Code). Für Unternehmen ist das natürlich eine reizvolle Vorstellung. Sie hoffen, auf diese Weise auf die Dienste knapper und teurer professioneller Entwickler verzichten zu können. Die Programmierer wiederum sehen den Hype um Low Code und No Code nicht nur aus diesem Grund eher skeptisch.
Programmieren per Drag-and-drop
Der Einfachheit halber fassen wir die beiden Begriffe im Folgenden zu Low Code zusammen. Was genau verbirgt sich dahinter? Geprägt wurde der Begriff bereits 2014 von zwei Analysten des Marktforschungsunternehmens Forrester Research. Die Idee jedoch, Anwendungsentwicklung nach einem Baukastenprinzip zu gestalten, bei dem der Anwender die gewünschte Softwarelösung per Drag-and-drop zusammenfügt, ist sogar noch älter. Entsprechende Ansätze und Werkzeuge nannten sich in vergangenen Jahrzehnten beispielsweise Rapid Application Development (RAD) oder 4GL Tools. Auch Programmierwerkzeuge wie Delphi oder Visual Basic sind in dieser Tradition zu sehen. Dahinter stand der Gedanke, Programmierer vor allem bei Routineaufgaben zu entlasten, sodass sie sich auf größere und anspruchsvollere Projekte konzentrieren können.
Low Code setzt dieses Prinzip fort und will die Entwicklung so weit vereinfachen, dass auch technisch interessierte Mitarbeiter aus den Fachabteilungen, sogenannte Citizen Developer, mit wenig bis gar keinen Programmierkenntnissen schnell eine Anwendung zusammenstellen können. Anstatt der IT-Abteilung erst umständlich erklären zu müssen, was genau sie benötigen, bauen sie sich ihre Anwendung einfach selbst.
Voraussetzung dafür sind Low-Code-Plattformen, wie sie in den vergangenen Jahren von zahlreichen Softwareherstellern vorgestellt wurden. Die Mehrheit dieser Plattformen sind webbasiert, eine lokale Installation ist in den meisten Fällen überhaupt nicht möglich. Sie unterstützen die Anwender vor allem beim Aufbau von Anwendungen, mit denen sich häufig wiederkehrende Aufgaben automatisieren lassen. Beispiele sind etwa Benachrichtigungen per E-Mail, sobald ein neuer Beitrag im Firmenblog veröffentlicht wurde, die Verarbeitung von Geodaten bei der Erfassung von Bildern oder auch die Umwandlung von Excel-Sheets in eigenständige Apps. Daneben existieren aber durchaus auch aufwendige Programmierumgebungen, mit denen sich auch komplexe Projekte umsetzen lassen.
Schwarz auf Weiß
Dieser Beitrag ist zuerst in unserer Magazinreihe „IT & Karriere“ erschienen. Einen Überblick mit freien Download-Links zu sämtlichen Einzelheften bekommen Sie online im Pressezentrum des MittelstandsWiki.
Gemeinsam ist diesen Plattformen, dass sie mit grafischen Schnittstellen arbeiten, mit denen der Nutzer die verschiedenen Elemente auf der Benutzeroberfläche seiner Anwendung gestalten kann. Der dahinterstehende Code wird automatisch von der Software erzeugt. Vorbild sind dabei die Web-Baukästen, die viele Internet-Provider ihren Privatkunden für die Gestaltung der eigenen Homepage kostenlos zur Verfügung stellen. Bei den Low-Code-Plattformen kommt in der Regel noch eine weitere Schicht dazu, auf der die Benutzer auch die Datenquellen für ihre Anwendungen wie etwa Datenbanken oder Tabellen mit grafischen Editoren einbinden können. Und auch die Definition, was etwa beim Klick auf einen bestimmten Button geschieht, erfolgt mithilfe von grafischen Werkzeugen. In den meisten Fällen müssen darüber hinaus auch einige Zeilen selbst geschriebener Code eingefügt werden. Von den Anwendern werden also zumindest rudimentäre Programmierkenntnisse verlangt.
Doch nicht nur für Laien sind solche Werkzeuge interessant. Auch ausgebildete Entwickler profitieren von Low-Code-Plattformen. Große, professionelle Programmpakete wie Structr, Mendix oder Appian bieten an, den Nutzer bei der Datenmodellierung und der Implementierung der Business-Logik zu unterstützen und ihm einen großen Teil der erforderlichen Code-Generierung abzunehmen.
Die Nachteile beachten
Wer jedoch glaubt, damit werden ausgebildete, qualifizierte Programmierer in Zukunft überflüssig sein, der sollte sich nicht zu früh freuen. Denn der Einsatz von No-Code- und Low-Code-Plattformen birgt auch gravierende Nachteile, die jedes Unternehmen in seine Überlegungen einbeziehen sollte, bevor es auf diese Art von Software baut. Einige davon sind grundsätzlicher Natur, andere ergeben sich aus der Arbeitsweise der Plattformen. Die Schattenseiten einer vermeintlich besonders ökonomischen, anwenderorientierten und schnellen App-Entwicklung zeigen sich oftmals erst in der Praxis, zentrale Problemstellen lassen sich allerdings rasch identifizieren.
- Datenschutzrechtliche Fragen: Kaum eine Low-Code-Software lässt sich lokal installieren. Die überwiegende Mehrheit dieser Programme bezieht der Anwender aus der Cloud des Herstellers. Handelt es sich dabei um eine Firma mit Sitz außerhalb der EU, ist Vorsicht geboten. Denn sobald die Anwendungen personenbezogene Daten verarbeiten, greifen die Bestimmungen der europäischen Datenschutzgrundverordnung (DSGVO). Bereits innerhalb der EU müssen die Unternehmen in diesem Fall strenge Regeln befolgen. Die Übermittlung der Daten auf Cloud-Server etwa in den USA kann sogar illegal sein.
- Abhängigkeit: Anwendungen lassen sich nicht von einer Plattform auf eine andere portieren. Wenn ein mit Low-Code-Software entwickeltes Programm später an neue Anforderungen angepasst oder erweitert werden soll, muss wieder die ursprüngliche Plattform eingesetzt werden. Das Unternehmen gewinnt also nicht an Eigenständigkeit, es macht sich vielmehr abhängig von dem jeweiligen Hersteller.
- Komplexität: Der Einsatz einer Low-Code-Plattform erhöht die Komplexität einer Software und erhöht damit die potenziellen Fehlerquellen. Wenn sie beispielsweise eine API für eine Verbindung zwischen zwei Systemen bereitstellt, kommt eine zusätzliche Abstraktionsschicht hinzu. Diese zusätzliche Komponente kann fehlerhaft oder auch einmal nicht erreichbar sein. Spätestens dann sind wieder die Profis gefragt.
- Unübersichtlicher Einsatz: Die Verfügbarkeit eines Low-Code-Tools in einem Unternehmen verführt die Fachabteilungen dazu, an der IT-Abteilung vorbei eigene Anwendungen aufzusetzen. Es droht die Gefahr, dass eine unübersichtliche und völlig unkontrollierte Schatten-IT entsteht.
Die Grenzen von Low Code
Der Einsatz von Low-Code-Plattformen eignet sich nicht für jede Anwendung. Insbesondere bei großen, komplexen Projekten stoßen selbst professionelle Produkte an ihre Grenzen. Hier ist nach wie vor das Können eines erfahrenen Programmierers gefragt. Tatsächlich gilt das auch für die meisten kleineren Entwicklungsprojekte. Denn bis echte Low- bzw. sogar No-Code-Plattformen verfügbar sind, die tatsächlich den kompletten Code für eine problemlos funktionierende Anwendung liefern, werden noch einige Jahre vergehen.
Die aktuell angebotenen Low-Code-Produkte sind eher als Vorläufer einer Softwaregattung zu sehen, die von wirklicher Perfektion noch weit entfernt ist. In den meisten Fällen ist es immer noch erforderlich, eigenen Code zu schreiben, um die Lücken zu füllen, welche die Plattform bei der Entwicklung nicht schließen konnte. In den seltensten Fällen sind die Programmierkenntnisse eines ambitionierten Einsteigers dafür ausreichend. Hinzu kommt, dass Low-Code-Plattformen eine Einarbeitungszeit erfordern, die umso länger ausfällt, je komplexer die Software ist. Ein professioneller Entwickler findet sich in einem solchen Programm weitaus schneller und letztendlich produktiver zurecht als ein Laie.
Mehr als maschinelles Codieren
Für eine anhaltend hohe Nachfrage nach Softwareentwicklern sprechen weiterhin Argumente, die auf die Unterschiede zwischen menschlichen Fähigkeiten und den Funktionen einer Software hinweisen. So liegen die Aufgaben eines Entwicklers ja nicht nur in der Programmierung neuer Anwendungen. Laut dem Dekra-Arbeitsmarktreport, der jedes Jahr rund 10.000 Stellenanzeigen in regionalen und überregionalen Tageszeitungen sowie in zwei Online-Jobbörsen auswertet, erwarten die Arbeitgeber von einem Entwickler, dass er durchschnittlich 4,6 Aufgabenbereiche übernimmt. Am häufigsten nennen die Stellenanzeigen neben der Softwareentwicklung das Validieren und Testen von Anwendungen, ihre Implementierung und Integration, Wartung und Anpassung, das Entwickeln der Softwarearchitektur, das Anlegen einer Anforderungsanalyse, Dokumentation, Qualitätsmanagement sowie Software- und Datenanalyse. Aufgaben, welche eine Low-Code-Plattform nicht erfüllen kann.
Aus dem Dekra-Report geht auch hervor, dass Softwareentwickler bei den Unternehmen nach wie vor sehr gefragt sind. Aktuell gibt es in Deutschland in diesem Bereich eine fünfstellige Zahl von offenen Stellen. Sorgen um ihren Lebensunterhalt müssen sich Programmierer derzeit also nicht machen.
Hinzu kommt, dass weder Low-Code-Plattformen noch KI-Tools in der Lage sind, die menschliche Kreativität bei der Suche nach neuen Lösungen zu ersetzen. Ebenso wenig ist es möglich, einer Software die Führungsrolle bei einer Anwendungsentwicklung zu übertragen oder ihr die Planung zu übergeben. Und schlussendlich darf man nicht vergessen, dass auch Low-Code-Plattformen programmiert werden müssen.
Meinen Highscore knackt kein Low Code
Low-Code-Plattformen können Softwareentwickler nicht ersetzen, sondern sie lediglich unterstützen und von Routineaufgaben befreien. Für Unternehmen kann es sinnvoll sein, einfache Programmierarbeiten künftig ambitionierten Mitarbeitern aus den Fachabteilungen zu übergeben, die dafür eine Low-Code-Software nutzen. Die Entscheidung, welche Anwendungen das betrifft, muss aber weiterhin die IT-Abteilung bzw. ein professioneller Entwickler fällen.
Vor allem komplexere Projekte werden nach wie vor die Domäne von ausgebildeten Programmierern bleiben. Sie können die Plattformen als zusätzliche Tools nutzen, die sie bei ihrer Arbeit unterstützen. Und: Die Einarbeitung in die Technik und Funktionsweise von Low-Code-Plattformen verschafft ihnen einen Wissensvorsprung, der ihre Position im Unternehmen zusätzlich festigt.
Roland Freist, Jahrgang 1962, begann nach einem Studium der Kommunikationswissenschaft ein Volontariat beim IWT Verlag in Vaterstetten bei München. Anschließend wechselte er zur Zeitschrift WIN aus dem Vogel Verlag, wo er zum stellvertretenden Chefredakteur aufstieg. Seit 1999 arbeitet er als freier Autor für Computerzeitschriften und PR-Agenturen. Seine Spezialgebiete sind Security, Mobile, Internet-Technologien und Netzwerke, mit Fokus auf Endanwender und KMU.
Redaktionsbüro Roland Freist, Fritz-Winter-Str. 3, 80807 München, Tel.: (089) 62 14 65 84, roland@freist.de