Africa Studio - stock.adobe.com
Die Vor- und Nachteile von Low-Code-Plattformen bewerten
Low-Code-Plattformen sind intuitiv und zeitsparend, doch Sicherheits- und Compliance-Bedenken können diese Vorteile abschwächen. Die Vor- und Nachteile der Plattformen.
Der Reiz von Low-Code- und No-Code-Plattformen ist schnell erklärt: Einzelpersonen und Teams, denen es an Programmier-Know-how mangelt, können mit diesen Tools professionelle Software erstellen. Sie müssen nicht Tausende oder Zehntausende von Codezeilen schreiben.
Der Prozess der Low-Code-Entwicklung umfasst in der Regel eine visuelle Drag-and-Drop-Oberfläche, auf der Anwender ihre Ideen festlegen können. Anschließend nutzen sie auf einfache Weise die Routinen und Bibliotheken innerhalb der Plattform zur Erstellung der eigentlichen Codebasis.
Low-Code ist die Abkürzung für diese Art der Softwareentwicklung. Das Konzept von Code-Shortcuts ist allerdings nicht neu. Schon seit vielen Jahren beschleunigen integrierte Entwicklungsumgebungen (IDEs) und automatisierte Entwicklungswerkzeuge das Erstellen und Testen von Software.
In ähnlicher Weise nutzen Entwickler Open-Source-Software, um in den oft hektischen Entwicklungsplänen wertvolle Zeit einzusparen und Produkte schneller zu erstellen. Letztendlich ist das Ziel, alltägliche und redundante Schritte aus dem Software Development Life Cycle (SDLC) zu eliminieren.
Low-Code-Plattformen haben auf den ersten Blick also beträchtliche Vorteile. Sieht man genauer hin, bergen sie aber auch potenzielle Probleme, die vor der Einführung zu berücksichtigen sind. Schauen wir uns deshalb einmal die Vor- und Nachteile von Low-Code-Plattformen detaillierter an.
Vorteile von Low-Code-Plattformen
Der unmittelbarste Vorteil von Low-Code ist die schnellere und agilere Entwicklung. Das manuelle Schreiben vieler Codezeilen sowie die Beachtung der korrekten Syntax und Befehlsbildung nehmen viel Zeit in Anspruch – Zeit, die in der heutigen Softwareentwicklung eigentlich gar nicht mehr vorhanden ist.
Low-Code-Plattformen bieten die Möglichkeit, Aufgaben als übergeordnete Ideen auszudrücken. Sobald der Benutzer diese Ideen spezifiziert hat, kombiniert die Plattform Bibliotheken und Algorithmen und generiert damit einen Großteil der Basis für den eigentlichen Softwarecode. Zu beachten ist jedoch, dass die Anwendung möglicherweise eine zusätzliche manuelle Programmierung erfordert. Beispielsweise, um bestimmte Integrationen durchzuführen, wie den Zugriff auf ältere oder bereits vorhandene Anwendungen oder die Erstellung spezifischer Berichte.
Mit der grafischen Programmierung von Low-Code-Plattformen können IT-affine Mitarbeiter ganz einfach selbst Anwendungen erstellen, erweitern oder optimieren. Dadurch wird die IT-Abteilung entlastet, da sie sich nicht mit einfacheren, immer wiederkehrenden Aufgaben auseinandersetzen muss. Das spart Geld und Ressourcen für komplexe Aufgaben.
Low-Code-Plattformen ermöglichen nicht nur eine schnellere Softwareentwicklung, sondern können auch Aktualisierungen und Änderungen am Produkt beschleunigen. Künftige Anpassungen lassen sich einfacher umsetzen, da Low-Code in der Regel selbsterklärend ist.
Mit Low-Code-Plattformen können Nicht-Programmierer wie Experten aus den Fachabteilungen am Softwareentwicklungsprozess produktiv teilnehmen. Einzelne Benutzer oder Abteilungen sind so in der Lage, ihre eigenen Anwendungen effektiv zu erstellen. Nicht-Entwickler können fachliches Wissen ohne Umweg in die Applikationen einbringen. Sie können damit besser Anforderungen oder Zeitplänen gerecht werden, ohne dass das Kern-Softwareteam eingebunden wird und direkt daran arbeitet. Zudem kann sich die fachliche Qualität der Anwendungen verbessern.
Jede Plattform bietet die Möglichkeit, Standards festzulegen und Code zu verfolgen, und stellt damit eine gemeinsame und überprüfbare Umgebung zur Verfügung. Entwickler können auf die verschiedenen Projekte zugreifen und eingreifen, wenn eine Anwendung Korrekturen, Optimierungen und andere Unterstützung benötigt.
Unternehmen, denen es an qualifizierten Entwicklern mangelt, können Low-Code-Plattformen verwenden, um mögliche personelle Lücken zu schließen. Alles, was ein Low-Code-Benutzer wirklich braucht, ist ein klares Verständnis der richtigen Geschäftsabläufe. Ein Unternehmen kann also im Wesentlichen die Entwicklungsproduktivität einer breiteren Gruppe von normalen Mitarbeitern überlassen und diese steigern – ohne mehr oder zumindest ebenso viele Entwickler einstellen zu müssen.
Eine Low-Code-Plattform kann auch die Business Governance verbessern und die Risiken verringern, die durch nicht genehmigte oder unseriöse Programme entstehen. Die Folge ist oft Schatten-IT. Ein zentrales Risiko der Schatten-IT ist der Verlust der Kontrolle über den Entwicklungsprozess. Verschiedene Programmiersprachen, Codierungsstile, Open-Source-Lizenzierungsprobleme und viele andere Probleme gefährden möglicherweise die Einhaltung und Governance.
Low-Code-Benutzer können eine Reihe gemeinsamer Elemente für die Regelsätze und Einstellungen festlegen, die die Plattform verwendet, um den eigentlichen Code zu erstellen. Sie können auch die Verwendung des Tools durch die Teammitglieder bestimmen. Es ist außerdem möglich, Benutzer und Modifikationen zu verfolgen, um überprüfbare Aktivitäten und Änderungsprotokolle zu erstellen.
Eine Low-Code-Plattform hat auch positive Auswirkungen auf die Anwendungsanalyse und den Lifecycle-Support. Tools, die die Software instrumentieren können, unterstützen dies. Benutzer können zum Beispiel Daten für das Geschäfts- und Entwicklungsteam sammeln, um die praktische Leistung der resultierenden Anwendung im Laufe der Zeit zu überprüfen.
Mit diesen Informationen können Teams die Leistung der Anwendung mit anderen internen Apps vergleichen. Und sie können bestimmen, wann die Anwendung aktualisiert werden muss, einen Patch benötigt, und ermitteln, wann die Low-Code-Anwendung möglicherweise das Eingreifen eines Entwicklers erfordert, um komplexe Probleme zu lösen.
Nachteile von Low-Code-Plattformen
Obwohl die Vorteile von Low-Code-Plattformen ziemlich überzeugend sind, gibt es einige potenzielle Nachteile und Risiken von Low-Code-Tools. Diese sollte jedes Unternehmen vor dem Einsatz der Tools bewerten. Die größten potenziellen Nachteile betreffen die Einschränkungen der Plattform selbst: keine zwei Plattformen und ihre jeweiligen Limitierungen sind gleich.
Erstens kann der von einem Tool produzierte Code nicht optimiert sein. Programmierer wissen, dass es viele Möglichkeiten gibt, verschiedene Aufgaben zu lösen, und die Codierung von Hand ist die einfachste und eleganteste Antwort auf viele Programmierprobleme. Die manuelle Codierung kann auf die kürzeste und effizienteste Weise Funktionen erstellen, was die Gesamtgröße der fertigen Anwendung reduziert und die Leistung erheblich steigert.
Die große Herausforderung bei Low-Code-Plattformen ist: Sie müssen in der Regel übergeordnete Aufgaben in Form von Bibliotheken mit vordefiniertem Code ausdrücken. Diese Code-Bibliotheken müssen so viele Aufgaben und Bedingungen wie möglich bewältigen. Nur so können sie eine breite Palette von Anwendungen mit geringem Codebedarf erstellen.
Dies führt aber zu einer größeren Codebasis, als es die meisten tatsächlichen Anwendungen erfordern. Ähnliche Probleme treten bei der Verwendung etablierter Bibliotheken auf, wie zum Beispiel bei Open-Source-Softwarekomponenten. Wenn Sie den Code eines anderen Benutzers verwenden, ist dieser möglicherweise nicht so gut oder effizient, wie Sie möchten.
Low-Code-Benutzer wissen nicht, wie der zugrunde liegende Code funktioniert – wie er geschrieben ist und ob der Code kompromittiert ist. Dies bedeutet, dass die Low-Code-Plattform Sicherheits- und Compliance-Risiken für das Unternehmen mit sich bringen kann.
Erfahrene Entwickler können bestimmen, was jede Codezeile in einer manuell entwickelten Anwendung macht. Und sie können mit bewährten Methoden codieren, um häufige Fehler zu vermeiden, die zu Sicherheitsproblemen führen, wie zum Beispiel eine nachlässige Fehlerbehandlung. Eine starke Sicherheitseinstellung ist eine Kernkomponente der Compliance-Strategie eines Unternehmens, insbesondere in stark regulierten Branchen.
Man sollte daher auf bekannte Schwachstellen testen, um mögliche Sicherheitslücken in der Codebasis zu identifizieren. Die zugrunde liegenden Risiken können jedoch für einige Organisationen und Compliance-Beauftragte zu schwerwiegend sein, um sie zu ignorieren. In diesem Fall kann die Verwendung einer Low-Code-Plattform zur Erstellung von Code, der nicht den bewährten Methoden entspricht, die Compliance-Standards des Unternehmens verletzen. Dies gilt auch dann, wenn die resultierende Anwendung tatsächlich sicher ist.
Besonders bei komplexen und datenlastigen Anwendungen stößt Low-Code schnell an seine Grenzen. Man sollte beachten, dass Low-Code-Plattformen die Vielseitigkeit oder die Use Cases einschränken, da sie im Grunde nur Workflows und Ideen auf höherer Ebene in Anwendungscode umsetzen.
Alle Optionen offenhalten
Auf dem Low-Code-Entwicklungsmarkt gibt es inzwischen mehr als 60 Anbieter. Einige Plattformen sind universell einsetzbar, während andere auf Bereiche wie Datenbanken oder Geschäftsanwendungen spezialisiert sind. Einige Anbieter richten sich speziell an Nicht-Programmierer, während andere für professionelle Programmierer geeignet sind, die ihr tägliches Arbeitspensum beschleunigen wollen.
Eine bestimmte Plattform passt nicht für alle Zwecke. So wie eine Programmiersprache möglicherweise nicht für jedes Entwicklungsprojekt geeignet ist, zeigen die Vor- und Nachteile jeder Low-Code-Plattform, für welchen Einsatzzweck sie vorgesehen ist. Evaluieren und testen Sie verschiedene Low-Code-Plattformen, bevor Sie sie übernehmen. Und vergleichen Sie die jeweiligen Vorteile mit den jeweiligen Projekt- oder Geschäftsanforderungen.
Somit ist eine Plattform nur so gut wie ihre Fähigkeit, abstrakte Ideen zu übersetzen. Je nach Plattform ist die Implementierung einiger Funktionen möglicherweise schwierig oder sogar unmöglich. Wenn eine Plattform den erforderlichen Code für eine Aufgabe nicht generieren kann, muss ein erfahrener Entwickler eventuell ein Modul, eine Bibliothek oder einen anderen angepassten Code erstellen, um diesen zu implementieren.
Low-Code-Tools können auch Integrations- und Interoperabilitätsprobleme aufwerfen. Moderne Unternehmensanwendungen lassen sich routinemäßig über ein gemeinsames Kommunikationsmittel wie eine etablierte Programmierschnittstelle (API) in andere Tools integrieren.
Allerdings gibt es keine Garantie dafür, dass eine Low-Code-Plattform APIs oder andere für das Softwareprojekt erforderliche Integrationsformen unterstützt. Auch hier muss ein professioneller Entwickler möglicherweise APIs oder andere Schnittstellen erstellen und verwalten, um die Integration zu erleichtern.
Und schließlich: Man sollte die Auswirkungen eines möglichen Vendor Lock-ins abwägen. Wenn Teams eine Low-Code-Plattform für Prototypen oder Tests verwenden und Programmierer Code für die eigentliche Produktions-App schreiben und optimieren, ist das Lock-in-Risiko geringer. Aber für Teams, die Low-Code zur Erstellung von Anwendungen verwenden, kann komplizierter oder schlecht dokumentierter – und sogar undokumentierter – Code erzeugt werden, der außerhalb der Plattform nur schwer zu warten ist.
In extremen Fällen ist der Code möglicherweise sogar außerhalb der jeweiligen Plattform nicht zugänglich. Anwender sollten daher auch die Möglichkeit bewerten, wie sich Code exportieren lässt und wie man auf ihn zugreifen sowie ihn mit Unterstützung der Editoren und Softwareentwicklungs-Tools anderer Anbieter bearbeiten kann.