Prozessflexibilität

Flexibilität und Robustheit von prozessorientierten Anwendungen
Prozessoptimierung, Service-orientierte Architekturen und Business Process Management sind seit Jahren dominierende Themen in zahlreichen IT-Fachzeitschriften. Dies ist weiter nicht verwunderlich, da diese Geschäftsfelder im Gegensatz zu vielen anderen Informationstechnologien (z.B. Datenbanksystemen) noch erhebliches Wachstumspotenzial versprechen. Hinzu kommt eine Reihe fachlicher Gründe, die das Thema "Business Process Mangement" verstärkt in den Fokus der Anwender rücken:

  • Auf Marktchancen muss heute sehr viel rascher als früher reagiert werden, d.h. Produkte bzw. Services müssen wesentlich schneller entwickelt bzw. auf den Markt gebracht werden.
  • Der globale Wettbewerb zwingt Unternehmen in zunehmendem Maße zur Entwicklung neuer (oftmals internetbasierter) Interaktionsformen mit Zulieferern und Kunden.
  • Gesetzliche Rahmenbedingungen ändern sich immer rascher und zwingen Unternehmen immer kurzfristiger zu entsprechenden Anpassungen.

Alle diese Entwicklungen haben erhebliche Auswirkungen auf die betrieblichen Abläufe und die sie unterstützenden Informationssysteme. Sie müssen rasch an neue Gegebenheiten anpassbar sein. Der Erfolg von BPM-Technologie wird deshalb entscheidend davon abhängen, ob sie in der Lage ist, die Flexiblität eines Unternehmens zu erhöhen oder ob eher das Gegenteil eintritt.

Die Anbieter heutiger BPM-Technologie haben dies mittlerweile erkannt, und "Flexibilität" findet sich als Buzzwort in nahezu jeder Werbebroschüre. Allerdings erfordert echte Flexibilität mehr als bisherige BPM-Systeme zu leisten imstande sind:

Flexibiltät hinsichtlich der Realisierung neuer Prozesse
Wie rasch ist es möglich, einen neuen, robust ablauffähigen Prozess zu implementieren? D.h. wieviel Aufwand muss man nach der Prozessmodellierung und der Zuordnung ausführbarer Anwendungsdienste noch treiben, um sicher gehen zu können, dass die Instanzen dieses Prozesses auch robust und stabil ausführbar sind. Hierzu gehören z.B. umfassende Prüfungen, ob der modellierte Prozess bei der Ausführung in eine unerwünschte Blockierung laufen kann oder ob Prozessschritte zur Ausführung kommen können, obwohl ihre Eingabeparameter zum Aufrufzeitpunkt noch nicht versorgt sind. Je weniger Systemunterstützung für die Fehleranalyse angeboten wird, desto höher sind die Testaufwände für prozessorientierte Informationssysteme und desto länger dauert die Einführung eines neuen Prozesses.

Flexibilität bei der Ausführung von Prozessinstanzen
Im täglichen Geschäftsleben treten immer wieder Situationen auf, die nicht eingeplant sind und auf die man flexibel reagieren können muss. Jedes Prozess-Management-System, das seine Anwender zwingt, an dem durch das Prozessmodell vorgeplanten Ablauf starr festzuhalten, auch wenn der modellierte Ablauf in der aktuellen Situation nicht mehr angemessen ist, wird mit großen Akzeptanzproblemen konfrontiert sein und es schwer haben, in nicht-triviale Anwendungsbereiche vorzustoßen. In einfach gelagerten Fällen wird es genügen, einen Prozessschritt durch einen anderen Prozessschritt (oder Subprozess) auszutauschen, im Allgemeinen wird man jedoch sehr viel mehr Bewegungsspielraum brauchen, um die weitere Prozessausführung der gegebenen Situation anzupassen. - Natürlich dürfen solche Ad-hoc-Eingriffe auf Prozessinstanz-Ebene nicht zu Lasten der oben erwähnten Robustheit gehen.

Flexibilität bei Änderungen am Prozess
Aus den oben erwähnten Gründen müssen nicht nur rasch neue, robust und flexibel ausführbare Prozesse implementiert werden, man muss auch bereits bestehende Prozesse bzw. deren Prozessmodell rasch an neue Gegebenheiten anpassen können. Bei kurzlaufenden Prozessen wird man hierbei in der Regel so verfahren, dass die bereits gestarteten Prozessinstanzen gemäß dem alten Prozessmodell zu Ende kommen, während neue Prozessinstanzen auf Basis des neuen Prozessmodells gestartet werden. Handelt es sich jedoch um langlaufende Prozesse oder muss ein schwerwiegender Fehler oder Mangel im Prozessablauf behoben werden, muss man darüber hinaus in der Lage sein, systemseitig die bereits laufenden Prozessinstanzen - und zwar auch ad-hoc modifizierte - auf das neue Prozessmodell zu migrieren. - Auch hier gilt natürlich wieder, dass dies nur für solche Instanzen geschehen darf, wo dies sowohl inhaltlich plausibel ist als auch in der weiteren Ausführung der Prozessinstanz zu keinen Fehlern führt.

Eine BPM-Technologie wird nur dann nachhaltigen Erfolg mit sich bringen, wenn diese Flexibilitätsaspekte in ausreichendem Maße adressiert werden.

Die ADEPT-Technologie ist bezüglich der oben beschriebenen Leistungsmerkmale und deren integriertem Zusammenwirken erheblich mächtiger, als alle derzeit am Markt verfügbaren BPM-Produkte. Sie vereinigt in integrierter Form Fähigkeiten, die man so derzeit nicht findet:

  • Sehr einfache und rasche Implementierung von Prozessen, etwa durch Einfügen der gewünschten Prozessschritte mittels Drag & Drop
  • Umfangreiche (und umfassende) systemseitige Prüfung auf "verschaltungstechnische" Korrektheit (keine Deadlocks, alle Aufrufparamter stets versorgt etc.)
  • Unterstützung von (bei Bedarf auch umfassenden) Ad-hoc-Abweichungen vom vorgeplanten Ablauf auf Prozessinstanzebene, um so auf Ausnahmesituationen oder im Prozessmodell nicht vorgehsehene Fälle geeignet reagieren zu können. Natürlich geschieht dies ebenfalls wieder unter systemseitiger Zusicherung von Korrektheit. Alle Änderungen werden im Prozesslog protokolliert. Es ist somit nachvollziehbar wer wann welche Änderung durchgeführt hat.
  • Unterstützung von Prozess-Schema-Evolution: D.h. systemseitige Migration laufender Instanzen (soweit gewünscht) auf ein geändertes Prozessmodell; und zwar auch individuell veränderte Instanzen (und dies natürlich ebenfalls wieder unter systemseitigen Korrektheitszusicherungen).
  • Trotz dieser funktionalen Mächtigkeit für alle Benutzergruppen einfach zu bedienendes System: den Prozessmodellierer, den Anwendungsentwickler, den Systemadministrator und die Endbenutzer.

Die AristaFlow BPM Suite basiert auf der ADEPT-Technologie, und ist inzwischen auch als Produkt verfügbar (http://www.AristaFlow.com). Diese Software erlaubt nicht nur die sehr viel raschere und robustere Realisierung (flexibler und nicht-flexibler) Prozesse, sondern ermöglicht auch völlig neue Arten von prozessorientierten Anwendungen, wie etwa die Ausführung teilspezifizierter Prozesse, Auslagerung der Ausnahmebehandlung aus dem Prozess, hochgradig flexible Ausnahmebehandlung, etc. Das AristaFlow-System wurde in mehreren Anwendungsdomänen mit hohen Flexibilitästsanforderungen bereits erfolgreich eingesetzt, etwa für die Unterstützung klinischer Behandlungspfade, für das Disaster-Management oder für E-Business-Anwendungen. – Aufgrund ihrer umfassenden Schnittstellen für die Anwendungsprogrammierung eignet sich die AristaFlow-Technologie auch sehr gut dafür, als Komponente in andere Systeme integriert zu werden.

Der Artikel

P. Dadam, M. Reichert, S. Rinderle-Ma, M. Jurisch, U. Kreher, K. Göser:
Von ADEPT zur AristaFlow BPM Suite - Eine Vision wird Realität: "Correctness by Construction" und flexible, robuste Ausführung von Unternehmensprozessen. (pdf)

beschreibt die Entwicklung der oben skizzierten Technologie und den erreichten Stand. Weitere kompakte Darstellungen zum Thema Prozessflexibilität bieten u.a. die folgenden beiden Fachartikel:

  • Weber, Barbara and Sadiq, Shazia and Reichert, Manfred (2009) Beyond Rigidity - Dynamic Process Lifecycle Support: A Survey on Dynamic Changes in Process-aware Information Systems. Computer Science - Research and Development, 23 (2) (pdf)
  • Weber, Barbara and Reichert, Manfred and Rinderle-Ma, Stefanie (2008) Change Patterns and Change Support Features - Enhancing Flexibility in Process-Aware Information Systems. Data and Knowledge Engineering, 66 (3). pp. 438-466 (pdf)