15. September 2022 von Daniel Sorna, Alexey Shmelkin und Ibrahim Kizilarslan
Mit Low-Code die Schatten-IT ans Licht bringen
Der Begriff Low Code findet in den unterschiedlichsten Bereichen der IT zunehmend Verwendung. Doch was steckt eigentlich dahinter? Low Code ist ein intuitiver, visueller Ansatz in der modernen Softwareentwicklung, der den nötigen Programmieraufwand minimiert und die Entwicklung beschleunigt. Der Ansatz setzt dabei wenige oder gar keine Programmierkenntnisse voraus und hat das Ziel, es allen technisch affinen Nutzerinnen und Nutzern zu ermöglichen, selbst Anwendungen zu entwickeln.
Die Low-Code-Merkmale
Der wohl bekannteste Anwendungsbereich von Low Code sind sogenannte Low-Code-Development-Plattformen (LCDPs), wie OutSystems, Mendix, AgilePoint, Microsoft PowerApps, Salesforce oder ServiceNow. Diese bieten einen Werkzeugkasten, mit dem Entwicklerinnen und Entwickler, aber auch sogenannte Citizen-Developers – Anwenderinnen und Anwender mit geringen Programmierkenntnissen – eigene Anwendungen auf einfachem Weg erstellen können.
Die ausschlaggebenden Werkzeuge von Low Code lassen sich grob in folgende Kategorien zusammenfassen:
- Low Code nutzt einfach bedienbare Methoden, wie die grafische Modellierung von (Business-)Logik, um daraus Funktionen der Softwareanwendungen zu generieren.
- Grafische Oberflächen, Prozess- und Datenmodelle lassen sich in einer visuellen Form, meist Drag-and-Drop, erstellen und konfigurieren. Der/Die Anwendende bedient sich einer Palette von vorgefertigten Komponenten, wie UI-, Prozess- oder auch Integrationselementen, und kann baukastenartig eine eigene Anwendung kreieren.
- Ein hoher Grad an Standardisierung und Wiederverwendung von Komponenten vereinfacht und beschleunigt dabei die Entwicklung. LCDPs bieten meist einen eigenen Marketplace mit vorgefertigten Modulen an, die konfiguriert und eingesetzt werden können.
- Moderne Low-Code-Development-Plattformen werden nicht nur als On-Premises-Lösungen, sondern vermehrt (und bevorzugt) als Platform as a Service (PaaS) oder in einer hybriden Form bereitgestellt. Dadurch kann ein sicheres, vorkonfiguriertes und überwachtes Deployment erfolgen. Optimalerweise wird sogar ein One-Click-Deployment der erstellten Anwendung ermöglicht.
Citizen Developer Framework – oder was man durch den Low-Code-Ansatz erreicht
Der Begriff Citizen Developers beschreibt Mitarbeitende außerhalb von IT-Abteilungen, die unter Zuhilfenahme von Low-Code-Plattformen befähigt werden, selbstständig Software zu entwickeln. Für die Softwareentwicklung mit Low Code werden nur wenige bis keine Erfahrungen in der Softwareentwicklung vorausgesetzt.
IT-Abteilungen sind maßlos überlastet!
Es werden mehr Entwicklerinnen und Entwickler benötigt und eine entsprechende Personalaufstockung ist gleichzeitig sehr langsam und teuer. Der Bedarf an IT-Lösungen ist riesig und kann oftmals nicht bedient werden. Um Anfragen bewältigen zu können, bedarf es eines Vielfachen an Kapazitäten, die ohnehin nicht vorhanden sind. Aufgrund des Mangels an Ressourcen (Developer, Kosten, Zeit) und der Überlastung von IT-Abteilungen ergreifen Fachabteilungen oft selbst die Initiative und entwickeln eigene proprietäre Anwendungen, meist unter Zuhilfenahme existierender Tools wie Microsoft Excel oder Access. Es entstehen dezentrale Anwendungen, die in Unternehmen nicht gerne gesehen werden.
Die Citizen Developers zeichnet unter anderem aus, dass es sich um kein fachspezifisches Personal handelt. Die wesentlichen Vorteile können Citizen Developers vor allem in der Umsetzung fachlicher Anforderungen ausspielen. Die Digitalisierung lässt sich durch diese zusätzliche Man-Power deutlich schneller vorantreiben.
Neben aller Befürwortung des Einsatzes von Citizen Developers kann dieser zugleich auch Herausforderungen und Risiken für Unternehmen bergen. Durch ihren Einsatz laufen Unternehmen Gefahr, dass die sogenannte Schatten-IT aus dem Ruder läuft. Anwendungen werden nicht mehr unter einer zentralen Steuerung entwickelt, sondern erfolgen individuell und unabhängig in den Fachbereichen, was eine zentrale Verwaltung schlichtweg unmöglich macht.
Die Schatten-IT ans Licht bringen
Es gibt nur einen einzigen Weg, wie man solche dezentralen Anwendungen außerhalb der zentralen IT vollständig verhindern kann: alle Mitarbeitenden ohne Computer arbeiten lassen. In allen anderen Fällen werden immer Hilfslösungen, sei es in Excel, Access oder anderen Tools, entwickelt. Es liegt einfach in der menschlichen Natur, repetitive Aufgaben in irgendeiner Form zu automatisieren. Durch Low Code kann dieser Kampf zwischen IT und Fachabteilungen endlich abgelegt werden, um gemeinsam Mehrwerte zu schaffen und sich weniger übereinander zu ärgern. Doch wie soll das gehen? Dafür müssen beide Parteien zunächst über ihren Schatten springen (das Wortspiel konnten wir uns einfach nicht verkneifen):
1) Einerseits muss die zentrale IT akzeptieren, dass IT-Anwendungen auch aus Fachabteilungen heraus entstehen dürfen. Allerdings müssen dabei bestimmte Regeln strikt befolgt werden.
2) Die Fachabteilungen müssen hingegen akzeptieren, dass die zentrale IT die Verantwortung für (fast) alle IT-Anwendungen trägt. Deshalb sind Regeln und Prozesse seitens der IT erforderlich, die von Fachabteilungen einzuhalten sind.
Welche Regeln führen dann zum Erfolg? Hier ist es die hohe Kunst, genau die Freiheiten und Einschränkungen abzuwägen, um einerseits den Fortschrittsgeist der Mitarbeitenden möglichst stark auszuschöpfen und ihnen andererseits eine sichere Umgebung für solche Innovationen zu schaffen. Dafür muss ein Citizen Developer Framework eingeführt werden. Im Unternehmen sollte episodisch ein Center of Excellence (CoE) für Low Code etabliert werden, das folgende Aufgaben übernimmt:
1) Die Definition von unter anderem Best Practices, Naming Conventions und/oder Security Guidelines ist für Low-Code-Development unerlässlich.
2) Es ist essenziell, das Know-how aufzubauen, wie mit unterschiedlichen Anwendungen verfahren wird. Was darf tatsächlich in den Fachabteilungen bleiben (zum Beispiel kleine Anwendungen, die keine kritischen Prozesse abbilden, oder Proof of Concepts [PoC])? Was muss durch ein CoE betreut werden (zum Beispiel mittelgroße Anwendungen, die keine kritischen nichtfunktionalen Anforderungen haben)? Und was muss an die zentrale IT übergeben werden?
Die Überwachung des Applikationsflusses von Citizen Developers zu CoE bis hin zu der zentralen IT ist Aufgabe eines Solution Architect oder des CTO. Durch LCDPs werden auf einmal alle Applikationen sichtbar! Diese Transparenz ist der Schlüssel zum Erfolg, um die Schatten-IT endlich unter Kontrolle zu bekommen. Das Spektrum der Anwendungsfälle für Low Code ist enorm, daher muss die Einführung des Citizen Developer Frameworks stufenweise und zielgerichtet erfolgen.
Das Potential von Low Code ausschöpfen
Low Code ist ein Ansatz und keine Technologie an sich. Die rasche Bereitstellung der Low-Code-Werkzeuge ermöglicht eine schnelle Erprobung von Ideen binnen weniger Stunden oder Tage. Mit dem Ansatz wurden manche Bereiche bereits revolutioniert, sodass diese nicht mehr bewusst als Low Code beschrieben werden. Das Erstellen von Dashboards und die Auswertung von Daten wurden früher in Sprachen wie beispielsweise Python, R oder Mathematica realisiert. Mit der Markteinführung von PowerBI als ein Low-Code-Werkzeug war es plötzlich auch für Nicht-Entwickelnde möglich, solche Auswertungen eigenständig zu bauen. Mittlerweile gilt es als selbstverständlich, dass PowerBI aus vorgefertigten Bausteinen und Konnektoren besteht. Künstliche Intelligenz (KI) und Machine Learning (ML) sind sehr gefragt und auch diese Technologien können durch diverse Low-Code-Werkzeuge – wie zum Beispiel KNIME – durch Nicht-Entwickelnde zur Erstellung eigener Lösungen verwendet werden. Eine breit gefächerte und heterogene Systemlandschaft in Unternehmen führt zu einem Wirrwarr an Schnittstellen mit unterschiedlichen Technologien. Hier können Low-Code-Lösungen – etwa Mulesoft – helfen, endlich Transparenz und Ordnung zu schaffen.
Robotic-Process-Automation-Low-Code-Werkzeuge – unter anderem UiPath – ermöglichen es, auch alte Legacy-Systeme zu automatisieren und neue Anwendungen an diese anzubinden, auch wenn sie keine Schnittstellen haben. Dadurch wird besonders bei Banken, aber auch in anderen Branchen ein enormer Mehrwert geschaffen. Standardapplikationen und -prozesse, wie Rechnungsfreigabe, Bestellanforderungen oder Onboarding-Prozesse, existieren in jedem Unternehmen, werden allerdings unterschiedlich gelebt. Wie sehen Freigabeprozesse aus? Laufen sie sequenziell oder parallel? Welche Berechtigungen sind für welche User vorgesehen? Diese Fragen sind nicht nur fachlich komplex, sondern können sich ständig ändern. Mit Low Code können sie schneller und leichter adressiert werden und einen Mehrwert in noch nicht da gewesener Geschwindigkeit liefern.