Erfahrungsbericht: Kann man mit Low-Code wirklich 10x schneller Software entwickeln?

Tobias Sell |
25. Januar 2023 |
Plattformen wie Retool oder AppSmith werben damit, interne Anwendungen 10x schneller entwickeln zu können. Oracle setzt bei seiner Lösung namens Apex sogar noch eins drauf und spricht von 20x schnellerer Entwicklung. In diesem Beitrag möchte ich unsere Erfahrungen teilen und bewerten, was an dem Leistungsversprechen dran ist. Wir haben uns in den letzten Monaten über fünfzehn verschiedene Lösungen angesehen und zwei davon sogar aktiv bei Kunden und uns selbst im produktiven Einsatz.

Was sind Low-Code-Plattformen

Wenn wir in diesem Beitrag von Low-Code-Plattform sprechen, meinen wir Entwicklungsumgebungen, mit denen sich vollwertige Business-Anwendungen entwickeln lassen. Vom Preisrechner bis hin zum eigenen CRM oder ERP-System. Aus dieser Gruppe schließen wir einfache Workflow- und Wenn-Dann-Plattformen aus. Auch Web-Tools, die sich als Low-Code bezeichnen, weil man bei ihrer Nutzung keinen Code benutzen muss, haben wir hier nicht betrachtet.

Es wurde kein Alt-Text für dieses Bild angegeben.
CXM Tracking App in Retool

Eine Low-Code-Plattform bietet die Möglichkeit, eine oder mehrere Apps zu erstellen, die aus mehreren, miteinander verlinkten Anwendungsseiten bestehen. Für diese Seiten gibt es eine Vielzahl fertiger Komponenten, mit denen man ohne zu programmieren Anwendungen zusammen klicken kann. Ganz ohne Code geht es dann doch nicht, daher auch der Name Low-Code. Beim Verbinden von Datenquellen und Komponenten muss am Ende ein wenig programmiert werden. Dieser Programmieraufwand ist jedoch auf ein Minimum reduziert.

Ein Low-Code-Tool ist vermutlich in fast jedem Unternehmen bereits im Einsatz. Microsoft Excel wird häufig für kleine Anwendungen in Unternehmen gebraucht. So gibt es Preisrechner, Finanzkalkulation und Auswertungstools, die mit mehr oder weniger Programmieraufwand erstellt wurden. Der Low-Code besteht hier aus den ganzen Excel-Formeln, die in so manchem Excel-Dokument ganz schön komplex werden.

Es wurde kein Alt-Text für dieses Bild angegeben.
Aktien-Watchlist in Google Apps – Tabellenkalkulation – Irgendwie auch LowCode/NoCode

So kann man sich Low-Code in etwa vorstellen, nur dass es viel mehr Komponenten gibt. Darüber hinaus lassen sich der Datenfluss und der Zugriff auf Datenfelder deutlich besser und komfortabler steuern.

Was macht eine Low-Code-Entwicklung potentiell schneller und effektiver?

Kommen wir zu der Anfangsfrage zurück, ob eine 10- oder sogar 20fach schnellere Entwicklung überhaupt realistisch ist.

Es gibt vor allem vier Bereiche, wo in der Entwicklung deutlich Zeit eingespart werden kann. Auf diese werde ich im Folgenden genauer eingehen.

  • Setup
  • UI/UX
  • Testing
  • MaintainanceP

Zeitersparnisse im Setup

In einem Softwareprojekt wird viel Zeit in das initiale Setup gesteckt. Die Entwicklungsumgebung wird eingerichtet, CI-Pipelines, Source-Control, Testing etc. Jeder Entwickler muss dazu eine lokale Entwicklungsumgebung aufsetzen. Auch wenn moderne Entwicklungsprojekte auf viele Bibliotheken zurückgreifen, müssen diese installiert und eingebunden werden. Dabei vergeht einiges an Zeit.

Low-Code-Plattformen bringen all dies von Haus aus mit. Nutzt man die bereitgestellte SaaS-Variante der Anbieter, kann man direkt nach der Registrierung loslegen und muss sich um all dies keine Sorgen machen.

Da die global verfügbare SaaS-Variante für viele Unternehmen ein Datenschutzproblem ist, lassen sich fast alle Plattformen auch in der eigenen Infrastruktur (On-Premise) installieren. In diesem Fall entsteht etwas mehr Aufwand, der aber trotzdem deutlich unter dem liegt, was bei Full-Code-Projekten gebraucht wird.

In unseren Projekten waren wir hier mehr als 10x schneller für das initiale Setup.

Zeitersparnisse bei UI/UX

Es wurde kein Alt-Text für dieses Bild angegeben.
Persönliche Einschätzung der Arbeitsverteilung von Full-Stack Projekten

In Low-Code-Projekten setzt man ausschließlich von der Plattform angebotene UI Komponenten für seine Software ein. Bei einigen Anbietern lässt sich die Palette durch eine eigene Entwicklung erweitern. Das klammern wir in diesem Kontext einmal aus, da wir dann eigentlich nicht mehr von Low-Code sprechen können.

Dadurch, dass man nur einen eingeschränkten Bausatz zur Verfügung hat, verliert man bei der Entwicklung kaum Zeit. Alles wird so verwendet, wie es der Anbieter vorsieht. Das ist ein riesiger Zeitvorteil, aber natürlich auch ein riesiger Nachteil am Low-Code-Ansatz.

In einem unserer Projekte haben wir zum Beispiel eine Text-Editor-Komponente verwendet, die die Möglichkeit bot, Bilder in den Text einzupflegen. Da unser Datenmodel das gar nicht vorsieht, bleibt diese Funktion ungenutzt. Die Komponente bietet aber nicht die Möglichkeit, diese Funktion abzuschalten. Was ein deutlicher Nachteil für die Nutzererfahrung (UX) ist. Dafür war der Aufwand, die Datensätze mit Hilfe eines Texteditors zu bearbeiten, sehr niedrig. Die Anforderungen konnten in wenigen Minuten umgesetzt werden.

Nach unserer Erfahrung spart Low-Code vor allem bei internen Anwendungen und MVPs extrem viel Zeit ein, da man hier die Nachteile einfacher kompensieren kann.

Zeitersparnisse beim Testen

Hier gibt es zwei Aspekte zu beachten. Zum einen kann man bei der Software-Entwicklung grundsätzlich sagen, dass jede Zeile Code Geld kostet. Denn jede einzelne Zeile muss durchdacht, entwickelt, getestet und gegebenenfalls überarbeitet werden. Mit jeder Zeile steigt die Komplexität und damit auch der Arbeitsaufwand. Da Low-Code sich dadurch auszeichnet, dass auf möglichst viel Code verzichtet wird, entsteht hier das größte Einsparpotential.

Zum anderen greift die Low-Code-Entwicklung überwiegend auf fertige und bereits getestete Komponenten zurück, daher sinkt der Testaufwand enorm.

Viele Low-Code-Plattformen haben daher dem Thema Testing wenig Beachtung geschenkt, was vermutlich jetzt Gänsehaut bei den testgetriebenen Software-Entwicklern unter uns erzeugt.

Zeitersparnis beim Maintenance

Da der größte Teil einer Low-Code-Anwendung vom Plattform-Entwickler bereitgestellt wird, übernimmt dieser auch einen großen Teil der Wartungsarbeit.

Es gibt keine Bibliotheken und Abhängigkeiten, die von den Entwicklern verwaltet werden müssen. Nur bei einer On-Premise-Installation gibt es überhaupt den Aufwand, dass die Installation regelmäßig auf den neuesten Stand gebracht werden muss.

Wie bereits erwähnt fällt auch die Wartung des eigentlichen Source-Codes (Refactoring) niedriger aus, da es schlichtweg weniger Code zu warten gibt.

Unsere Erfahrung hier ist, dass dieser Vorteil vor allem bei kleineren Low-Code-Anwendungen entsteht. Sobald eine Low-Code-Anwendung riesig wird, kann auch hier das Refactoring aufwändig sein, da in der Regel wenig zentralisiert wurde und somit viele Teile der Anwendung manuell angepasst werden müssen.

Funktioniert Low-Code wirklich so gut?

Es wurde kein Alt-Text für dieses Bild angegeben.
CX Reifegrad Prototyp in JetAdmin

Abschließend vielleicht die Frage, ob Low-Code wirklich die Full-Code-Entwicklung ersetzen kann. Die Antwort ist ein klares Jein.

Mit Low-Code lassen sich komplexe Business-Anwendungen wie zum Beispiel ein CRM oder ERP-System erstellen. Da bei Business-Anwendungen immer wieder die gleichen Komponenten (Formulare, Tabellen und Charts) zum Einsatz kommen, haben die Anbieter meist sehr gute Lösungen parat. Anwendungen, die darüber hinaus komplexere UI-Komponenten verwenden (3D-Modellierung, Bildbearbeitung…), kommen stark an ihre Grenzen und scheitern auch an der Erweiterbarkeit von Low-Code-Anwendungen.

Je nach Anwendungsfall müssen bei der Low-Code-Entwicklung aber auch viele Kompromisse eingegangen werden. So manche Funktion lässt sich nur über Umwege umsetzen. Die ein oder andere Oberfläche ist dann nicht so smart umgesetzt, wie man es sich vielleicht vorgestellt hat.

Alles in allem gab es bisher aber immer Mittel und Wege, die Anforderungen in den Projekten umzusetzen.

Low-Code im Einsatz: Wofür eignet sich Low-Code sehr gut und wo weniger?

Low-Code ist da stark und schlägt Full-Code um Längen, wo es seine Vorteile komplett ausspielen kann und die genannten Nachteile nicht stark ins Gewicht fallen.

Das ist vor allem bei MVPs und internen Anwendungen der Fall. Dort, wo bestehende Excel-Listen durch Low-Code Anwendungen mit weniger Fehlerquellen und mehr Nutzerkomfort ersetzt werden können. Da, wo Prozesse gerade mit Hilfe von E-Mails und Formularen abgedeckt werden.

Auch der Einsatz für die Entwicklung einer ersten Version, eines Minimum Viable Products (MVPs), bietet sich Low-Code sehr gut an. Unsere Erfahrung hat gezeigt, dass jedes erfolgreiche Software-Projekt eine V2 bekommt. Warum nicht die erste Version so schnell und effektiv hinter sich bringen wie möglich? Mit Hilfe von Low-Code lässt sich sehr schnell eine Business-Logik umsetzen und Anwendern zur Verfügung stellen. Erst im Einsatz ergeben sich die meisten Anforderungen, auf die mit Low-Code deutlich schneller reagiert werden kann, als bei einer Full-Code-Entwicklung.

So hat die Praxis gezeigt, dass ein Projekt sehr gut in Low-Code beginnen kann und sich dann in ein Full-Code-Software-Projekt umwandeln lässt.

Mit Hilfe des Low-Code-Starts entsteht das Datenmodel und die gesamte Business Logik. Diese kann anschließend in ein eigenes Full-Code-Backend überführt werden. Ganz zum Schluss wird die Low-Code-Oberfläche gegen Full-Code getauscht.  Diese hybride Entwicklung ist deutlich effektiver.

Teilen Sie meine Erfahrungen? Kommentieren Sie gerne meinen Beitrag.

Folgen Sie uns auf unseren Social Media Accounts um keinen neuen Blogartikel zu verpassen.

linkedin     xing     facebook     twitter

×
Haben wir Ihr Interesse geweckt? Dann schreiben Sie uns gerne an.
JETZT KONTAKT AUFNEHMEN

Folgen Sie uns auf unseren Social Media Accounts, um keinen neuen Blogartikel zu verpassen.

linkedin     xing     facebook     twitter

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert