... Geschäftsregeln als Schlüssel für erfolgreiche Prozessautomatisierung
Im März 2015 wurde die Beta 2 des Standards „Decision Model and Notation“ (DMN) von der Object Management Group (OMG) verabschiedet. Die DMN ist nicht der erste Versuch, einen unabhängigen Standard zur Modellierung und Beschreibung von Geschäftsregeln einzuführen, und man darf gespannt sein, ob dieser Anlauf erfolgreicher wird. Mit dem Release 7.4 wird der Standard durch camunda erstmalig in einer BPM Lösung in der Ausführung unterstützt.
Geschäftsregeln sind die Schaltzentrale, die über den Automatisierungsgrad eines Prozesses entscheidet. Je genauer die Entscheidungen sind, die durch die Maschine getroffen werden können, desto seltener werden User-Tasks in die Sachbearbeitung ausgesteuert. Umgekehrt gilt aber auch, dassfalsch getroffene Entscheidungen weitreichende Konsequenzen haben können. Gleichzeitig müssen diese Regeln laufend geschärft und releaseunabhängig angepasst werden. Hier sprechen wir von “ad-hoc Regeländerungen”.
Ein schönes Beispiel, dass ich auch schon in meinem vorherigen Artikel verwendet habe, verdeutlicht den Sachverhalt. Es betrifft die Ermittlung der Vorsteuerabzugsberechtigung eines Kunden, welche für die Kalkulation des Auszahlungsbetrags in einem automatisierten Prozess zur Zahlung von Kraftfahrtglasbruchschäden benötigt wird. Kann die Vorsteuerabzugsberechtigung nicht automatisch über die Geschäftsregel ermittelt werden, muss ein Sachbearbeiter die Klärung herbeiführen, was die Prozesskosten in die Höhe treibt. Wird Sie jedoch falsch ermittelt, erhöht dies den Auszahlungsbetrag um den Anteil der Mehrwertsteuer.
Gutes Geschäftsregelmanagement ist also der Schlüssel für erfolgreiche Prozessautomatisierung. Grund genug, DMN und die Implementierung von camunda einmal genauer unter die Lupe zu nehmen.
Geschäftsregelmanagement? Das hatten wir doch schon!
Wir bei der BBHT beschäftigen uns schon sehr lange mit Geschäftsregelmanagement und haben in verschiedenen Kundenprojekten Erfahrungen mit unterschiedlichen Geschäftsregelmaschinen wie z.B. Visual Rules von Bosch SI, dem Blaze Advisor von FICO oder auch den Open-Source Produkten wie Drools aus der JBoss Community gesammelt.
Auffällig ist, dass diese Produkte vollkommen unterschiedlich verwendet wurden und dass es zwei grundsätzlich unterschiedliche Ansätze gibt:
- Ein Teil der Kunden verfolgt den strategischen Ansatz, ein unternehmensweites Geschäftsregelmanagement, auch Enterprise Decision Management (EDM) genannt, einzuführen. Kernziele sind Entscheidungen anwendungsübergreifend einheitlich zu treffen, die Transparenz zu steigern und insbesondere ad-hoc Änderungen durch die Fachbereiche zu ermöglichen.
- Ein anderer Ansatz ist die Optimierung von Entscheidungen innerhalb einer Anwendung, in der die Algorithmen des eingesetzten Produkts genutzt werden, um z.B. eine optimale Auslastung von Callcenter-Mitarbeitern unter den gegebenen Rahmenbedingungen zu errechnen.
Beide Ansätze legitimieren den Einsatz von Geschäftsregelmaschinen. Jedoch sind in beiden Fällen die Anforderungen an das Produkt sehr unterschiedlich. Der strategische Ansatz verlangt meines Erachtens, dass Geschäftsregelmanagement als eine Managementmethode verstanden wird, analog zum Testmanagement oder auch Prozessmanagement. Es handelt sich nicht um eine Kernkompetenz der IT. Vielmehr muss es durchgehende Prozesse von der Vision über die Erhebung, die Analyse, dem Design bis zur Umsetzung und Einführung geben. So, wie wir es aus dem Prozessmanagement kennen, werden Regelverantwortliche benötigt, die beurteilen können, welche Auswirkungen zentrale Änderungen auf Abläufe und Organisation haben.
Da heutige Organisationen nicht dafür ausgelegt sind, scheitert dieser Ansatz häufig in dem Sinne, dass es nur wenige unternehmensweit gültige Regeln gibt, die das getätigte Investment nicht rechtfertigen.
Probleme gibt es häufig bei der anwendungsübergreifenden Vereinheitlichung von Datenmodellen und dem Herauslösen der fachlichen Regelwerke aus den bestehenden Anwendungen.
Eine weitere besondere Herausforderung besteht in der Testbarkeit von Regeländerungen, die durch den Fachbereich ad-hoc getätigt werden. Hier werden Stagingkonzepte, Mehr-Augen-Prinzipien, Simulationen und automatisierte Tests benötigt.
Meine Wahrnehmung ist daher, dass sich EDM nicht in dem Maße durchgesetzt hat, wie es eigentlich wünschenswert wäre. Denn die Anforderungen nach Transparenz, Einheitlichkeit und Änderungsgeschwindigkeit sind weiterhin gegeben und können einen großen Beitrag zum Business-IT-Alignment leisten.
Aus meiner Sicht lassen sich die Ursachen der oben genannten Probleme auch nicht mit einem Standard in der Modellierung und Beschreibung lösen. Warum also beschäftigen wir uns dann trotzdem damit?
Die Antwort lautet: Business Process Management (BPM).
Geschäftsregeln in der Prozessautomatisierung
Der Einsatz von Prozessmaschinen zur (Teil-) Automatisierung von Geschäftsprozessen ist in den vergangenen Jahren stark gestiegen. Hier hat sich der Standard BPMN 2.0 durchgesetzt. Alle namhaften Hersteller von Prozess-Engines unterstützen mittlerweile diesen Standard, der ebenfalls durch die OMG verabschiedet wurde.
Einer der wesentlichen Schlüssel zum Erfolg war dabei das Business-IT-Alignment. Denn BPMN hat gleichermaßen in der IT als auch in den Fachbereichen Einzug gefunden. Wenn man heute eine Schulung zum Thema Geschäftsprozessmanagement besucht, kommt man an BPMN nicht vorbei und auch ehemalige de-facto Standards wie die ereignisorientierten Prozessketten (EPK) verlieren zunehmend an Bedeutung.
BPMN benötigt Geschäftsregeln
Die BPMN kennt bereits ein Notationssymbol für Geschäftsregeln. Ziel ist es, seine Abläufe frei von Regelwerken zu definieren, da diese eine andere Änderungshäufigkeit haben und sich in anderer Form wie z.B. Entscheidungstabellen einfacher darstellen lassen.
Ein Beispiel verdeutlicht dies:
Ein Versicherer hat einen Prozess zur Automatisierung von Auszahlungen im Schadenfall implementiert. Hier ist vorgesehen, dass zur Absicherung der Korrektheit in einigen Fällen ein 4-Augen-Prinzip vor der Ausführung der Zahlung durchgeführt wird. Die Automatisierungsquote der Auszahlungen ist abhängig von der Zahlungssumme. Eine Möglichkeit zur Ermittlung der Quote wäre die Abbildung dieser Logik im Prozessmodell:
Die charmante Alternative dazu ist, die Entscheidung in eine Geschäftsregel auszulagern und das Prozessmodell so frei von der Entscheidungsfindung zu halten. Das Prozessmodell sieht dann wie folgt aus:
Letzteres hat zwei wesentliche Vorteile:
- Das Prozessmodell ist übersichtlicher und beschreibt nur den Prozessfluss.
- Eine Anpassung der Geschäftsregel wirkt sich nicht auf das Prozessmodell aus und kann unabhängig erfolgen.
Das Herauslösen von Geschäftsregeln aus dem Prozess ist natürlich besonders interessant, wenn diese sich häufig ändern. Dies kann im gewählten Beispiel durchaus der Fall sein. Insbesondere in einem Ereignisschaden, wie einem großflächigen Sturm, können die Quoten für die Prüfung durchaus variieren, da die Kapazitäten häufig nicht ausreichend sind, um das Volumen zu bewältigen.
Diese Art von Regeln gibt es in einem automatisierten Prozess zuhauf. In der Regel haben diese sogar eine deutlich höherer Komplexität, wie das einleitende Beispiel der Ermittlung der Vorsteuerabzugsberechtigung eines Kunden, oder auch ein Regelwerk, dass wir im Rahmen einer Betrugserkennung implementiert haben, zeigt.
Was nun also noch fehlt, ist die Abbildung der Geschäftsregel, die aus dem BPMN Diagramm herausgelöst wurde. Hier kommt nun DMN ins Spiel.
Camunda bietet DMN Support
Ein BPM-Produkt, dass sich aktuell zunehmender Beliebtheit erfreut, ist camunda. Bei camunda handelt es sich um ein leichtgewichtiges BPM-Framework, dass mit dem Slogan “No bullshit BPM” wirbt und insbesondere für Java-Entwickler einen schnellen Einstieg ermöglicht.
Mit der Version 7.4 bietet camunda nun auch DMN Support an und ist damit die erste BPM Lösung, die den aktuellen Standard implementiert. In dieser ersten Version ist der DMN-Standard für horizontale Entscheidungstabellen umgesetzt worden.
Entscheidungstabellen können dabei in einem webbasierten Editor namens dmn.io modelliert werden. Die im Beispiel genannte Geschäftsregel lässt sich damit wie folgt abbilden:
Die Entscheidungstabelle lässt sich mit dem Editor sehr einfach erstellen. Schnell wird jedoch klar, dass es sich hier um eine erste Preview handelt und dass nicht der komplette DMN-Standard für Entscheidungstabellen umgesetzt wurde. So musste ich beispielsweise in der Abbildung dieser Regel mit “von-” und “bis-Werten” arbeiten, da die aktuelle Implementierung noch keine hit policies unterstützt und somit der DMN-Standard “unique” greift. Die hit policy “unique” bedeutet, dass alle Regeln eindeutig sein müssen und zu einem Satz von Inputparametern immer nur eine Regel greift.
Camunda hat bereist angekündigt in einem der folgenden Releases hit policies unterstützen zu wollen. Für das oben genannte Beispiel wäre die hit policy “first” besser geeignet. Diese hit policy besagt, dass wenn mehrere Regeln greifen, der Ouput der ersten Regeln zurückgegeben wird. Mit der hit policy “first” ist es möglich nur den “bis” Wert anzugeben, was die Fehleranfälligkeit minimiert, da nicht auf die Konsistenz einzelner Wertepaare geachtet werden muss. Die Entscheidungstabelle mit der hit policy first sieht dann wie folgt aus:
Weitere spannende Features sind bereits angekündigt, hierzu zählen neben den hit policies, Berechtigungseinschränkungen in der Modellierung, sowie strikte Trennung der IT-relevanten Aspekte von den Geschäftsregeln.
Die Einbindung der modellierten Geschäftsregel in das BPMN Modell ist aktuell noch etwas mühselig, zeigt aber bereits, dass eine einfache, konfigurative Integration durch das Referenzieren des DMN-Modells möglich ist.
Dies ist einer der wesentlichen Vorteile gegenüber der Anbindung von standalone Geschäftsregelmaschinen. Der integrative Weg erlaubt den direkten Zugriff auf beliebige Variablen des Prozesskontextes, ohne den Code anzupassen. So können bei ad-hoc Regeländerungen nicht nur einzelne Geschäftsregeln dynamisch angepasst werden, sondern sogar neue Inputparameter hinzugefügt werden, ohne das ein Deployment notwendig wird.
Für die Inbetriebnahme von ad-hoc Regeländerungen hat camunda bereits angekündigt die “cockpit” Anwendung, welche heute für die Steuerung und Administration von Prozessanwendungen bereitgestellt wird, entsprechend zu erweitern.
In Ihrem Blogeintrag kündigt camunda das DMN Feature wie folgt an:
A new lightweight decision Engine with native support for DMN, developed from scratch
Bei der Ausführungskomponente hat man sich also für eine Eigenentwicklung und gegen die Integration einer bestehenden open-Source Engine entschieden. Dies finde ich besonders spannend, da so die Vermutung nahliegt, dass camunda eher auf eine einfache Integration von DMN in Prozessanwendungen aus ist und sich vermutlich nicht als Konkurrent zu bestehenden Geschäftsregelmaschinen versteht. Denn komplexe Algorithmen zur performanten Entscheidungsfindung und Optimierung, wie sie z.B. Drools bietet, wird man sicher nicht noch einmal bauen wollen. Diese werden im Kontext eines Prozessmodells aber sicher auch die Ausnahme darstellen.
Wohin geht die Reise?
Anders als bei BMPN glaube ich, dass die Verbreitung des DMN-Standards über die verschiedenen bestehenden Geschäftsregelmaschinen verhältnismäßig langsam voranschreiten wird, da dort, wo diese bereits im Rahmen eines zentralen Management Ansatzes genutzt werden, die Portierungaufwände sehr groß wären und wenig nutzenstiftend sind. Dass also die bekannten Hersteller flächendeckend den Standard in kurzer Zeit unterstützen werden, darf durchaus bezweifelt werden. Zudem Unterstützen viele Produkte heute in der Beschreibung und Modellierung von Geschäftsregeln mehr als der DMN Standard vorsieht.
Ein weiterer Aspekt hierbei ist, dass die Modellierung von Geschäftsregeln eine andere Historie hat. Geschäftsprozessmanagement wird als Management Disziplin auch ohne Automatisierung verwendet, so dass der Einsatz des Standards BPMN auch ohne IT-Unterstützung in Form einer Prozessmaschine Relevanz hat. Dies ist bei Geschäftsregeln aktuell nicht gegeben.
Nichtsdestotrotz sehe ich in der Kombination von BPMN und DMN großes Potential. Camunda hat dabei einen ersten kleinen Schritt gemacht, indem sie DMN Support in das bestehende BPM-Produkt integriert haben. Ich glaube, dass es sich, insbesondere für einen leichtgewichtigen Einstieg in das Thema Geschäftsregelmanagement, um eine sinnvolle Erweiterung des Produkts handelt. So können sich Unternehmen auf die Einführung einer Business Process Engine konzentrieren und haben trotzdem die Möglichkeit, erste Erfahrungen mit der Externalisierung von Geschäftsregeln zu sammeln.
Herausforderungen, die insbesondere ad-hoc Regeländerungen mit sich bringen, sind hier jedoch bisher in keiner Weise adressiert. Unklar ist, ob es ein zentrales Regelrepository geben wird, wie Stagingkonzepte und Testbarkeit abgebildet werden, oder ob es Möglichkeiten für Simulation geben wird. Aber auch aus einem zarten Pflänzchen kann manchmal schnell ein großer Baum erwachsen.
Ich bin gespannt wie es weitergeht, freue mich, dies zu beobachten, und hoffe, dass wir dem Gedanken von EDM damit wieder einen Schritt näher kommen.
[Bild: Gil C/shutterstock.com]