Low-Code-Entwicklung: Chance und Herausforderung

Low-Code-Plattformen ermöglichen fachlich versierten Power Usern Anwendungen ohne Programmierkenntnisse zu erstellen. Der Einsatz von Low-Code Plattformen birgt aber auch einen höheren Verwaltungsaufwand für die IT. [...]

"Low-Code-Plattformen bergen einige Herausforderungen." Markus Nöbauer, insideAx. (c) insideAx

Die Low-Code-Methode basiert auf der Abstraktion von technischen Details und einer grafischen Modellierung von Prozessen und Anwendungen. Durch den Einsatz können ein erheblicher Komfortgewinn für die Mitarbeiter geschaffen und die Kosten für Anwendungsentwicklung oder Anpassung komplexer Software reduziert werden. Vorteil für das Unternehmen: Power User wie Controller, Abteilungsleiter, Sachbearbeiter etc. werden befähigt, selbständig Probleme zu lösen und ihre Erfahrung als App weiterzugeben. Low-Code-Plattformen bergen aber auch Herausforderungen. Low-Code-Apps müssen gewartet, im Unternehmen ausgerollt und weiterentwickelt werden. Wartbarkeit und Skalierbarkeit sind aber ein Qualitätskriterium, dass von Nicht-Entwicklern kaum beachtet wird.

Digitaler Assistent prüft Entwicklungen

Für die handwerklichen Probleme in der Low-Code-Entwicklung und -Verwaltung gibt es von den Plattformanbietern passende Werkzeuge, etwa Validierungen und DevOps-Lösungen. Was fehlt, ist die Unterstützung bei nicht-funktionalen Anforderungen und Best Practices. Als Lösungsansatz für dieses Problem arbeiten wir an der Entwicklung einer Softwarelösung, die Power Usern beim Entwickeln hochwertiger Anwendungen unterstützt und den Unternehmen ermöglicht, das Potenzial von Low-Code-Plattformen zu nutzen.

Der Power User soll durch einen digitalen Assistenten bei der Entwicklung von regelkonformen Apps unterstützt werden. Gefüttert wird der „App Checker“ durch die Vorgaben der IT-Abteilung, die als Regeln definiert in Bibliotheken (Repositories) abgelegt werden. Repositories könnten zum Beispiel Sicherheitsaspekte, die für alle Apps gelten, enthalten, oder Designvorlagen gemäß Corporate Identity. Danach gibt die IT-Abteilung die Verwendung von Low Code Plattformen für die Power User frei. Die damit erstellten Apps werden in einem Backend-System versioniert und gespeichert. Der App Checker prüft laufend die Low-Code-Apps aus dem Speicher und vergleicht sie mit den Regeln in den Bibliotheken. Durch ein Plugin in der Entwicklungsumgebung kann der App Checker Regelverstöße und Hinweise direkt an den Power User weitergeben.

Herausforderungen in der Umsetzung

Ziel des App Checkers ist es, Power Usern bei der Erstellung qualitativ hochwertiger, skalierbarer und wartungsfreundlicher Anwendungen zu unterstützen. Weiters sollen industrie- und unternehmensspezifische Designvorgaben bereits bei der Entwicklung von Low-Code-Apps berücksichtigt werden. Wichtig dabei ist, die gestalterische Freiheit der Power User zu bewahren. Der App Checker soll sich in die bestehenden Low-Code-Plattformen integrieren. Die technische Herausforderung liegt einerseits darin, Best Practices und Design Patterns in eine maschinenlesbare und -verarbeitbare Form zu bringen. Eine weitere Schwierigkeit besteht in der Prüfung der Low-Code-Apps gegen relevante Best Practices und Design Patterns. Diese Prüfung soll Teil der Entwicklungsumgebung sein, in der sich der Citizen Developer befindet – meistens ein Webbrowser.

Validierung als Schlüssel

Lösungsansatz für die technischen Herausforderungen ist es, Low-Code-Apps gegen Best Practice Patterns zu validieren. Diese sollen in einer allgemein gültigen Modellierungssprache abgefasst und in einem Repository gespeichert werden. Über Metadaten der Low-Code-App lässt sich auslesen, ob die Applikation z.B. für die Produktion oder die Automatisierung eines Geschäftsprozesses konzipiert ist. Basierend darauf werden die relevanten Patterns identifiziert. Die Low-Code-App soll mit Hilfe ihres „Source Code“ ebenfalls in eine maschinenlesbare Modellierungss.prache überführt werden. Der App Checker lädt die relevanten Patterns und validiert sie gegen die App.

Best-Practice Patterns und Anti-Patterns

Mit einer Modellierungssprache wie UML (Universal Modeling Language) oder einer DSL (Domain Specific Language) kann man Best Practice Patterns und Anti-Patterns definieren. Ein Best-Practice-Muster wäre zum Beispiel eine Menüführung in einer App vom Login Screen zur Abfragemaske, zum Detail-/Bearbeitungs-Screen und zu einer Navigationsoption sowie zurück zum Logout. Ein Anti-Pattern wäre zum Beispiel die Filterbedingung für eine Abfrage nicht auf der externe Datenquelle auszuführen, sondern alle Datensätze in die App zu laden und dort auszusortieren.

Mittels eines Browser-Plugins kann die Validierung der Apps gegen Best-Practice-Definitionen umgesetzt werden. Das Plugin soll als User Interface Frontend dienen, mit dem die Citizen Developer schnell und einfach erfassen können, ob ihre Apps einen Konflikt mit den Best Practice Patterns haben. Ausgehend vom Plugin soll der Benutzer auf eine Detailseite umgeleitet werden, wo der Konflikt die Behebung erklärt wird.

Qualität von Low-Code-Apps verbessern

Ziel des App Checkers ist es, alle Anwender von Power Apps (Microsoft Office 365) zu unterstützen und die Qualität der Low-Code-Apps, die von Power Usern erstellt werden, zu verbessern. Das betrifft einerseits die klassischen nicht-funktionalen Anforderungen wie Skalierbarkeit, Wartbarkeit, Benutzerbarkeit und Sicherheit, aber auch die Ausrichtung an unternehmens- und industriespezifischen Best Practices. Damit sollen die Apps im alltäglichen Gebrauch besser nutzbar sein und den hohen Qualitätsansprüchen genügen, wie man sie von Smartphones und Tablets kennt. Mit der App-Checker-Lösung wollen wir die Akzeptanz, Implementierbarkeit und Wartungsfreundlichkeit von Low-Code-Apps stärken. So lassen sie sich einfacher in den Produktlebenszyklus der Unternehmensanwendungen übernehmen und kosteneffizient betreiben.

*Markus Nöbauer ist F&E-Verantwortlicher für Forschungsprojekte im Kontext von Business Software bei insideAx


Mehr Artikel

Be the first to comment

Leave a Reply

Your email address will not be published.


*