Business Process Management

Prozesse entwickeln und optimieren mit BPM

10.12.2009 von Dr. Ralf Bracht
Die Entwicklung und Optimierung von Geschäftsprozessen sind zeit- und kostenintensiv, entscheiden aber oft über den Erfolg einer Firma. Lösungen für das Business Process Management (BPM) regeln die Zusammenarbeit von Fachbereich und IT und führen schneller zu optimalen Lösung.

Die Geschäftsprozesse eines Unternehmens, wie etwa die Arbeitsschritte vom Eingang einer Bestellung bis zur Auslieferung und Abrechnung, umfassen meist sowohl Tätigkeiten der Mitarbeiter als auch Abläufe in IT-Systemen und Anwendungen. Menschliche Tätigkeiten, wie Kommunikation mit Kunden oder Geschäftspartnern, und IT-gestützte Abläufe, wie die Erzeugung einer Rechnung, ergänzen sich und bilden zusammen die grundlegenden Aktivitäten in Geschäftsprozessen.

IT-Lösungen, die die Umsetzung von Geschäftsprozessen gesamtheitlich addressieren, fallen in die Kategorie Geschäftsprozess-Management, „Business Process Management (BPM)“. Im Bild sind die wichtigsten Komponenten einer BPM-Lösung dargestellt, inklusive der beteiligten Rollen, die mit dieser IT-Lösung interagieren.

BPM: Geschäftsprozess-Management im Überblick.

Neben den Prozessnutzern, die am Geschäftsprozess teilhaben und ihn vorantreiben, sind zwei Kategorien von Beteiligten entscheidend:

Die BPM-Lösung, mit der diese Rollen arbeiten, besteht im Wesentlichen aus einer in drei Ebenen separierbaren IT-Infrastruktur.

Rollen und Werkzeuge

Während der Umsetzung der Geschäftsprozesse auf Basis einer BPM-Lösung unterscheidet man in einer vereinfachten Sichtweise vier Phasen:

  1. Die Modellierung (englisch Model) des Prozesses

  2. Das Zusammenstellen (Assemble) einer ablauffähigen Prozessanwendung

  3. Die Inbetriebnahme (Deploy) dieser Anwendung

  4. Sie Überwachung (Manage) der dann ablaufenden Prozesse.

Begleitet wird dieses Vorgehen von Steuerungsfunktionen (Governance), um einen reibungslosen Ablauf zu gewährleisten. Die Optimierung der Geschäftsprozesse erfolgt, indem die einzelnen Aktivitäten in diesen Phasen wiederholt durchgeführt werden, der Überwachungsphase folgt also erneut eine Modellierungsphase, in der die Erkenntnisse aus dem Betrieb für eine Verbesserung des Prozessdurchlaufs genutzt werden.

Die wichtigsten Rollen dabei sind der Prozess-Analyst, der Prozess-Architekt und der IT-Entwickler. Im Bild sind diese Rollen und ihr Beitrag in den einzelnen Phasen schematisch dargestellt, inklusive der von den Rollen benutzten Werkzeuge und deren Funktionen.

Aufgabenverteilung: Die wichtigsten Rollen und ihre Werkzeuge.

Der Prozess-Analyst gehört in der Regel dem Fachbereich an, der den jeweiligen Geschäftsprozess verantwortet. Er hat detaillierte Kenntnis über den Prozessablauf, insbesondere den Ausgangspunkt und das Ziel des Prozesses und seiner Aktivitäten. Zu seinen Hauptaufgaben gehören die Dokumentation des Prozesses sowie die Analyse und Bewertung von Prozessvarianten. Nicht in seinem Fokus ist dagegen die technische Umsetzung des Prozesses, er konzentriert sich auf den Prozessablauf aus fachlicher Sicht. Er nutzt für diese Zwecke ein Modellierungswerkzeug, mit dem er den Geschäftsprozess in einem standardisierten Format erstellen kann. Dieses Werkzeug unterstützt ihn auch bei der Analyse der Prozessvarianten.

Der Prozess-Architekt ist typischerweise ein IT-Mitarbeiter, der einen tieferen Einblick in die Fachlichkeit der umzusetzenden Prozesse hat. Er hat detaillierte Kenntnisse über die den Prozess unterstützenden vorhandenen Systeme und Anwendungen und kennt die Randbedingungen für die technische Umsetzung. Zu seinen Aufgaben gehören das technische Design des Prozesses und die Erstellung der Vorgaben für die Zusammenstellung und gegebenenfalls Programmierung der Prozessanwendung.

Daneben kann er eine erste Version der Prozessanwendung erstellen, um die technische Umsetzung möglichst frühzeitig mit dem Prozess-Analysten abzustimmen. Für diese Zwecke nutzt er ein Modellierungs- und Designwerkzeug, mit dem er den durch den Analysten vorgegebenen Prozess komplettiert und eine zumindest in Teilen ablauffähige Prozessanwendung erstellt.

Aus dem IT-Bereich stammt der IT-Entwickler, der für die technische Umsetzung des Geschäftsprozesses verantwortlich ist. Er kennt die Funktionalität der BPM-Lösung und kann ablauffähige Prozessanwendungen erstellen, erweitern und testen. Er ist zudem in der Lage, bestehende Systeme und Anwendungen in den Prozess zu integrieren. Seine Hauptaufgabe ist es, die vom Prozess-Architekten detaillierte Prozessanwendung zu vervollständigen und eventuell notwendige neue Komponenten zu programmieren. Dazu gehören neben den Komponenten zur Integration vorhandener Funktionen auch neue Dienste, die für den umzusetzenden Geschäftsprozess benötigt werden. Er nutzt dazu ein integriertes Entwicklungswerkzeug, das ihn bei der Fertigstellung der Prozessanwendung und bei der Erstellung neuer Komponenten umfassend unterstützt, zum Beispiel durch Generierung von Programmcode und durch integrierte Testfunktionalität.

Dokumentation und Analyse des Prozesses

Im ersten Schritt der Umsetzung eines Geschäftsprozesses dokumentiert und analysiert der Prozess-Analyst den Prozess. Im Einzelnen muss er dabei Folgendes tun:

Die Dokumentation des Prozesses beginnt mit der Erstellung des Prozessmodells. Der Prozess-Analyst definiert die einzelnen Aktivitäten und entwirft den Prozessverlauf: er bestimmt die Reihenfolge der Aktivitäten inklusive möglicher paralleler Pfade. Er benutzt dabei idealerweise vorgegebene, standardisierte graphische Elemente, etwa gemäß dem BPMN Standard (Business Process Modeling Notation ). Das benutzte Modellierungswerkzeug muss diese Standards unterstützen und den graphischen Entwurf des Modells durch Drag-and-Drop Funktionen vereinfachen.

Neben der Struktur des Geschäftsprozesses sind zusätzliche Information wichtig, die die Dokumentation komplettieren. Für einzelne Aktivitäten wird in der Regel die verantwortliche Person oder Personengruppe angegeben. Diese auch als Rollen bezeichneten Ressourcen können durchaus auch IT-Systeme sein. Einzelne Rollen werden gekennzeichnet durch Kosten pro Zeiteinheit oder pro Aktivität und ihre Verfügbarkeit in bestimmen Zeitenintervallen, zum Beispiel der regulären Arbeitszeit.

Für IT-gestützte Prozesse beinhaltet die Detaillierung die Definition der Prozessdaten und damit den Datenfluss im Geschäftsprozess. Weiterhin sind Details wie erwartete Ausführungszeiten für einzelne Aktivitäten oder auch zu verwendende Eingabemasken beziehungsweise Formulare anzugeben. Zu diesem Zeitpunkt sind auch schon die während des Ablaufs zu überwachenden Parameter von Interesse, die sogenannten Key-Performance-Indicators (KPIs). Ein Modellierungswerkzeug muss die Möglichkeit bieten, solche Informationen auf einfache Art und Weise dem Prozessmodell anfügen zu können. Idealerweise sind entsprechende Eingabefelder schon vordefiniert und müssen vom Prozess-Analysten nur noch ausgefüllt werden. In der Abbildung ist ein mit dem IBM WebSphere Modellierungswerkzeug erstellter Geschäftsprozess dargestellt.

Grafisches Design: Modellierter Geschäftsprozess im IBM WebSphere Business Modeler.

Ausgehend vom fertig gestellten Prozessmodell und der angegeben Details simuliert der Prozess-Analyst mit Hilfe des Modellierungswerkzeugs eine von ihm definierte Situation. Eine Situation ist beispielsweise gekennzeichnet durch die Anzahl der in einer Zeiteinheit neu gestarteten Prozessinstanzen sowie durch die verfügbaren Ressourcen, seien es Sachbearbeiter, die bestimmte Rollen ausfüllen, oder IT-Systeme. Typischerweise erstrecken sich Simulationen über einige Tage oder Wochen in Realzeit, um eine für statistische Auswertungen erforderliche Anzahl an Prozessinstanzen zu berücksichtigen. Das Modellierungswerkzeug benötigt für die Simulation dieser Zeitspanne dagegen nur Minuten.

Die Simulationsergebnisse umfassen Informationen wie Ausführungszeit für den Gesamtprozess und für einzelne Aktivitäten oder die Anzahl der Prozessinstanzen, die bestimmte Pfade durchlaufen haben. Das Modellierungswerkzeug muss diese Ergebnisse gut darstellen und entsprechende Berichte aufbereiten können.

Ausgehend von den Ergebnissen der Simulation verändert der Prozess-Analyst nun das Prozessmodell mit dem Ziel der Optimierung des Prozessdurchlaufs. Er kann hier das Prozessmodell zum Beispiel strukturell anpassen, etwa indem er Aktivitäten parallel setzt, oder er kann neue, schnellere Prozesspfade definieren. Der Prozess-Analyst hat durch die Simulation und die anschließende Optimierung die Möglichkeit verschiedene Prozessvarianten zu bewerten und die aus momentaner Sicht beste Variante zu bestimmen. Dazu ist es nicht erforderlich, den IT-gestützen Prozess zu erstellen und in Betrieb zu nehmen.

Prozess-Design

Nachdem der Prozess-Analyst den optimierten Geschäftsprozess freigegeben hat, übernimmt der Prozess-Architekt und detailliert den Prozess aus technischer Sicht. Die Designphase umfasst die folgenden Aufgaben:

Nach der Übernahme des Prozessmodels aus dem Prozess-Repository ist die erste Aufgabe des Prozess-Architekten die Validierung des Prozessmodells aus technischer Sicht. An dieser Stelle muss entschieden werden auf welcher BPM Lösungsplattform der Geschäftsprozess ablaufen soll. Modellierungswerkzeuge unterstützen zumeist mehrere BPM-Plattformen und validieren das Prozessmodel bezüglich Ablauffähigkeit auf dieser Plattform. Im IBM WebSphere Werkzeug ist dies umgesetzt durch die mögliche Auswahl verschiedener Modi. Der Prozess-Architekt arbeitet also mit demselben Werkzeug wie der Prozess-Analyst. Im von ihm ausgewählten technischen Modus für eine der BPM Plattformen findet er nur zusätzliche Funktionen für Validierung und für das technische Design der Prozessanwendung vor.

Während der Prozess-Analyst die Prozessdatenformate nur grob definiert, muss der Prozess-Architekt nun die Datenformate im Detail spezifizieren und den Datenfluss überprüfen und detaillieren. Insbesondere Entscheidungen, die die Navigation durch den Prozess beeinflussen und auf Dateninhalten beruhen, müssen genau definiert werden.

Für Workflow-Aktivitäten, das heißt für solche die von Sachbearbeitern einer bestimmten Rolle ausgeführt werden, bestimmt der Prozess-Architekt die Nutzergruppe. In der Regel wählt er aus einem Satz von Gruppen aus, die im unternehmensweiten Nutzerverzeichnis vorliegen. Für Aktivitäten, die durch eine IT-Funktion ausgeführt werden, bestimmt der Prozess-Architekt den anzusprechenden Service. Bereits vorhandene Dienste kann er aus einer Service-Registry übernehmen. Neue, noch zu erstellende Services werden von ihm spezifiziert, er erstellt also das Design für diese Services. Das Modellierungswerkzeug muss ihn dabei unterstützten, zum Beispiel Zugang zu Service-Registries ermöglichen und die erforderlichen Service-Artefakte wie WSDL- und XSD-Dokumente verarbeiten können.

Schließlich muss der Prozess-Architekt in der Lage sein, eine ablauffähige Version der Prozessanwendung zu generieren und in einer Testumgebung in Betrieb zu nehmen. Ziel ist dabei, vom Prozess-Analysten und von weiteren Beteiligten eine erste Rückmeldung zu erhalten, ob der umgesetzte Geschäftsprozess den Erwartungen wirklich entspricht. Das Modellierungswerkzeug muss die Möglichkeit bieten die Prozessanwendung zumindest in Teilen zu erstellen, sowie insbesondere auch GUI-Artefakte bereitstellen, die von den Erst-Nutzern für die Interaktion benötigt werden. Das IBM WebSphere Modellierungswerkzeug erzeugt neben der Prozessanwendung auch graphische Elemente wie eine Aktivitätenliste, Eingabemasken oder auch eine visuelle Darstellung des Prozesses, in der der momentane Status einer Prozessinstanz ablesbar ist. Das WebSphere Werkzeug kann die Prozessanwendung und unterstützende Artefakte direkt in eine bereitgestellte Serverinfrastruktur installieren.

Entwicklung und Test des Prozesses

Der IT-Entwickler hat schließlich die Aufgabe, die Prozessanwendung zu komplettieren und eventuell neu zu erstellende Komponenten zu programmieren. Die damit verbundenen Aufgaben umfassen:

Nachdem der Prozess-Architekt den Prozess freigegeben hat und erste Tests den Prozessablauf und die Nutzerinteraktion validiert haben, geht der IT-Entwickler nun daran, den Geschäftsprozess fertigzustellen. Er nutzt dazu idealerweise ein spezielles, auf die BPM-Plattform abgestimmtes Werkzeug, das ihn durch Assistenten und graphische Editoren umfassend unterstützt.

Die Haupttätigkeit des IT-Entwicklers besteht darin, den einzelnen Aktivitäten oder Schritten des Geschäftsprozesses wie vom Architekten definiert mit Services zu hinterlegen. Bestehende IT-Funktionen werden über ihre Programmierschnittstellen oder über Adapter angebunden. Neue Services werden vom IT-Entwickler gemäß den Vorgaben des Prozess-Architekten erstellt. Auch dafür muss das Entwicklungswerkzeug Funktionalitäten bereitstellen. Eine weit verbreitete Plattform für neue Services ist ein Java-Applikationsserver.

Auch das Prozessmodell selbst muss der IT-Entwickler in den meisten Fällen ergänzen. Bei der Übernahme in das Entwicklungswerkzeug wird der Prozess in ein ausführbares Format übertragen, das BPEL Format (Business Process Execution Language). Als einer der wichtigsten Bereiche für Ergänzungen ist die Fehlerbehandlung zu nennen, für die der BPEL Standard umfangreiche Unterstützung liefert. Es ist insbesondere die Behandlung von technischen Fehlern erforderlich, aber auch fachliche Fehlerbehandlung, die nicht explizit vom Prozess-Analysten modelliert worden ist, muss nach den Vorgaben des Prozess-Architekten umgesetzt werden. Im Bild ist beispielhaft ein Prozess im Werkzeug des IT-Entwicklers dargestellt.

Werkzeug des IT-Entwicklers: Geschäftsprozess dargestellt im IBM WebSphere Integration Developer.

Nachdem der IT-Entwickler weitere Komponenten, wie etwa angepasste graphische Arbeitslisten und Eingabemasken, definiert und programmiert hat, erstellt er schlussendlich die Prozessanwendung. Dem schließen sich umfangreiche Tests und Validierungen an. Hierbei muss ihn das Entwicklungswerkzeug durch integrierte Test- und Debug-Funktionen und automatisierte Testmöglichkeiten unterstützen. Das WebSphere Entwicklungswerkzeug beinhaltet beispielsweise die Testumgebung und bietet eine Debug-Funktionalität, mit der der Geschäftsprozess Schritt für Schritt durchlaufen werden kann. Die Übergabe an IT-Administratoren, die für Inbetriebnahme der Prozessanwendung verantwortlich sind, bildet den Abschluss der Arbeiten des IT-Entwicklers.

Prozess-Optimierung

In obiger Beschreibung des Vorgehens bei der Umsetzung eines Geschäftsprozesses wurden bereits zwei Stellen genannt, an denen eine Prozessoptimierung stattfinden kann:

Von besonderem Interesse ist zudem die Optimierung des Prozesses nach Inbetriebnahme und ausreichender Nutzung auf Basis statistischer Daten und insbesondere nach Analyse der bestimmten Key-Performance-Indicators.

Damit folgt der Phase von Ablauf und Überwachung eine erneute Phase der Modellierung. In diesem zweiten Durchlauf arbeiten wiederum alle Rollen aktiv daran, eine verbesserte Prozessversion zu erstellen. Neben den bereits beschriebenen Aufgaben sind im Rahmen der Optimierung die folgenden zusätzlichen Aufgaben zu erledigen:

Der Prozess-Analyst überwacht in der Regel den Ablauf bereits in Betrieb genommener Geschäftsprozesse. Dabei bedient er sich Darstellungen des Ablaufs einzelner Prozessinstanzen und des zeitlichen Verlaufs der KPIs. In den Monitoring-Werkzeugen der BPM-Suiten sind für diesen Zweck meist graphische Darstellungen vorbereitet, etwa für Trendanalyse von KPI-Werten.

In vielen Fällen kann der Prozess-Analyst ein Problem bei einem Geschäftsprozess leicht erkennen. So können reale Durchlaufzeiten von den erwarteten Zeiten abweichen oder komplexe Prozesspfade öfter als vorgesehen durchlaufen werden. Für die weitere Analyse und die erneute Simulation müssen diese Abweichungen berücksichtigt werden. Das WebSphere Modellierungswerkzeug erlaubt zum Beispiel den Import der gemessenen Parameter aus der Monitoring-Infrastruktur. Die Hauptaufgabe des Prozess-Analysten ist somit die erneute Simulation und anschließende Bewertung von Prozessvarianten mit dem Ziel, eine optimierte Variante herauszuarbeiten.

Der Prozess-Architekt hat nach der Optimierung ähnliche Aufgaben zu übernehmen wie im ersten Durchlauf. Der IT-Entwickler steht dagegen vor einer Herausforderung: Er muss die neue Prozessversion mit der bestehenden Version zusammenführen, um nicht alles völlig neu entwickeln zu müssen. Das Zusammenführen von Prozessversionen wird im IBM WebSphere Entwicklungswerkzeug auf ähnliche Art unterstützt, wie er es beim Zusammenführen von Programmcode gewohnt ist: Ein sogenannter Merge-Assistent analysiert beide Version, bestimmt die Unterschiede und gibt Hinweise, welche Fragemente neu sind und welche Artefakte übernommen werden können. Für den Geschäftsprozess selbst bedeutet dies, dass bestehende Aktivitäten und Pfade erkannt werden und deren Konfiguration übernommen wird. Nur für neue Teile muss der IT-Entwickler Konfigurations- und Programmierarbeiten erledigen.

Fazit

In vorliegendem Artikel wurde die Zusammenarbeit zwischen Fachbereich und IT bei der IT-gestützten Umsetzung von Geschäftsprozessen beleuchtet. Die Aktivitäten des Prozess-Analysten, des Prozess-Architekten und des IT-Entwicklers wurden dargestellt und die Ergebnisse und Übergabegabepunkte beschrieben.

Die Vorteile bei der Benutzung einer BPM-Lösung liegen neben der klaren Struktur im Vorgehen in der umfassenden Unterstützung durch die BPM-Werkzeuge. Reibungsverluste, wie sie bei traditionellem Vorgehen im Rahmen der Anwendungsentwicklung entstehen, werden durch die BPM-Methodik weitestgehend vermieden. (ala)