Low Code – Bausteine für eine schnelle und nachhaltige Digitalisierung von Prozessen

LowCode ist der Trend, das Zauberwort, für die schnelle Digitalisierung und Automatisierung von Prozessen.1 Vorgefertigte konfigurierbare Bausteine, ergänzt um “klassischen” Code (meist in Form von Scripting), werden als eine der Lösungen für mehr Geschwindigkeit in der Digitalisierung gepriesen. Und eine höhere Geschwindigkeit ist ja gut, insbesondere wenn es gilt, einen Rückstand aufzuholen.

In diesem Blogbeitrag versuche ich zum einen die Frage zu beantworten, was Low Code ist und zum anderen, wie Low Code-Bausteine zur Digitalisierung und Automatisierung von Prozessen eingesetzt werden können.

Was ist eigentlich Low Code?

Einfach ausgedrückt: Applikationslogik, die mit visuellen Beschreibungssprachen dargestellt wird und aus vorgefertigten konfigurierbaren Bausteinen besteht, die miteinander verknüpft werden können. Die visuelle Darstellung wird um “klassischen” Programmcode ergänzt. Low Code-Plattformen sind Anwendungssysteme für die Entwicklung und die Ausführung von Low Code. Zu den Plattformen gehören bspw. Low Code Application Platforms, Business Process Automation Platforms und Robotic Process Automation Platforms.

Bevor wir jetzt aber zu Digitalisierung und Automatisierung von Prozessen mit Low Code-Bausteinen kommen, eine Vorbemerkung: Prozessdigitalisierung und -automatisierung sind immer eine Art von Softwareentwicklung. Egal ob Prozessabläufe und Algorithmen für einzelne automatisierte Aufgaben in Prozessen per Code oder per Low Code implementiert werden – am Ende entsteht immer ein Stück Software. Meine Erfahrung ist, dass diese Tatsache oft nicht erkannt oder nicht ausreichend berücksichtigt wird und dann insbesondere im Betrieb zu Problemen führt – unklare Betriebsprozesse, unklare Zuständigkeiten, unzureichende Updatefähigkeit aufgrund fehlender Dokumentationen etc. Wir sind also gut beraten, die Digitalisierung und Automatisierung von Prozessen – egal ob per Low Code oder nicht, egal ob mit Citizen Developern oder nicht – in unsere  Softwareentwicklungs- und Betriebsprozesse einzubetten. Und nicht Umgehungen dieser Prozesse zu schaffen – Low Code ist kein Ersatz für professionelle Softwareentwicklungs- und -betriebsprozesse (“Schatten-IT”), sondern eine Lösung für eine bestimmte Klasse von Implementierungsproblemen.

Digitalisierung und Automatisierung von Prozessen mit Low Code-Bausteinen

Arten von Bausteinen

Wenn wir nun Prozesse mit Low Code digitalisieren und automatisieren wollen, so benötigen wir Bausteine, mit denen wir diese Prozesse implementieren.2 In erster Näherung kann eine grafische Beschreibungssprache wie bspw. die Business Process Model and Notation (BPMN3) als eine einfache Form dieser Bibliothek verstanden werden. Es werden Modellbausteine für spezifische Arten von Aufgaben (Tasks) zur Verfügung gestellt, die mit Hilfe von Parametern konfiguriert werden können. Diese Bausteine sind sehr flexibel einsetzbar, da sie sehr generisch sind: User Tasks für alle Arten von Benutzerinteraktionen, Service Tasks für alle Aufgaben, die per Aufruf eines Service automatisiert durchgeführt werden sollen. Ihr Nachteil – sie bilden nur sehr grundlegende für Prozessdigitalisierungen und -automatisierungen benötigte allgemeine Funktionalität ab.

Low Code-Plattformen bieten daher i.d.R. eigene Bibliotheken mit Bausteinen an, die höherwertige Funktionalität bereitstellen.4 Dies können Bausteine für die Anbindung von domänenspezifischen Services und Basisdiensten (“Services”) sein.5 Bausteine dieses Typs exponieren die Schnittstellen dieser Systeme für die Prozesse und schaffen so die Möglichkeit, aus Prozessen auf deren Funktionalitäten zuzugreifen. So könnte bspw. ein Baustein für die Erzeugung von Dokumenten bereitgestellt werden. Als Input nimmt der Baustein Metadaten zur Dokumentvorlage (bspw. eine eindeutige ID der Vorlage) und Daten, mit denen vordefinierte Felder in der Vorlage gefüllt werden, entgegen. Als Output gibt der Baustein einen Link auf das Dokument in einem Dokumentenspeicher zurück.

Bausteine können aber auch Funktionalitäten von Services  miteinander verknüpfen und so komplexere fachlich zusammenhängende Funktionalitäten bereitstellen. So könnte der Baustein zur Erzeugung von Dokumente mit Bausteinen zum Versand von Dokumenten bspw. per Mail oder über eine Druckstraße kombiniert werden. Er bietet damit die Erzeugung von Dokumenten und deren Versand an die Empfänger in einem Schritt an.

Entwicklung von Bausteinen

Für die effiziente Digitalisierung und Automatisierung von Prozessen mit Hilfe von Low Code ist es nun aber essentiell – und hier liegt abseits der Marketingversprechen genau die Herausforderung: passende Bausteine zur Verfügung zu haben, wenn sie benötigt werden. Häufig stehen zwar in der fachlichen Breite genügend Bausteine bereit, oft fehlt den Bausteinen aber die entsprechende fachliche Tiefe. Gerade wenn es um die Automatisierung komplexer Prozesse mit einem hohen Anteil fachlicher Logik geht.6 Ist dies der Fall, müssen neue Bausteine hinzu gekauft oder selbst entwickelt und bereitgestellt werden.

Werden gängige standardisierte Modellierungs- und Programmiersprachen von der Low Code-Plattform verwendet, so ist eine Eigenentwicklung i.d.R. mit keinem großen finanziellen Risiko verbunden und kann auch problemlos inhouse oder mit am Markt zugekauften Ressourcen durchgeführt werden. Zudem führt die Verwendung von offenen Standards zu einer geringeren Abhängigkeit von der verwendeten Low-Code Plattform. Als Beispiel seien hier Plattformen genannt, die auf der Modellierungssprache BPMN aufsetzen und für die Erweiterung der Plattform beliebige Programmiersprachen zulassen. Als Beispiel seien hier die BPM-Plattformen von Camunda7 und Flowable8 genannt.

Anders sieht es jedoch aus, wenn die Plattform ein geschlossenes System bildet und für Weiterentwicklungen proprietäre Modellierungs- und Programmiersprachen verwendet werden. Dann müssen Entwicklungsaufträge oftmals an spezialisierte Dienstleister oder gar an den Hersteller der Plattform vergeben werden, da das benötigte Wissen inhouse nicht vorhanden ist und es sich meist auch nicht lohnt, dieses Wissen aufzubauen.

Management des Lebenszyklus von Bausteinen

Der Lebenszyklus von Bausteinen muss gesteuert werden. Aus Sicht der nutzenden Prozesse sind diese nichts anderes als Schnittstellen. Daher kann das Management des Lebenszyklus auch analog zu Schnittstellen erfolgen. Je nachdem wer die Bausteine pflegt muss das Management mehr oder weniger formal erfolgen: Entwickelt und pflegt ein Team die Bausteine, die es benötigt, selbst, so kann die Abstimmung von Änderungen formlos im Entwicklungsteam, bspw. in den Refinements, erfolgen. Werden die Bausteine hingegen von einem zentralen Plattformteam bereitgestellt, so sind entsprechende teamübergreifende Abstimmungsprozesse und häufig auch formale Eskalationsinstanzen, bspw. für die Auflösung von fachlich konfliktären Anforderungen oder von Kapazitäts- und Terminkonflikten, vorzusehen.

Neue Versionen von Bausteinen stellen entweder abwärtskompatible Weiterentwicklungen dar (“minor version”) oder aber sie beinhalten “breaking changes”, also Inkompatibilitäten mit der alten Version (“major version”). Abwärtskompatible Weiterentwicklungen sind eher unkritisch – sobald die neue Version der Schnittstelle verfügbar ist, wird diese auch von allen Prozessen verwendet. Die Verantwortlichen der nutzenden Prozesse können dann frei entscheiden, ob und wann sie auch die erweiterte Funktionalität nutzen wollen.

Bei inkompatiblen Änderungen jedoch hat sich bei Schnittstellen als good practice die Lösung bewährt, neue Funktionalitäten als so genannte neue “major” Version bereitzustellen und für eine Übergangszeit sowohl die neue als auch die alte Version zu betreiben. In dieser Übergangszeit müssen die Schnittstellennutzer auf die neue Version migrieren. Dieses Konzept kann analog auf Bausteine übertragen werden.

Um den Lebenszyklus von Bausteinen managen zu können, müssen die Anbieter und Nutzer von Bausteinen bekannt sein. Auch hier kann analog zu Schnittstellen verfahren werden. Sowohl Anbieter als auch Nutzer von Bausteinen werden dokumentiert. In einfachen Fällen ist eine Intranet-Seite besser als gar nichts, in komplexen Fällen sollte diese Dokumentation toolgestützt erfolgen.

Idealerweise unterstützt die Low Code-Plattform das Management des Lebenszyklus von Bausteinen, indem sie Funktionalitäten für die Bereitstellung, die Versionierung und die automatisierte Dokumentation der Nutzung von Bausteinen bereitstellt.

Zusammenfassung

Low Code-Bausteine stellen ein wichtiges Instrument zur schnellen Digitalisierung und Automatisierung von Prozessen dar. Die einfache und effiziente Bereitstellung sowie Erweiterung von Bausteinen stellt bei komplexen fachlich tiefen Prozessen einen Erfolgsfaktor dar. Standardisierte Modellierungs- und Programmiersprachen leisten hier einen wichtigen Beitrag. Das Management des Lebenszyklus dieser Bausteine ist essentiell für die geordnete (Weiter-)Entwicklung von Prozessen und kann analog zum Management von Schnittstellen erfolgen.

Lust auf Mehr zu diesem Thema? Folgen Sie mir und masoona auf LinkedIn. Weitere Posts zu diesem Thema, u.a. mit Beispielen und technischen Umsetzungen, sind in Vorbereitung.

  1. Vgl. bspw. “Gartner Forecasts Worldwide Low-Code Development Technologies Market to Growth in 2023”, https://www.gartner.com/en/newsroom/press-releases/2022-12-13-gartner-forecasts-worldwide-low-code-development-technologies-market-to-grow-20-percent-in-2023 ↩︎
  2. Im Folgenden beziehe ich mich auf die Digitalisierung und Automatisierung von Prozessen auf der Basis von ablauforientierten Beschreibungssprachen. Andere Low Code-Technologien werden hier nicht betrachtet. ↩︎
  3. Vgl. https://www.omg.org/spec/BPMN/2.0/ ↩︎
  4. Für eine Übersicht vgl. bspw. “The Forrester Wave: Low-Code Development Platforms For Professional Developers, Q2 2021”, https://www.forrester.com/report/the-forrester-wave-low-code-development-platforms-for-professional-developers-q2-2021/RES161668?ref_search=0_1692967011739 ↩︎
  5. Alternativ zur Anbindung von plattformexternen Services kann die Plattform die Funktionalitäten auch selbst bereitstellen. ↩︎
  6. Von Forrester auch als “deep digital process automation” (DPA-deep) bezeichnet. Vgl. “The Forrester Wave – Software für digitale Prozessautomatisierung, Q3 2021”, https://www.forrester.com/report/the-forrester-wave-tm-digital-process-automation-software-q4-2021/RES176608?ref_search=3492107_1655903761272 ↩︎
  7. https://camunda.com/ ↩︎
  8. https://www.flowable.com/ ↩︎

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

DSGVO Cookie Consent mit Real Cookie Banner