Workflow-Management-Systeme zur Digitalisierung von Geschäftsprozessen im Vergleich

Viele Wege führen zum digitalen Prozess

Viele Wege führen zum digitalen Prozess

Workflow-Management-Systeme zur Digitalisierung von Geschäftsprozessen im Vergleich

Viele Wege führen zum digitalen Prozess


Bei der Digitalisierung einfacher Geschäftsprozesse liegt es zunächst auf der Hand, Low- oder No-Code-Prozessplattformen zu verwenden. Sollen komplexere Geschäftsprozesse digitalisiert werden, kann auf Workflow-Management-Systeme mit großem Funktionsumfang jedoch kaum verzichtet werden. Diese bilden den Kern für die zu entwickelnde Individualsoftware. Im Folgenden werden vier am Markt etablierte Workflow-Management-Systeme verglichen, die auf Java basieren. Anhand eines Kriterienkatalogs wird geprüft, wie gut sie sich in den heute üblichen Softwareentwicklungsprozess integrieren lassen.

Bei der Digitalisierung von einfachen Geschäftsprozessen setzen Unternehmen häufig auf Low-Code- oder No-Code-Plattformen, mit denen per Drag and Drop Geschäftsprozesse als digitale Workflows abgebildet werden können. Für komplexe Geschäftsprozesse eignen sich diese Plattformen hingegen nicht. Stattdessen sollten dafür Workflow-Management-Systeme eingesetzt werden, die in einen Standardentwicklungsprozess integriert werden können, sodass sich die Engine des Workflow-Management-Systems als State Maschine um die Reihenfolge der abzuarbeitenden Aufgaben kümmert. Der Prozess wird wiederum eingebettet in eine individuell entwickelte Software mit spezifischer Nutzeroberfläche, eigens entwickelten Schnittstellen und separater Datenhaltung. Aufgrund der Notwendigkeit, Quellcode zu schreiben, fällt diese Art der Prozessdigitalisierung offensichtlich in das Metier eines Software Engineers. Sobald aber Quellcode geschrieben wird, steht man vor den Herausforderungen eines jeden Softwareentwicklungsprojekts: Wie gelingt eine gute Zusammenarbeit im Team? Wie wird der Quellcode lesbar, wartbar, testbar und möglichst fehlerfrei?

Auf diese Frage hat die Disziplin des Softwareengineerings Antworten in Form von Vorgehensweisen, Konzepten und Tools erarbeitet, die auch bei der Workflowimplementierung anwendbar sein müssen. Zudem werden bei der Softwareentwicklung auch Anforderungen an die Eigenschaften der Systeme gestellt. Werden Standards bei der Programmierung unterstützt und kann die bisher im Unternehmen etablierte Entwicklungsumgebung auch für die Entwicklung mit Workflow-Management-Systemen eingesetzt werden? Um diese Aspekte aufzugreifen, werden in dem vorliegenden Artikel auch verschiedene Systemeigenschaften näher betrachtet.

Softwareengineeringkonzepte

Durch die Nutzung verschiedener Konzepte des Softwareengineerings wird der Softwareentwicklung eine Struktur gegeben, es werden Fehler vermieden und wiederkehrende Aufgaben automatisiert. Auch bei der Digitalisierung von Geschäftsprozessen mit einem Workflow-Management-System müssen solche Vorgehensweisen daher anwendbar sein. Die folgenden Konzepte wurden für den vorliegenden Vergleich als Mindestanforderungen des Softwareengineerings an die untersuchten Systeme identifiziert:

  • Versionsverwaltung

  • Build- und Dependency-Management

  • gute Testbarkeit (hohe Testabdeckung)

  • Continuous Integration/Continuous Delivery

Bei der Implementierung von Individualsoftware arbeiten in der Regel verschiedene Entwickler zusammen an einer gemeinsamen Codebasis. Dabei ist eine reibungslose Zusammenarbeit wichtig, um effizient voranzuschreiten. Eine Versionsverwaltung lässt Entwickler an einer gemeinsamen Codebasis arbeiten, verschiedene Entwicklungsstände zusammenzuführen und bietet die Möglichkeit, auf ältere Stände der Software zu wechseln. Gibt es Workflow-Management-Systeme, die proprietäre Datenformate verwenden, könnte es zu Problemen beim Zusammenführen verschiedener Versionen kommen.

Für häufige Problemstellungen werden Standard-Libraries eingebunden, sodass die Entwickler sich mit den domänenspezifischen Problemen der Prozessanwendung beschäftigen können. Standard-Libraries müssen einfach verwaltbar sein. Build- und Dependency-Management-Tools erleichtern den Entwicklern die Einbindung und Verwaltung der Bibliotheken sowie das Bauen, Testen und Deployen der Anwendung auch auf Basis eines Workflow-Management-Systems.

Je später Fehler in einer Software erkannt werden, desto aufwendiger ist es, diese zu beheben. Automatisierte Tests helfen bei der Identifikation von Fehlern. Eine möglichst hohe Testabdeckung ist daher erstrebenswert. Für die einzelnen Workflow-Management-Systeme muss daher geprüft werden, wie gut sich mit Unit-Tests die Geschäftslogik der Workflows testen lässt und ob es „blinde Flecken“ gibt, die sich nicht durch Unit-Tests abdecken lassen.

Nun zum letzten Softwareengineeringkonzept im Vergleich: Wiederkehrende Aufgaben im Softwareentwicklungszyklus müssen automatisiert werden, um die Entwickler zu entlasten, sodass diese sich auf die eigentliche Implementierung konzentrieren können. Unter Continuous Integration (CI) versteht man das automatisierte Bauen und Testen von in der Versionsverwaltung eingecheckter Software. Continuous Delivery (CD) knüpft an das automatisierte Bauen der Applikation an. Die Änderungen werden nach erfolgreicher Testung automatisiert in eine definierte Umgebung ausgerollt und können so dem Kunden zur Verfügung gestellt werden. Um manuelle Mehraufwände zu vermeiden, muss...