Low-Code

6 versteckte Gefahren, die Sie kennen sollten

31.08.2023
Von 
Peter Wayner schreibt unter anderem für unsere US-Schwesterpublikation InfoWorld.com und ist Autor verschiedener Bücher - unter anderem zu den Themen Open Source Software, autonomes Fahren und digitale Transaktionen.
Low-Code soll das Entwickeln von Anwendungen deutlich vereinfachen. Doch es gibt sechs gute Gründe, die gegen Low-Code sprechen.
Bei Einsatz von Low-Code lauern einige versteckte Gefahren.
Bei Einsatz von Low-Code lauern einige versteckte Gefahren.
Foto: CNGPICTURES - shutterstock.com

Die Versprechen klingen super - per Low-Code kann sich fast jeder ohne großartige Programmierkenntnisse seine eigenen Apps zusammenklicken. Und immer mehr Unternehmen bieten mittlerweile Lösungen an, die diesem Anspruch gerecht werden. Einige sind sogar so gut, dass sie den noch mehr gehypten Begriff No-Code zu Recht tragen.

Leider gibt es trotz aller Versprechen und unbestreitbarer Erfolgsgeschichten, Gründe, mehr als nur ein bisschen vorsichtig zu sein. Wir nennen sechs versteckte Gefahren, die beim Einsatz von Low-Code-Paketen lauern.

1. Automatisierung verdummt

Eines der Verkaufsargumente für Low-Code ist, dass Computer und Automatisierung den Menschen klüger machen, weil sie unsere Intelligenz um ein Vielfaches steigern. Das mag sein. Aber jeder wird auch feststellen, dass Menschen manchmal aufhören, selbst zu denken, je mehr sie sich auf Maschinen verlassen. Wenn der Algorithmus sagt, dass es das Richtige ist, dann wird es einfach gemacht.

Es gibt unzählige Beispiele für Katastrophen, die sich aus einer solchen Gedankenlosigkeit ergeben. So waren etwa im Jahr 2016 die US-Flughäfen überlastet und viele Flüge verspätet, weil eine Computerpanne das Flughafenpersonal verwirrte. Laut einer Zeitung wusste das Personal "nicht, wer bereits durch die Security gegangen war". In der Vergangenheit waren die Menschen in einer solchen Situation immer noch in der Lage, die Kontrolle zu übernehmen. Wenn wir anfangen, uns zu sehr auf Maschinen zu verlassen, vor allem angesichts der Verlockungen von Low-Code, werden wir dann noch in der Lage sein, solche Notfälle zu meistern?

2. Die Mehrheit entscheidet

Low-Code-Lösungen sind darauf ausgelegt, die Mehrheit zufrieden zu stellen. Sieht ein Unternehmen ein wenig anders aus, dann reichen womöglich die Anpassungsmöglichkeiten nicht aus.

Am Ende wird auch dieses Unternehmen beginnen, der Masse zu folgen, und sich ihr anzugleichen. Vielleicht spielt das keine Rolle, aber wenn ein Unternehmen auf einen eigenen speziellen Arbeitsablauf, Prozess oder Ansatz angewiesen ist, besteht die einzige Möglichkeit, dies zu unterstützen, darin, eigenen Code zu schreiben.

3. Nutzloser Code sammelt sich an

Wenn Menschen Code schreiben, machen sie sich natürlich so wenig Arbeit wie möglich, was erstaunlich effizient ist. Sie sparen nicht an der falschen Stelle, sie implementieren nur keine unnötigen Funktionen.

Low-Code-Lösungen haben diesen Vorteil nicht. Sie sind so konzipiert, dass sie für alle Fälle geeignet sind, was in Bezug auf Computercode bedeutet, dass Bibliotheken mit endlosen if-then-else-Anweisungen gefüllt sind, die alle Eventualitäten berücksichtigen

Low-Code ist von Natur aus weniger effizient, weil er sich ständig selbst testet und erneut testet. Diese Fähigkeit zur automatischen Anpassung ist die Magie, die die Anbieter verkaufen wollen.

Aber Low-Code ist auch viel weniger effizient als ein von Hand abgestimmter Code, der von jemandem geschrieben wurde, der das Geschäft kennt. Vielleicht ist dieser zusätzliche Aufwand am Anfang gar nicht so schlimm. Aber irgendwann, wenn etwa ein Projekt größer wird, muss jemand für all diese zusätzlichen if-then-else-Schleifen bezahlen.

4. Bias in der Maschine

Trotz der beeindruckenden KI-Fähigkeiten weiß niemand so recht, wie viel Voreingenommenheit und Ungenauigkeit sich in den dahinterliegenden Modellen verbirgt. Low-Code-Plattformen haben das gleiche Problem.

Das ist kein neues Problem. Es ist nur so, dass wir seit Jahrtausenden mit menschlichen Vorurteilen zu kämpfen haben und viele Methoden entwickelt haben, um sie erfolgreich zu bekämpfen. Wir sind nicht perfekt, aber wir kennen einige unserer Schwächen.

Low-Code-Systeme sind dagegen neu. Wir fangen gerade erst an zu verstehen, wie sie subtile und nicht so subtile Fehler machen können. Wenn wir erst einmal unsere Ehrfurcht überwunden haben und nicht mehr automatisch den magischen Algorithmen vertrauen, werden wir vielleicht einen Weg finden, die darin verborgenen Vorurteile zu bekämpfen.

5. Fragwürdige Verbesserungen

Wie viel der Arbeit bei der Softwareentwicklung besteht wirklich darin, sich mit Semikolons und Variablentypen herumzuschlagen? Wie viel davon wird in Besprechungen mit Interessenvertretern verbracht, die wünschen, eine Schaltfläche ein paar Pixel nach links zu verschieben und der Hintergrundfarbe etwas mehr Rot hinzuzufügen?

Einiges bei der Programmierarbeit ist eine geistige Herausforderung, aber ein großer Teil davon ist oberflächlich. Die eigentliche Arbeit ist der Umgang mit Menschen.

Oft ersetzt die Low-Code-Version einer Anwendung einen Bibliotheksaufruf durch ein Dialogfeld zur Eingabe der drei RGB-Farbtöne für die gewünschte Hintergrundfarbe. Ist es so viel einfacher, diese Parameter in ein Feld einzugeben, als eine Zeile in Java, Python oder C++ zu schreiben?

So wird gerne geglaubt, dass Low-Code-Dialogfelder Zeit sparen. Doch in vielen Fällen ist es nur eine Fassade für den gleichen mentalen Workflow. Die schicke Low-Code-Schnittstelle mag effizienter sein als das Durcharbeiten der Dokumentation auf der Suche nach der richtigen Syntax für einen Prozeduraufruf. Aber sie ist oft nicht so zeitsparend, wie erwartet

6. Versteckte Kosten

Wenn Low-Code gut funktioniert, ist jeder froh, wenn er ihn einfach nur wegklicken kann. Läuft es aber nicht reibungslos, kann nur ein echter Programmierer das herausfinden.

Und Probleme kann es viele geben. Etwa, dass ein Aufgabe zu lösen ist, die nicht dem Standard entspricht und für die das Low-Code-System nicht ausgelegt ist. Oder das System stürzt einfach ab. In solchen Fällen kann nur ein echter Programmierer, der weiß, wie man richtigen Code schreibt, eine Lösung finden.

Das Problem mit Low-Code ist, dass er oft nur einfache Probleme wie die Syntax löst. Alles, was unter der Oberfläche liegt, erfordert immer noch die Fähigkeiten eines guten Programmierers, der über all die versteckten Mechanismen nachdenken kann, die wir nicht mehr sehen. Low-Code-Systeme sind immer noch Software, und man kommt nicht umhin, jemanden zu brauchen, der ihre Sprache spricht, das heißt die Sprache der Bytes, Arrays und Datenstrukturen.