Es scheint, als würden wir, wenn uns in der Welt der Technologie die neuen Themen ausgehen, einfach in die alte Trickkiste greifen und bewährte Konzepte erneut auspacken. An diesem Punkt beginnt das Spiel „Ich weiß mehr als du“ – ein Wettstreit darum, wer die größte Erfahrung mitbringt.
„Ich erinnere mich, wie ich Star Trek auf dem alten TRS-80 gespielt habe (von uns coolen Kids auch ‚Trash 80‘ genannt). Es war in BASIC geschrieben, und wir konnten die Dialoge der Charaktere ändern… ‚Oh wirklich, Mr. Spock? Das ist aber nicht logisch.‘“
„Ja, ich erinnere mich, Beyond Zork auf meinem Apple II gespielt zu haben – ich musste alle Befehle über die Tastatur eingeben!“
„Erinnerst du dich daran, ein gespeichertes Programm vom Kassettentape des Atari 800 zurückzuspielen, um zu hören, wie sich der Quellcode anhört?“
„Ich habe Lochkarten und einen Kartenleser benutzt, um meine ersten Programme auf einem Mainframe laufen zu lassen.“ SCHACHMATT!
Als langjähriger Programmierer ist es faszinierend zu sehen, wie viele alte Konzepte unter neuen Begriffen und mit moderner Technologie wiederbelebt werden – um genau dieselben Probleme zu lösen, mit denen wir bereits im letzten Jahrhundert (ja, wirklich im letzten Jahrhundert!) konfrontiert waren. Entscheidend ist dabei nicht die Geschichte der Lösungsversuche, sondern die Frage, warum diese Probleme über Generationen hinweg bestehen bleiben und ob die alten Lösungen ihrer Zeit einfach nur voraus waren oder ob es tiefergehende Probleme gab.
Low-Code unter einem anderen Namen…
Das Konzept der Low-Code-Entwicklung gibt es – nun ja – seit den Anfängen des Programmierens. Doch was ist eigentlich der Unterschied zwischen Low Code vs No Code, und wie beeinflusst er moderne Entwicklungsstrategien? Vielleicht wurde es damals nicht „Low-Code“ oder „No-Code“ genannt, sondern als 4GL, CASE oder RAD bezeichnet, doch das Grundproblem war immer das gleiche. Bereits Alan Turing könnte seinem Team zugerufen haben: „Warum braucht ihr so lange für das Programmieren?!“ (Bitte kein Kommentar dazu – ich habe mir das ausgedacht, aber es würde mich nicht überraschen, wenn es sich so zugetragen hätte.)
Das Kernanliegen der Low-Code-Entwicklung besteht darin, die Abhängigkeit von teuren Entwicklern zu reduzieren. Gleichzeitig soll die Geschwindigkeit beim Entwickeln erhöht werden.
Der Low-Code-Ansatz: Zwei zentrale Ziele
- Wie kann ein Unternehmen den Bedarf an Entwicklern reduzieren? Grundsätzlich gilt das Gesetz von Angebot und Nachfrage: Steigt die Nachfrage bei begrenztem Angebot, steigen die Kosten. Und wie Analysten immer wieder bestätigen, wächst die Nachfrage nach Anwendungsentwicklung rasant. Eine Low-Code-Plattform ermöglicht es nicht-technischen Nutzern, Anwendungen über eine grafische Benutzeroberfläche per Drag-and-Drop zu erstellen – ganz ohne oder mit nur minimalem Programmieraufwand. Der Low-Code-Ansatz generiert den notwendigen Programmcode automatisch anhand der Eingaben des Nutzers.
- Wie lässt sich dieser Zaubertrick vollbringen und gleichzeitig der Prozess beschleunigen? Der Gedanke hinter Low-Code ist, dass Fachanwender ihre Anforderungen nicht mehr an einen Business Analysten übergeben müssen, der sie dokumentiert und an einen Entwickler weiterleitet. Stattdessen könnten die Fachanwender die Anwendungen direkt selbst erstellen – einfach per Mausklick. Ein Knopfdruck, und abrakadabra… eine neue Anwendung ist da.
Herausforderungen des klassischen Low-Code-Ansatzes
Der traditionelle Low-Code-Ansatz hatte jedoch einige gravierende Nachteile:
- Es entstanden unzählige kleine, voneinander isolierte Anwendungen, die jeweils nur einen begrenzten Geschäftsbereich unterstützten.
- Die Endnutzer entwickelten diese Anwendungen basierend auf ihrem eigenen Verständnis der Geschäftsregeln – was jedoch nicht immer korrekt war oder nur für ihren spezifischen Bereich galt.
- Es fehlte eine übergreifende Unternehmensstrategie und Governance, wodurch Datenqualität und Konsistenz über verschiedene Systeme hinweg nicht Ein neuer Ansatz für Low-Code: Was ist anders?
- gewährleistet wurden.
- Viele Low Code Plattforms unterstützten keine Best Practices wie Versionskontrolle oder Integrationstests und erhöhten so das Sicherheitsrisiko.
Am Ende akzeptierten verschiedene Unternehmensbereiche ihre eigenen lokalen Systeme als „die eine Wahrheit“, doch die Daten wichen oft erheblich voneinander ab. Eine solide Entscheidungsgrundlage sieht anders aus.
Ein weiteres Problem war die schiere Anzahl der Anwendungen, die für geschäftskritische Prozesse genutzt wurden. Mit der Zeit verließen die ursprünglichen Entwickler das Unternehmen, und die IT-Abteilungen standen vor der Mammutaufgabe, hunderte oder gar tausende alter Anwendungen ohne Dokumentation zu warten. Die Konsequenz? Die IT musste veraltete Systeme ablösen, ohne die genauen Auswirkungen auf andere Geschäftsprozesse zu kennen – ein Albtraum für jede IT-Abteilung.
Ein neuer Ansatz für Low-Code: Was ist nun anders?
Einige Unternehmen haben das Konzept der Low Code Development Plattforms weiterentwickelt und setzen nun auf sog. Low Code No Code Platforms, die als umfassende Unternehmenslösungen dienen. Heute gibt es Enterprise-Low-Code-Plattformen, die es nicht-technischen Anwendern ermöglichen, ihre Datenmodelle, Geschäftslogiken und Datenbeziehungen direkt über eine intuitive Benutzeroberfläche zu verwalten. Diese Informationen werden als Daten gespeichert, sodass sich Änderungen leichter nachverfolgen lassen.
Dieser industrielle Low-Code-Ansatz ermöglicht es Unternehmen, ein einziges, übergreifendes Datenmodell für mehrere Anwendungen zu erstellen. Geschäftsregeln können zentral definiert und konsistent für alle Anwendungen verwaltet werden. So bleibt die Plattform flexibel und aufrüstbar, weil die kritischen Informationen nicht in isolierten Apps verborgen sind, sondern Teil der gesamten Umgebung bleiben.
Natürlich gibt es weiterhin Anbieter, die moderne Versionen der klassischen Low Code No Code Platforms anbieten. Diese Lösungen erlauben es, schnell einfache Apps zu entwickeln, indem eine Datenquelle mit einer grafischen Oberfläche verknüpft wird. Solche Apps können oft sogar Daten zurückschreiben oder in Workflows eingebunden werden – ein wertvoller Anwendungsfall.
Doch die Herausforderungen bleiben: Ohne Governance entstehen unkontrolliert immer mehr Apps, die keine zentrale Verwaltung von Geschäftsregeln ermögliche – ein häufiges Problem vieler Low Code No Code Plattformen. Ändert sich die Business-Logik oder wird eine technologische Modernisierung notwendig, steht das Unternehmen erneut vor dem Problem, hunderte oder gar tausende Apps analysieren und anpassen zu müssen. (Ich war schon in solchen Projekten – das kann einem wirklich den Sommerurlaub ruinieren.)
Aras Innovator und ein neuer Low-Code-Ansatz
Low-Code-Lösungen gibt es zwar schon lange, aber sie konnten sich in der IT-Landschaft nie wirklich langfristig etablieren. Dennoch bleibt die Notwendigkeit bestehen, Systeme kostengünstiger und schneller zu entwickeln. Die Tatsache, dass das Konzept von Low Code No Code Development immer wieder neu aufgegriffen wird, zeigt, dass darin ein echtes Potenzial steckt.
Die meisten modernen Low Code Development Plattforms konzentrieren sich auf die schnelle Entwicklung kleiner, einfacher Apps zur Datenanzeige in Echtzeit. Es gibt sinnvolle Anwendungsfälle – keine Frage. Und ja, diese Lösungen funktionieren. Aber das eigentliche Problem? Haben Unternehmen den Mut, eine klare Governance-Strategie umzusetzen, bevor ihnen die App-Landschaft entgleitet?
Der neue industrielle Low-Code-Ansatz geht einen Schritt weiter und lässt sich nahtlos in den Product Lifecycle Management Process integrieren, indem er bewährte Prinzipien des Low Code No Code Development nutzt. Unternehmen wie Aras haben eine Low-Code-Plattform entwickelt, die den Programmieraufwand drastisch reduziert, indem sie Geschäftsprozesse und Datenmodelle abbildet. Mit Aras Innovator können nicht-technische Anwender eine konsistente Datenstruktur und Geschäftsregeln erstellen – alles über eine intuitive Benutzeroberfläche, die den Product Lifecycle Management Process optimiert. Diese Plattform nutzt ein solides Set an Diensten, um Unternehmensanwendungen sicher und skalierbar auf einer zentralen Umgebung zu entwickeln.
Während klassische Low-Code-Development-Ansätze oft die gleichen alten Probleme wiederholen, bietet der industrielle Low-Code-Ansatz eine zukunftssichere Lösung. Nach Jahrzehnten der Softwareentwicklung scheint das Ziel, die Abhängigkeit von teuren Entwicklern zu reduzieren und gleichzeitig Entwicklungszeiten zu verkürzen, endlich erreicht. Vielleicht kann Alan Turing nun etwas ruhiger schlafen. (Bitte keine weiteren Kommentare dazu 😉)