Die Softwareentwicklung hat in den letzten Jahren eine revolutionäre Veränderung erlebt, und eine der Schlüsselinnovationen, die dabei herausstechen, ist die Einführung von Low Code Plattformen. Um tiefer in diese Entwicklung einzutauchen, haben wir ein Interview mit Alexander Renz, Consultant bei der Proventa AG und Experten auf dem Gebiet der Softwareentwicklung. Alexander hat reichhaltige Erfahrung mit Mendix, einer der führenden Plattformen im Low Code Bereich.
Hier sind die Erkenntnisse aus unserem Gespräch:
Alexander, kannst du kurz erklären, was Low Code bedeutet?
Low-Code-Entwicklung steht als wegweisende Abstraktion herkömmlichen, traditionellen Codings im Fokus. Dieses Konzept manifestiert sich in einer einheitlichen Entwicklungsplattform und vordefinierten, gekapselten Funktionseinheiten. Insbesondere in Bezug auf Mendix wird eine grafische Benutzeroberfläche genutzt, um den logischen Programmablauf aufzuzeichnen. Dabei werden die eingebetteten Funktionalitäten in Mikroflows modelliert, die letztlich zu einer geschlossenen Applikation führen.
Im traditionellen Ansatz der Programmierung waren Funktionen, Methoden und logische Prozesse mittels programmierter Anweisungen innerhalb einer spezifischen Programmiersprache zu definieren. Diese Komplexität wird im Low-Code-Ansatz abstrahiert. Hierbei bilden die gekapselten Funktionalitäten die Grundlage, wobei der darunterliegende Code stets in Hochsprache bleibt, jedoch auf einer abstrakteren Ebene agiert. Beispielsweise können Aktionen wie das Befüllen von Tabellen, das Auslesen von Datenbankentitäten oder das Generieren von PDF-Dokumenten in vordefinierten Bausteinen ausgedrückt werden.
Eine bemerkenswerte Eigenschaft des Low-Code-Paradigmas ist seine interdisziplinäre Natur. Im englischen Sprachraum wird es als “Gap Filler” bezeichnet, da es die Lücke zwischen technisch weniger versierten Personen und traditionellen Entwicklern schließt. Dies wird durch Low-Code-Plattformen erleichtert, welche die kollaborative Entwicklung zwischen diesen Gruppen unterstützen.
Gleichzeitig wird die resultierende Applikation oft auf modernen Cloud-Infrastrukturen gehostet. Dies ermöglicht eine plattformübergreifende Nutzung mit hoher Skalierbarkeit. Im Gegensatz zu klassischen Entwicklern, die oft auf umfangreiche DevOps-Ressourcen angewiesen sind, gestaltet sich das Deployment einer Low-Code-Applikation oftmals durch wenige Handgriffe, wie beispielsweise das Betätigen von drei Schaltflächen (manchmal natürlich auch etwas mehr), unkompliziert.
Welche Vorteile bietet Low Code im Vergleich zu herkömmlichen Entwicklungen?
Einer der signifikantesten Vorteile von Low Code ist die beschleunigte Entwicklung. Durch vordefinierte Module können kleinere Teams effizienter arbeiten und lauffähige Software schneller erstellen. Dies reduziert nicht nur die Kosten, sondern führt auch zu einer hohen Wartbarkeit der Software. Eine weitere Stärke ist die Wiederverwendbarkeit von Funktionalitäten über verschiedene Projekte hinweg. Ein weiterer Aspekt von Low Code ist auch seine intuitive Benutzeroberfläche, die auch weniger technisch versierten Personen den Einstieg erleichtert.
Die Evolution der Softwareentwicklung hat mit der Einführung von Low-Code-Plattformen wie Mendix große Fortschritte erfahren. Zwei herausragende Aspekte treten hierbei hervor. Erstens ermöglicht diese innovative Technologie die rasche Erstellung von funktionsfähiger Software. Im Gegensatz zu
herkömmlichen Modellen, in denen mehrere Teams mit beträchtlichem Personal (5 bis 10 Entwickler, oft noch mehr) individuelle Funktionen entwickeln, übernehmen bei Mendix lediglich 3 bis 5 Kernentwickler die Verantwortung für die gesamte Anwendungsentwicklung. Dies resultiert in einem starken Kostenvorteil. Statt einer großen Entwicklertruppe genügen wenige, umfangreich qualifizierte Experten. Hierbei begünstigt der Low-Code-Ansatz eine hohe Wartbarkeit der Software, da kleinere oder umfangreiche Funktionspakete problemlos integriert werden können. Diese können binnen Sekunden oder Minuten in neue Versionen überführt und mühelos bereitgestellt oder aktualisiert werden.
Besonders bemerkenswert ist die hohe Wartbarkeit, welche durch die Kapselfunktionen des Low-Code-Ansatzes gewährleistet wird. Plattformen wie Mendix ermöglichen eine effektive Wiederverwendung von Programmfunktionalitäten. Ein Modul, das etwa für Authentifizierung und Login zuständig ist und sich mit einem Drittanbieter-Identitätsdienst verbindet, kann nahtlos in anderen Anwendungen eingesetzt werden. Die zugrundeliegende Konfiguration lässt sich anpassen, ohne eine Neuentwicklung von Grund auf zu erfordern. In Ergänzung dazu ermöglicht Mendix auch den Einsatz von sogenannten Citizen Developern. Personen ohne technische Programmierkenntnisse können durch diese „Gap Bridge“ in den Entwicklungsprozess einbezogen werden. Durch die intuitive Zugänglichkeit und Benutzerfreundlichkeit der Plattform können sie aktiv an der Entwicklung teilhaben und mit professionellen Entwicklern auf gleichem Niveau kooperieren.
Low-Code-Plattformen bieten ferner eine intuitive Möglichkeit zur Erstellung von Programmen und Anwendungen. Ein Mikro-Workflow leitet den Nutzer durch den Prozess, wodurch das Erstellen von Programmlogiken in Mendix äußerst leicht von der Hand geht. Dies erstreckt sich auf Geschäftslogik, Benutzeroberflächen und sämtliche Aspekte des Entwicklungsprozesses. Der bedeutendste Vorzug dieses Ansatzes liegt jedoch in der bis zu zehnfacher Steigerung der Produktivität in der Softwareentwicklung im Vergleich zur traditionellen Entwicklung auf lokaler Ebene – ein Aspekt, der sich insbesondere bei der Verwendung von Mendix als Low-Code-Plattform zeigt.
Das hört sich so an, als könnte selbst ich, die noch nie mit einem solchen Programm gearbeitet hat damit arbeiten, wenn ich eine kleine Einführung dazu bekommen würde. Sehe ich das richtig?
Ja, das siehst du richtig, auch wenn sie nicht gänzlich idiotensicher ist. Die Hürde, um in die Softwareentwicklung einzusteigen, ist jedoch bedeutend niedriger. Spezifisches Programmierwissen in Bezug auf eine bestimmte Programmiersprache ist nicht erforderlich. Trotzdem bedarf es eines Verständnisses für die Funktionsweise der Plattform, der verfügbaren Elemente, Tools und Ressourcen sowie deren Interaktion miteinander. Die Lernkurve gestaltet sich deutlich flacher – eine Tatsache, die auch Nicht-Technikern, wie beispielsweise Dir, zugutekommt, die keine formelle Ausbildung als Informatiker oder Programmierer haben.
Alexander Renz
In der Branche wird dieser Aspekt, vor allem von traditionellen Senior-Programmierern, mitunter herablassend betrachtet. Diese Haltung ist jedoch ungerechtfertigt. Als Entwickler, der selbst in klassischen Entwicklungsprojekten tätig war, kann ich mit Gewissheit sagen, dass während ich in solchen Projekten zwar mehr Freiheiten hatte, ich auch an umfangreichere und detailliertere Arbeit gebunden war. Bei der Verwendung der Mendix-Plattform hingegen geht dies dank der kapselartigen Funktionalitäten und der umfangreichen Palette an Tools und Ressourcen schneller und einfacher von der Hand.
Ein einfacher Vergleich verdeutlicht dies: Die Erstellung einer Grundapplikation mit grafischer Benutzeroberfläche in Mendix, beispielsweise eine Registrierungswebseite, nimmt lediglich 2 Stunden in Anspruch. Auf Java-Basis würde ein vergleichbares Projekt einen ganzen Tag oder sogar länger beanspruchen – ein deutlicher Produktivitätsvorteil durch die Nutzung von Mendix.
Mendix bietet zudem Entwicklungsrichtlinien und eine beinahe persönliche Anleitung während des Entwicklungsprozesses. Eine KI überwacht, ob bewährte Praktiken eingehalten werden, gibt Empfehlungen für die nächsten Schritte in einem Mikro-Workflow und kontrolliert kontinuierlich den Entwicklungsprozess, um stetige Verbesserungen sicherzustellen und den Entwickler auf dem richtigen Pfad zu halten. Dies ermöglicht eine agile und dennoch geführte Entwicklungsumgebung.
Welche Herausforderungen und Engpässe siehst du in der herkömmlichen Softwareentwicklung, die durch Low Code Plattformen verbessert werden können?
Low-Code-Entwicklungsansätze, wie bereits zuvor angedeutet, bringen zahlreiche Vorteile hervor. Sie verkürzen Entwicklungszyklen erheblich, ermöglichen den Einsatz kleinerer und kosteneffizienter Teams und konzentrieren sich auf etablierte technische Methoden und Tools. Dabei übernimmt die Plattform selbst oft die Verwaltung von Bibliotheken zur Laufzeit. Im herkömmlichen Programmierumfeld erfordert die Verwaltung von Bibliotheken viel Aufmerksamkeit – von der Auswahl über die Versionierung bis hin zur Wartung. In Mendix wird dieser Prozess bei starker Nutzung des Low-Code-Ansatzes vereinfacht und automatisiert.
Ein exemplarisches Szenario verdeutlicht diesen Vorteil: Vor einem Jahr gab es eine umfangreiche Schwachstelle in einer Java-Bibliothek, die zu erheblichen Sicherheitsproblemen führte. Mendix hat aktiv die einzelnen Anwendungen überwacht, um diese Bibliothek auf Schwachstellen zu prüfen und sie gegebenenfalls automatisch zu aktualisieren. Anwender wurden benachrichtigt, ohne dass sie sich aktiv darum kümmern mussten. Dies adressiert eine Herausforderung klassischer Programmierung, bei der die Aktualisierung von Bibliotheken oft einen zeitraubenden Prozess darstellt.
Des Weiteren reduzieren Low-Code-Ansätze die Notwendigkeit eines umfangreichen Fachwissens in verschiedenen Programmiersprachen und Tools. Spezialisierung ist weniger zwingend erforderlich. Bei Mendix gibt es zwar auch unterschiedliche Experten für spezifische Tools, jedoch können Entwickler aufgrund des Low-Code-Ansatzes verschiedene Aufgaben übernehmen. So wird beispielsweise das Vorhandensein eines Datenbankspezialisten, eines Schnittstellenexperten oder eines UX-Spezialisten nicht mehr zwingend benötigt, da diese Kompetenzen im Low-Code-Framework zusammengeführt werden.
Diese Herangehensweise adressiert auch den Fachkräftemangel in der IT-Branche. Plattformen wie Mendix erleichtern auch weniger erfahrenen Personen den Einstieg in die Entwicklung, was zu einer größeren Vielfalt an Entwicklern führt.
Alexander Renz
Auch das Berichtswesen wird durch Low-Code-Ansätze erleichtert. Die grafische Modellierung ermöglicht eine bessere Verständlichkeit der Applikationen, was die Dokumentation und Nachverfolgung von Entwicklungen verbessert.
Zusätzlich bieten Low-Code-Plattformen eine unschlagbare Skalierbarkeit. Die Anpassung von Hardware-Ressourcen in Cloud-Systemen oder die Skalierung von Apps auf mehreren Servern wird nahtlos verwaltet. Diese automatische Skalierung minimiert den administrativen Aufwand für die Entwickler. Bei der Nutzung einer Public Cloud kann eine eigene Cloud-Umgebung aufgesetzt werden, um die Anwendung zu hosten. Obwohl einige Konfigurations- und Wartungsarbeiten notwendig sind,
ist der Aufwand im Vergleich zur traditionellen Entwicklung erheblich reduziert. Diese Gesichtspunkte unterstreichen, wie Low-Code-Ansätze wie Mendix die Softwareentwicklung optimieren und zugänglicher machen.
Wie hat sich deiner Meinung nach die Low Code Entwicklung in den letzten Jahren entwickelt und welche Trends zeichnen sich ab?
Die Zukunft des Low-Code-Entwicklungsansatzes ist von Chancen und Entwicklungen geprägt, wobei es wichtig ist zu erwähnen, dass meine Vermutungen nur Vermutungen sind. Der Zweck von Low-Code ist keineswegs, die etablierten Programmiersprachen oder den High Code zu ersetzen. Im Gegenteil, er setzt auf Integration und Zusammenarbeit. Jede Low-Code-Plattform basiert auf einer zugrunde liegenden klassischen Hochsprache – ein Prinzip, das bei Mendix und vielen anderen Plattformen zum Tragen kommt. Ebenso werden bewährte Tools, Anwendungen und Methodologien aus dem Markt übernommen und integriert, um einen reibungslosen Fortschritt zu gewährleisten.
Ein aktuelles Beispiel ist die Umstellung bei Mendix auf moderne Versionsverwaltungstools von SVN zu GIT sowie die stetige Integration von künstlicher Intelligenz und Machine Learning-Algorithmen, um auf dem neuesten Stand der Entwicklung zu bleiben und Funktionalitäten anzubieten, die solche Technologien nutzen. Von dem letzten Entwickler Summit habe ich mitgenommen, dass das Team hinter Mendix an der Integration weiterer Hochsprachen arbeitet.
Die Zukunft von Low-Code-Ansätzen scheint vielversprechend zu sein. Die Frage, ob Low Code in der Zukunft die Hochsprache ablösen wird oder nicht, ist jedoch nicht so einfach zu beantworten.
Wir Menschen neigen immer gerne zu absoluten Aussagen: „Wird Low Code die Hochsprache ablösen?“ „Wird es irgendwann keine Programmierer mehr geben?“ Ich sage dazu ganz klar: Nein! Es wird immer wieder Programmierer geben, weil am Ende auch ein Programmierer die Low Code Plattform entwickeln muss. Softwarelösungen werden nach wie vor in High Code geschrieben, weil dort ein Low Code Ansatz nicht weiterhilft. Dennoch wird sich Low Code stetig weiterentwickeln, um auch spezifische Lösungen abzudecken und zu ermöglichen. Dies ist ein Ansatz, um schnell und effizient maßgeschneiderte Software für Kunden zu erstellen, ohne in langwierigen Projekten mit ausgedehnten Laufzeiten festzustecken.
Alexander Renz
Ein vielversprechendes Zeichen für die Zukunft von Low-Code-Plattformen liefert eine Statistik von Gartner, einem renommierten Marktforschungsunternehmen, bezüglich des weltweiten Wachstums des Marktes für Low-Code-Entwicklungstechnologien im Jahr 2023. Laut der Prognose wird erwartet, dass dieser Markt um 20 Prozent wachsen wird. Gartner weist darauf hin, dass Unternehmen verstärkt auf Low-Code-Plattformen setzen, um ihre Softwareentwicklung zu beschleunigen und agile Lösungen zu schaffen. Gartner betont, dass der Low-Code-Markt weiterhin an Bedeutung gewinnen wird, da Unternehmen nach effizienten Methoden zur Entwicklung von Anwendungen suchen.
Jennifer Theil startete im Oktober 2022 ihre Karriere bei der Proventa AG. Sie unterstützt mit ihrem Wissen in den Bereichen Marketing und Sales, welches sie sich durch ihr Marketing-Management Studium angeeignet hat. Ihr Schwerpunkt im Bereich Online-Marketing hat ihr Interesse daran geweckt herauszufinden wie genau neue Technologien optimal genutzt werden können.