Eine neue Sicht auf die Prozesssimulation

Modellintegrierte Darstellung der Simulation?

Graphische Notationen sind die erste Wahl bei der Prozessdokumentation. Dank ihnen kann sich der Betrachter sehr schnell ein deutliches Bild (im wahrsten Sinne des Wortes) von einem Prozess machen. Die Bearbeitung mit Hilfe eines graphischen Editors ist ergonomischer als die Bearbeitung eines Textes oder einer Tabelle. Die BPMN spielt diese Stärke dabei noch intensiver aus, als ältere Notationen wie z.B. die EPKs. Diese Vorzüge konnten bisher bei der Modellierung genutzt werden, teilweise auch im Workflow-Kontext, bei der Simulation hingegen wurde es bisher abstrakter.

Nur wenige Softwarehersteller haben überhaupt Erweiterungen entwickelt, um die Laufzeitanalyse von Prozessen zu ermöglichen. Die Ergonomie lässt dabei grundsätzlich zu Wünschen übrig. In der Regel findet der Anwender die notwendigen und optionalen Parameter in einem seperaten Eigenschafts-Editor, nachdem er das entsprechende Prozesselement angeklickt hat. Dem Prozessmodell selbst ist dabei nicht anzusehen, in wieweit es schon „mit Leben“ gefüllt wurde.

Auch die Simulationsergebnisse werden stets in einem seperaten Report aufbereitet. Teilweise bekommt der Benutzer nackte Zahlen zu sehen, teilweise Diagramme. Auch hier fehlt dem Anwender aber grundsätzlich eine Verknüpfung mit dem Prozessmodell.

Die Software IYOPRO geht nun einen neuen Weg und hat endlich die Simulation in den Modelleditor integriert.

Eine Sicht für jede Phase

Die Simulation von BPMN-Prozessen besteht aus drei Phasen:

  • Am Anfang steht die Prozessmodellierung. Die Prozessstruktur und die Abfolge von Aktivitäten wird festgelegt. Nur auf diese Phase sind BPMN-Editoren typischerweise ausgerichtet.
  • Im nächsten Schritt wird das Prozessmodell angereichert um Laufzeitinformationen. Dieser Schritt nennt sich Parametrierung. Wann startet ein Prozess? Wie lange dauert eine Aktivität? Wann wird welchem Pfad an einem Gateway gefolgt?
  • Sobald das Modell vollständig parametriert ist, wird das eigentliche Simulationsexperiment ausgeführt und die Simulationsergebnisse werden ausgewertet.

Neben der etablierten Modellierungssicht wurden in IYOPRO nun also zwei neuartige, durchaus innovative Sichten in den Modelleditor integriert: Eine für die Parameter und eine für die Ergebnisse.

Sicht auf die Simulationsparameter

Wenn die Simulationssicht bei einem frisch erstellten Prozessmodell aktiviiert wird, werden zunächst eine ganze Reihe blauer Fragezeichen eingeblendet.Und das ist schon der wichtigste Punkt. Denn jedes Fragezeichen steht für einen Pflicht-Parameter, der zwingend angegen werden muss, um eine Simulation zu ermöglichen. Das hilft sowohl dem Einsteiger als auch dem fortgeschrittenen Benutzer. So lange noch Fragezeichen offen sind, kann die Simulation nicht starten.

Ein Doppelklick auf ein Fragezeichen öffnet dann direkt das entsprechende Editor-Fenster. Sobald ein Parameter hinterlegt wurde, wird er entsprechend innerhalb des Prozessmodells eingeblendet:

  • Kalenderblätter geben an, zu welchen Zeitpunkt ein (Start-)Ereignis geplant wurde.
  • Wahrscheinlichkeiten an Gateways geben an, wie häufig welcher Weg eingeschlagen werden soll.
  • Code-Symbole an Gateways werden eingeblendet, wenn die Entscheidung nicht auf Wahrscheinlichkeiten sondern auf Bedingungen basiert.
  • Dichtefunktionen von stochastischen Verteilungen geben an, welche Verteilungen ausgewählt wurde, um die Dauer eine Aktivität oder die Zwischenankunftszeit von einem Ereignis zu beschreiben.
  • Eine farbliche Umrandung markiert Verteilungen mit einem hohen Erwartungswert in rot, Verteilunen mit einem kleinen Erwartungswert in Grün, Gelb und Orange-Tönen.
Konfiguration der Simulationsparameter

Konfiguration der Simulationsparameter

Sicht auf die Simulationsergebnisse

In der Ergebnissicht werden dem Benutzer einige wichtige Kennzahlen eines Simulationsexperiments visualisiert, ohne dass er dafür in den Ergebnisreport schauen muss. Bereits das Prozessmodell im Editorfenster vermittelt einen ersten Eindruck.

Sankey-basierte Sicht auf Simulationsergebnisse

Sankey-basierte Sicht auf Simulationsergebnisse

  • Am auffälligsten sind sicherliche die Sankey-Kanten, welche die herrkömmlichen Sequenzpfeile erstetzen. Ihre Dicke ist proportional zu der Anzahl der verarbeiteten Prozessinstanzen. Sehr schnell wird erkennbar, auf welchen Prozessen eine höhere Last liegt und welche Pfade besonders häufig durchlaufen werden. Unterschiedliche Farben innerhalb einer Kante stehen für unterschiedliche Produkte. So wird schnell ersichtlich, welche Produkte bevorzugt durch welche Pfade im Prozess geleitet werden.
  • An jeder Aktivität und jedem Knoten wird die Häufigkeit der Durchführung eingeblendet. Auch das hilft zu erkennen, wo ein Prozess ins Stocken gerät.
  • An jeder Aktivität werden Histogramme eingeblendet, welche die durchschnittliche Dauer, die durchschnittliche Wartezeit auf Ressourcen oder Mitarbeiter und – falls entsprechend parametriert – die entstanden Kosten angeben.
  • Bei allen Elementen erscheinen ToolTips mit detaillierten Infos.
  • Um beonders schnell diejenigen Aktivitäten zu finden, welche für eine ausgewählte Kennzahl des Histogramms am besten oder schlechtesten abschneidet, lassen sich alle Aktivitäten entsprechend dieser Kennzahl einfärben. Eine Aktivität mit besonders hohen Wartezeiten wird auf Wunsch rot gefärbt, niedrige Wartezeiten hingegen grün.

Fazit

Bei meinen Kontakten zu Industriepartner in den letzten Wochen und Messeauftritten (bei denen es an sich nichtmal um IYOPRO ging) haben sich diese neuen Sichten auf die Simulaiton bereits bewährt. Während es bisher einiges an didaktischen Talent erfordert hat, die Simulationstechnik ohne geeignete Visualisierungen zu erläutern, reichen nunmehr zwei Grafiken aus, um das Wesen der ereignisdiskreten Simulation zu vermitteln.

Die Parametrierung von Modellen geht nun sehr viel zügiger vonstatten. De Facto werden weniger Mausklicks benötigt und die Orientierung, wohin überhaupt zu klicken ist, ist jetzt nahezu selbstverständlich.

Die Darstellung der Simulationsergebnisse ist ebenfalls gut gelungen. Natürlich erfordert eine fundierte Auswertung der Ergebnisse nach wie vor eine Betrachtung des Report-Dokuments. Für einen ersten Überblick ist die Darstellung jedoch sehr hilfreich. Sehr schnell kann nun festgestellt werden, ob eine SImulation überhaupt korrekt lief. Die Orientierung bei all den zahlreichen, angebotenen Kennzahlen fällt leichter, wenn einige entscheidende Kennzahlen direkt im Prozessmodell visualisiert werden. Und nicht zuletzt ist diese Darstellung auch eine wunderbare Ergänzung für die Berichterstattung. Die Integration von durchsatzabhängigen Sankey-Kanten in eine Prozessdokumentation ist dabei durchaus innovativ.

Einzig schade ist noch, dass diese Funktion gar nicht so leicht zu finden ist. Der erfahrene Simulanant hat bereits gelernt, dass er bei IYOPRO zunächst im Eigenschaftseditor auf „Simulation“ umstellen muss. Anschließend erscheint der bereits bekannte Simzulation-RibbonTab. Hier findet sich nun ein neuer Knopf „Perspektive“. Ist der einmal gefunden, so kann der Anwender umschalten zwischen „Modellierung“, „Simulation“ und „Ergebnisse“. Auch sollten bei der Erebnigssicht einzelne Elemente auch ausgeblendet werden können. Die Dichtefunktionen in der SImulationssicht sind so klein, dass sie sich nur schwer unterscheiden lassen. Ein wenig Verbesserungspotential bietet das ganze also noch.

Als abschließendes Fazit bleibt zu sagen: Diese speziellen Perspektiven helfen dabei, die hohe Einstiegshürde beim Verständnis der Simulation zu überwinden. Und das ist doch ein kleiner Meilenstein für die Prozessanalyse. Eben eine neue Sicht auf die Prozessimulation.

Advertisements

Was kosten meine Prozesse? Teil 1: Einleitung und Videos

Eine der wichtigsten Kennzahlen bei der Prozessanalyse sind die Kosten.  Ziel der Prozesskostenrechnung ist die aufwandsgerechte Verteilung von Kosten auf ihre Prozesse und ihre Produkte. Kosten werden natürlich meist monetär ausgedrückt (Euro, Dollar etc.). Aber nach dem hier vorgestelltem Prinzip können auch andere Einheiten (z.B. kg CO2) separat bilanziert werden. Unabhängig von der Einheit werden zwei Eigenschaften von Kosten unterschieden:

  • Leistungsmengenneutrale Kosten (LMN-Kosten): besitzen unabhängig von der Ausführung von Aktivitäten eine feste zu buchende Größe
  • Leistungsmengeninduzierte Kosten (LMI-Kosten): entstehen durch die Ausführung von Aufgaben .

LMI-Kosten werden an den Aktivitäten ihrer Prozesse definiert. Der zu buchende Wert kann abhängig sein von der Häufigkeit der Durchführung einer Aktivität, von der Dauer einer Aktivität oder von sonstigen Prozessvariablen z.B. Länge einer Liste.

LMN-Kosten sind fixe, durch Ressourcen verursachte Kosten z.B. das Monatsgehalt eines Mitarbeiters. Ressourcen werden für die Bearbeitung zu bestimmender Aufgaben betraut. Die fixen Kosten werden proportional zur Nutzung auf die entsprechenden Aktivitäten, Prozesse und Produkte gebucht.

Es aber gar nicht einfach, einen angemessenen Verteilungsschlüssel für die LMN-Kosten zu finden. Besonders wenn ein großer Teil der eigenen Kosten LMN-Kosten sind (wie z.B. im Verwaltungs- oder Dienstleistungssektor) wird eine manuelle Zuordnung auf die Kostenträger sehr schwer – falls man es genauer haben will, als mit einer pauschalen Zuschlagssatzrechnung.

Das Problem lässt sich mit Hilfe der Prozesssimulation elegant lösen. Benötigt werden Prozessmodelle, Definitionen von Kostenstellen und weiteren Information wie z.B. Dauer von Aktivitäten und Häufigkeit von Ereignissen. Der Erkenntnisgewinn über die eigenen Prozesse ist enorm, allerdings ist der initiale Aufwand hierfür auch nicht gerade gering. Wenn man sich ein solches Modell erstmal konfiguriert hat, lassen sich sehr leicht auch alternative Szenarien evaluieren.

In diesen beiden Videos beschreibe ich euch zunächst wie die Prozesskostenrechnung mit der BPMN-Suite IYOPRO grundsätzlich funktioniert.  In den nächsten Wochen schreibe ich weitere Artikel, in denen ich das Thema Schritt-für-Schritt erläutere.

Video Teil 1 (ca. 17min)
Video Teil 2 (ca. 17min)

 

Prozesssimulation als Analysemethode – Was ist das und was sind die Ziele?

Mit Hilfe von Prozessmodellen erhalten wir eine statische Sicht auf unsere Prozessdefinition. Wir wissen in welcher Reihenfolge welche Aktivitäten ausgeführt werden sollen, wodurch Prozesse gestartet werden und was die Ergebnisse sind. Auch Ausnahmebehandlungen oder die Kommunikation mit Partnern lassen sich mit der BPMN 2.0 komfortabel darstellen.

Was uns aber hier noch fehlt, ist eine Betrachtung des dynamischen Laufzeitverhaltens. Unsere bloßen Prozessdefinitionen sagen uns nichts über die Laufzeiten von Aktivitäten, über die Auslastung von Ressourcen oder über kritische Rückkopplungen während der Ausführung.

Mit Hilfe der Simulationstechnik kann das Laufzeitverhalten von Prozessen analysiert werden. Es gibt einige Tools auf dem Markt, die sich die Simulation auf die Fahne geschrieben haben. Doch Vorsicht! Nicht überall wo Simulation draufsteht, ist auch Simulation drin. Desöfteren schon musste ich erkennen, dass eine bloße Animationsfunktion, bei der einzelne Prozesselemente aufblinken, wenn sie „an der Reihe sind“, als Simulations verkauft wird. Auch gibt es große Unterschiede, was für Funktionen eine Software bietet und wie brauchbar die SImulationskomponente für euren Einsatzbereich ist.

Bei einer „richtigen“ Simulation werden Statistiken erzeugt – es werden Prozesskennzahlen errechnet. Dafür wird eine Menge von Prozessinstanzen Schritt-für-Schritt durchgespielt. Ganz ähnlich wie bei einer Animation, jedoch viel schneller. Wir gucken bei einer Simulation auch gar nicht zu: Typischerweise berechnen wir das Prozessverhalten für ganze Geschäftsjahre in wenigen Minuten. Es können zahlreiche Prozesse parallel simuliert werden, die sich gar nicht parallel mit dem Auge verfolgen lassen. Das Ergebnis eins Simulationsexperimentes wird in einem Report dargestellt, aus dem wir die für uns interessanten Informationen heraussuchen müssen. Am komfortabelsten ist es, wenn uns die Ergebnisse grafisch aufbereitet in die Prozessdefinition hineingezeichnet werden oder wir uns die Ergebnisse direkt im Excel-Format exportieren können.

Was sind die relevanten Ergebnisse? Wie auch bei der Modellierung von Prozessen müssen wir uns auch bei der Simulaion klar vor Augen halten, welche Ziele wir verfolgen. Der Detailgrad bei der Modellierung ist ja davon abhängig, ob wir als Zielsetzung z.B. eine Kommunikationsgrundlage für die Schulung unserer Mitarbeiter, die Erfüllung bestimmter Normen und Auflagen  oder ausführbare Workflow Modelle vor Augen haben. Wenn wir uns die Simulation als Ziel nehmen, müssen wir zusätzlich festlegen, welche Fragestellung wir mit der Simulation untersuchen wollen! Hiervon abhängig müssen wir das passende Abstraktionsniveau für unsere Prozessmodelle wählen und die benötigten Daten in unserer Organisation zusammensuchen.

Ziele der Simulation aus Joschko (2014)

Ziele der Simulation aus Joschko (2014)

Die Fragestellungen die wir mit Simulation untersuchen können, sind vielfältig:

  • Ich habe mir eine Prozessalternative überlegt. Ist die wirklich besser als meine Ist-Prozesse?
  • Wie verhalten sich meine Prozesse unter einer geänderten Auftragslast? Vertragen meine Prozesse einen Stresstest?
  • Wie sind die Prozesslaufzeiten und Wartezeiten?
  • Welche Kennzahlen haben meine Prozesse? Z.B. Kosten und Effizienz?
  • Wie ist die Auslastung meiner Mitarbeiter, Maschinen und sonstigen Ressourcen? Kann ich Engpässe beseitigen? Kann ich Ressourcen irgendwie besser allokieren?
  • Gibt es kritische Bestandteile in meinen Prozessdefinitionen? Z.B. Deadlocksituationen im Nachrichtenaustausch?
  • Was kosten meine Prozesse? Wie kann ich leistungsmengeninduzierte und leistungsmengenneutrale Kosten aufwandsgerecht verteilen?

Abhängig von der Fragestellung sind natürlich die Daten die wir zusammentragen müssen. Grundsätzlich muss ich für eine Simulation mehr Daten zusammentragen, als für eine bloße Modellierung. Damit die Schritt-für-Schritt-Ausführung klappt, muss ich definieren, wie lange eine Aktivität dauert oder wie häufig ein Ereignis ausgelöst wird. Auch Wahrscheinlichkeiten oder komplexe Bedinungen an Gateways müssen definiert, damit die Simulation entscheiden kann, wo die jeweilige Prozessinstanz langläuft.

Um eine möglichst realistisches Abbild des Laufzeitverhaltens der realen Prozesse zu erreichen, nutzen wir stochastische Verteilungen. Ein Mitarbeiter braucht nämlich nicht immer gleich lange für die Bearbeitung einer Aufgabe, das hängt schon alleine von seiner persönlichen Tagesform ab. Auch wann und wie häufig eine Kundenanfrage reinkommt, können sie zwar im Durschnitt recht genau angebene, sie können jedoch die genau Uhrzeit nicht vorhersehen. Gerade in solchen Schwankungen können zum Beispiel kritische Rückkopplungen ihre Uhrsache haben. Je nachdem welche Daten uns zur Verfügung stehen, wählen wir daher zum Beispiel eine Normalverteilung (mit Mittelwert und Standardabweichung), eine Gleichverteilung (mit Unter- und Obergrenze) oder eine Dreiecksverteilung (mit Untergrenze, Obergrenze und Peak). Der Aufwand hierfür ist natürlich beträchtlich, aber schon die Erfassung dieser Parameter bietet uns einen zusätzlichen Erkenntnisgewinn über unsere Prozessse.

Da wir mit Stochastik arbeiten ist es notwendig lange Experimentläufe zu machen. Ein Experiment über einen Tag hat nahezu keine Aussagekraft – es bietet nur einen zufälligen Ausschnitt aus dem möglichen Ergebnisraum. Wenn wir jedoch über ganze Geschäftsjahre simulieren, wird so ziemlich jede Ausnahmesituation einmal auftreten – und wir können quantifizieren, wie häufig das geschieht!

Meine favorisierte Softare IYOPRO bietet eine fundierte Simulationstechnologie. Dafür wurde in IYOPRO die Simulationsbibliothek DESMO-J integriert, welche an der Universität Hamburg entwickelt wurde und weltweit in Forschung, Lehre und kommerziellen Produkten wie IYOPRO im Einsatz ist. Ich werde in Zukunft einige Artikel schreiben, die sich mit der Simulation mit Hilfe von IYOPRO beschäftigen.