zurück zum Artikel

Erfolgreiche EinfĂŒhrung von Business Process Management (BPM)

Kai WĂ€hner

Ein Klischee im Zusammenhang mit Business Process Management (BPM) hat sich lange Zeit hartnĂ€ckig gehalten: Es sei komplex, teuer und scheitere hĂ€ufig. Bei Beachtung mehrerer Regeln sollte jedoch einer erfolgreichen BPM-EinfĂŒhrung nichts mehr im Wege stehen.

Erfolgreiche EinfĂŒhrung von Business Process Management (BPM)

Ein Klischee im Zusammenhang mit Business Process Management (BPM) hat sich lange Zeit hartnĂ€ckig gehalten: Es sei komplex, teuer und scheitere hĂ€ufig. Heute besteht allerdings kein Grund mehr zu jenem Pessimismus, denn mittlerweile hat sich auf dem Gebiet einiges getan. Bei Beachtung der folgenden acht Regeln sollte einer erfolgreichen BPM-EinfĂŒhrung nichts mehr im Wege stehen.

Dieser Artikel dient nicht als EinfĂŒhrung in BPM, sondern beginnt vielmehr mit einem Anwendungsfall als Beispiel, um Best Practices und hĂ€ufig begangene Fehler im BPM-Umfeld zu erlĂ€utern. Die dafĂŒr ausgewĂ€hlte Anwendung ist ein Kreditantrag. Abbildung 1 zeigt den zustandsbehafteten, lang laufenden GeschĂ€ftsprozess eines solchen Antrags. Das Schaubild beschreibt den Prozess und umfasst die AusfĂŒhrung automatischer Skripte und Services sowie die Interaktionen mit den Menschen. An der Modellierung sind sowohl Fachbereich als auch der IT-Bereich beteiligt. AbhĂ€ngig von den Ergebnissen der einzelnen Bearbeitungsschritte wird der Kreditantrag schließlich am Ende des Prozesses akzeptiert oder abgelehnt.

GeschĂ€ftsprozess fĂŒr einen Kreditantrag (Abb. 1)

GeschĂ€ftsprozess fĂŒr einen Kreditantrag (Abb. 1)

BPM ist kein Schweizer Taschenmesser, das als Allzweckwaffe fĂŒr jedes Problem das passende Werkzeug bereithĂ€lt. Oder anders formuliert: Es ist nicht die Antwort auf alle Fragen und sollte in bestimmten Situationen sogar vermieden werden. Insbesondere ist nicht fĂŒr jeden GeschĂ€ftsprozess oder Workflow gleich BPM notwendig. AblĂ€ufe, bei denen BPM keinen Mehrwert schafft, sollte man wie bisher einfach ausprogrammieren. BPM schafft insbesondere Mehrwert bei lang laufenden, zustandsbehafteten Prozessen, sich hĂ€ufig Ă€ndernden Prozessen und dem manuellen Eingriff durch Menschen.

Der Kreditantrag ist ein gutes Beispiel fĂŒr lang laufende, zustandsbehaftete Prozesse und menschliche Interaktionen. Bei ihnen lohnt sich die EinfĂŒhrung von BPM. Denn durch seinen Einsatz wird spĂŒrbarer Mehrwert geschaffen, indem sich die Transparenz und die FlexibilitĂ€t der Prozesse bemerkbar erhöhen. Die eigenstĂ€ndige Implementierung der Prozesslogik dagegen wĂ€re mit deutlich mehr Aufwand verbunden und fehleranfĂ€lliger.

Regel 1: Um BPM erfolgreich zu gestalten, darf es nur eingesetzt werden, wenn es wirklich Mehrwert schafft.

BPM hat das Ziel, GeschĂ€ftsprozesse fortlaufend zu verbessern und lĂ€sst sich insofern als "Prozessoptimierungsprozess" verstehen. Vor allem das Business/IT-Alignment – die Abstimmung von
GeschĂ€ftsfunktionen und IT – ist der SchlĂŒssel zum Erfolg. Denn bei der Prozessoptimierung geht es weder allein um die IT noch ausschließlich um das GeschĂ€ft. FĂŒr eine erfolgreiche EinfĂŒhrung von BPM sind viel Kommunikation und gute Zusammenarbeit zwischen den Fachabteilungen und der IT notwendig. Das zu erreichen ist eine der grĂ¶ĂŸten Herausforderungen von BPM. Dabei werden folgende Ziele verfolgt:

Das wichtigste Ziel im konkreten Anwendungsfall ist, mehr Transparenz und höhere FlexibilitĂ€t wĂ€hrend des gesamten Verlaufs eines Kreditantrags zu schaffen. Fachbereich und IT sollen gemeinsam die einzelnen Prozessschritte optimieren und, wo immer möglich, auch automatisieren. Die EinfĂŒhrung von BPM ist nur erfolgreich, wenn diese Ziele von Beginn an im Mittelpunkt stehen. Mindestens ebenso wichtig ist, dass die EntscheidungstrĂ€ger das Projekt von Anfang an unterstĂŒtzen und ihr RĂŒckhalt fĂŒr alle Projektbeteiligten erkennbar ist. Ein BPM ohne konkretes Ziel funktioniert nicht. Zudem sollten Leistungskennzahlen festgelegt werden, um den Erfolg oder Nichterfolg der EinfĂŒhrung messen zu können.

Regel 2: Um BPM erfolgreich zu gestalten, sind die Ziele klar zu definieren und transparent zu machen.

Serviceorientierte Architekturen (SOA) sind das GrundgerĂŒst, auf dem AnsĂ€tze wie BPM, Cloud Computing oder Mashups beruhen, wie es Anne Thomas Manes 2009 in ihrem Artikel "SOA is dead; Long Live Services [1]" treffend beschrieben hatte. Insofern ist BPM eine logische Evolution, die sich aus SOA heraus entwickelt hat.

Ein auf SOA beruhendes BPM ist die passende Antwort auf das steigende Verlangen nach einer flexiblen Anwendungslandschaft, anstatt wie bislang in den engen Grenzen starrer Silos zu verharren. Moderne Anwendungen und Ressourcen sollten lose gekoppelt und abgegrenzt von den Prozessen sein. Ansonsten wird die Prozesslogik fest in eine bestimmte technische Plattform gezwĂ€ngt, wodurch Änderungen zeitaufwendig und teuer werden und damit den eigentlichen Zweck von BPM ad absurdum fĂŒhren. Ohne SOA und dessen Services mit sauber definierten Schnittstellen ergibt eine BPM-EinfĂŒhrung wenig Sinn. Denn die Vorteile einer erfolgreichen BPM-Anwendung lassen sich ohne Services nicht realisieren.

Im Anwendungsfall ist der Kreditantrag in zahlreiche lose gekoppelte Services aufgeteilt, etwa Skript- oder Java-Service-Tasks und menschliche Interaktion. Das Fundament fĂŒr eine erfolgreiche BPM-EinfĂŒhrung ist damit gelegt. WĂŒrde man den gesamten Kreditantrag hingegen als eine einzige, große Aufgabe betrachten, wĂ€ren BPM-Ziele wie höhere FlexibilitĂ€t und verbesserte Effizienz nicht erreichbar.

Regel 3: Um BPM erfolgreich zu gestalten, muss es auf einer serviceorientierten Architektur beruhen.

BPM ist nicht nur Tooling. Stattdessen geht es bei der Prozessoptimierung um ein lang laufendes Vorgehen mit zahlreichen Individuen, Techniken und Tools. Der BPM-Lebenszyklus besteht aus folgenden Phasen, die sich iterativ wiederholen: Analyse, Modellierung, AusfĂŒhrung, Überwachung und Optimierung.

Das Tooling ist wichtig und sollte den gesamten Lebenszyklus unterstĂŒtzen. Dennoch wĂ€re die Strategie, zunĂ€chst ein BPM-Tool einzufĂŒhren und danach mit der Modellierung sowie der Umsetzung zu beginnen, wenig ratsam und kann schnell scheitern. Sobald die ersten GeschĂ€ftsprozesse modelliert wurden und klar ist, wie sie ausgefĂŒhrt und ĂŒberwacht werden sollen, kann man BPM-Tools evaluieren, vorher nicht.

Nicht selten sind zu Beginn eines Projekts viele Anforderungen noch unbekannt oder unklar. So werden in dem Prozess fĂŒr einen Kreditantrag vermutlich einige komplexe GeschĂ€ftsregeln zur Ermittlung der KreditfĂ€higkeit des Kunden benötigt. Da sich die Regeln hĂ€ufig Ă€ndern, mĂŒssen sie flexibel konfigurierbar sein. Dann wĂ€re ein Tool, das keine Rules Engine integriert hat, sicherlich nicht die beste Entscheidung. Denn die nachtrĂ€gliche Integration einer eigenen Rules Engine bedeutet zusĂ€tzlichen Aufwand und erhöht die KomplexitĂ€t. Daher empfiehlt es sich, dem BPM-Lebenszyklus zu folgen und nicht schon zu Beginn das möglicherweise falsche Produkt auszuwĂ€hlen. Durch das Vorgehen reduziert man nicht nur den Aufwand, sondern versteht auch die Rollen und Prozesse einfacher. Letztlich ermöglicht das die Auswahl richtiger beziehungsweise sinnvoller Tools.

Regel 4: Um BPM erfolgreich zu gestalten, ist von Beginn an der gesamte Lebenszyklus zu betrachten.

Vier Mythen von BPM [2] sorgen schnell in vielen Unternehmen fĂŒr Probleme und Unklarheiten:

Auch in Zukunft wird es sowohl einen Fachbereich als auch Entwickler geben. Beide DomĂ€nen haben ein unterschiedliches VerstĂ€ndnis von GeschĂ€ftsprozessen. Der Fachbereich wird wohl niemals komplexe GeschĂ€ftsprozesse modellieren können. Auch Tools können diese Aufgabe nicht lösen. Erschwerend kommt hinzu, dass beide Seiten meist unterschiedlich kommunizieren und Äußerungen dadurch oft missverstanden werden. Daher kommt es umso mehr darauf an, dass Fachbereich und IT eng zusammenarbeiten – nur dann lĂ€sst sich BPM erfolgreich umsetzen.

Da der Fachbereich ĂŒber das Know-how zu KreditantrĂ€gen verfĂŒgt, sollte er, sofern möglich, die GeschĂ€ftsprozesse modellieren und die Entwickler nur die technischen Details hinzufĂŒgen. Allerdings können und wollen viele Fachbereiche nicht in einer solchen Prozesssicht denken. IT-Experten hingegen sind seit ihrer Ausbildung darin geschult, können sich dafĂŒr aber hĂ€ufig weniger fĂŒr die eigentliche fachliche KomplexitĂ€t begeistern. Daher ist es oftmals sinnvoll – und auf keinen Fall schĂ€dlich – wenn IT-Experten die gesamten Prozesse modellieren. Wichtig ist allerdings, dass der Fachbereich immer ĂŒber Meetings, Workshops oder Reviews eingebunden ist. Schließlich soll die IT Mehrwert schaffen, indem sie die Probleme des Fachbereichs löst.

Regel 5: Um BPM erfolgreich zu gestalten, mĂŒssen IT und Fachbereich eng zusammenarbeiten.

FĂŒr BPM existiert eine große Anzahl an Standards, zum Beispiel BPMN, XPDL, BPEL, jPDL, WF-XML und ARIS EPC. Sie spielen eine wesentliche Rolle, um im BPM-Umfeld zukunftssicher und herstellerunabhĂ€ngig agieren zu können. Dank ihnen können die verschiedenen Rollen sogar Tools unterschiedlicher Hersteller einsetzen.

Der wichtigste Standard ist BPMN (Business Process Model and Notation [3]). Er ist seit Januar 2011 in der Version 2.0 [4] verfĂŒgbar. Im Vergleich zu BPMN 1.0 erhielt die aktuelle Version einige wichtige neue Features. Durch das standardisierte XML-Format zur Beschreibung von GeschĂ€ftsprozessen lĂ€sst sich BPMN beispielsweise nicht mehr nur fĂŒr die Modellierung von Workflows verwenden. Dank ausreichender EinschrĂ€nkungen kann man nun auch die AusfĂŒhrung der GeschĂ€ftsprozesse eindeutig beschreiben. Zudem fĂŒhrte BPMN 2.0 standardisierte "Extension Points" ein, wodurch jeder Hersteller eigene – nicht im Standard festgelegte Funktionen – ergĂ€nzen kann. Beispielsweise bietet das quelloffene BPM-Framework Activiti [5] einen Java-Service-Task an, mit dem sich auf Java-Klassen deutlich einfacher als mit dem im BPMN-Standard enthaltenen Webservice-Task zugreifen lĂ€sst.

WSBPEL [6] (Web Services Business Process Execution Language, kurz: BPEL) ist ein weiterer wichtiger BPM-Standard. Allerdings kann man ihn nur fĂŒr das AusfĂŒhren von SOAP-Webservices verwenden. Da BPMN 2.0 implizit das AusfĂŒhren von GeschĂ€ftsprozessen berĂŒcksichtigt, ist es nicht mehr unbedingt notwendig, dass neue BPM-Engines den relativ komplexen BPEL-Standard noch unterstĂŒtzen. Dennoch muss eine BPMN-2.0-Implementierung mit BPEL zusammenarbeiten können, um vollstĂ€ndig standardkonform zu sein. Weitere Details zur Beziehung zwischen BPMN 2.0 und BPEL sind in einem interessanten Interview auf InfoQ [7] mit mehreren BPM-Experten erlĂ€utert.

Der Kreditantrag wurde mit BPMN 2.0 entworfen. Der Standard ist sowohl fĂŒr den Fachbereich als auch die IT geeignet und lĂ€sst sich zudem fĂŒr die Modellierung ebenso wie fĂŒr die AusfĂŒhrung von GeschĂ€ftsprozessen verwenden. Viele andere BPM-Standards dagegen sind entweder veraltet oder viel zu komplex. Beispielsweise wĂŒrde das noch verbreitete BPEL viele Restriktionen hinzufĂŒgen und die KomplexitĂ€t deutlich erhöhen.

Regel 6: Um BPM erfolgreich zu gestalten, sollte der BPMN 2.0 verwendet werden.

Da zahlreiche BPM-Produkte auf dem Markt verfĂŒgbar sind, ist es schwer, den Überblick zu behalten respektive zu entscheiden, welches das jeweils passende Tool fĂŒr das eigene Unternehmen oder Projekt ist. Das ĂŒbliche Prozedere bei der Produktauswahl umfasst insbesondere das Erstellen einer Liste mit Vergleichskriterien und die anschließende Evaluierung der Produkte, beispielsweise bezĂŒglich der unterstĂŒtzten Techniken, Standards, GUI-Designer sowie der Community, Dokumentation des kommerziellen Supports.

Das Vorgehen funktioniert fĂŒr viele Produktvergleiche. Im BPM-Umfeld allerdings sollte eine Frage unbedingt am Anfang des Projekts beantwortet sein: Soll ein entwicklerzentrisches oder ein designzentrisches Produkt zum Einsatz kommen? Entwicklerzentrische Produkte wie Activiti oder JBoss jBPM [8] sind direkt in Anwendungen integrierbar und werden in die gewohnte Entwicklungsumgebung eingebunden. Es sind Frameworks, mit denen man Quellcode und die zugehörigen Unit-Tests schreibt. Ein GUI-Designer ist oftmals nicht integriert. Üblicherweise sind entwicklerzentrische Produkte einfach zu benutzen und quelloffen verfĂŒgbar. Da sie eine API fĂŒr bekannte Programmiersprachen wie Java und Webservice-Schnittstellen (REST/SOAP) bieten, sind sie nach wenigen Minuten in das eigene Projekt integriert und lauffĂ€hig. Es gibt aber auch bei ihnen eine Kehrseite der Medaille: Oftmals sind beispielsweise noch nicht alle Funktionen stabil lauffĂ€hig und die Dokumentation ist nicht detailliert, oder es stehen nur rudimentĂ€re WeboberflĂ€chen fĂŒr Modellierung und Monitoring zur VerfĂŒgung.

Auf der anderen Seite existieren meist proprietĂ€re Design-Produkte, die den "Zero Coding"-Ansatz anstreben. Das sind richtige Produkte, nicht nur integrierbare Frameworks. Das Schreiben von Quellcode ist oft nicht notwendig oder gar nicht möglich. Stattdessen setzt der Anwender die GeschĂ€ftsprozesse in einem grafischen Designer via Drag & Drop um. Die Praxis zeigt hierbei, dass er oftmals umstĂ€ndliche Workarounds benötigt, wenn eine gewĂŒnschte Funktion nicht verfĂŒgbar ist. Denn einfach hinzufĂŒgen geht eben nur mit Quellcode. Um zu vermeiden, dass man einen Showstopper erst im Laufe des Projekts aufgrund einer fehlenden Funktion findet, ist ein Proof of Concept bei den proprietĂ€ren Produkten dringend zu empfehlen.

Zudem sind sie oftmals teuer und allzu mĂ€chtig, denn neben dem eigentlichen BPM-Produkt wird oft auch zusĂ€tzliche Software des gleichen Herstellers wie ein Application Server oder eine Rules Engine benötigt. Allein die Testinstallation fĂŒr die Evaluierung zieht sich schnell ĂŒber zwei bis drei Tage hin, bevor sich das BPM-spezifische "Hello World" aufsetzen lĂ€sst. Im Gegensatz zu entwicklerzentrischen Open-Source- bieten die proprietĂ€ren Produkte aber auch große Vorteile wie hohe StabilitĂ€t, ausgereifte WeboberflĂ€chen und gute Integrationsoptionen in die restliche Entwicklungsumgebung (IDE, Datenbank, Modellierungstools etc.) – desselben Herstellers natĂŒrlich.

Neben den proprietĂ€ren Produkten von Herstellern wie Oracle oder IBM existieren im Bereich der Design-Produkte Open-Source-Alternativen wie Bonita Open Solution oder ProcessMaker. Diese sind einfach zu installieren und nach kurzer Einarbeitung einsetzbar. Sie besitzen nicht die MĂ€chtigkeit der Produkte der "Big Player". DafĂŒr bieten sie den großen Vorteil, dass eigene Erweiterungen relativ einfach hinzufĂŒgbar sind.

Ist diese Frage hinsichtlich der Tools erst einmal beantwortet, lassen sich die ĂŒbrig gebliebenen Produkte anhand der anderen Vergleichskriterien evaluieren.

Die Prozesslogik des Kreditantrags benötigt nur fachliche Informationen. Da keine komplexen AblĂ€ufe oder Verzweigungen vorhanden sind, sind auf dem Level auch keine technischen Informationen zu beschreiben. Daher kann der Fachbereich den Prozess modellieren, den die Entwickler nachher um die technischen Details ergĂ€nzen. Es empfiehlt sich dafĂŒr ein einfach zu installierendes und intuitiv bedienbares Produkt. Sofern ein Proof of Concept gelingt, lĂ€sst sich ohne Bedenken ein designzentrisches Produkt aus dem Open-Source-Lager einsetzen.

Regel 7: Um BPM erfolgreich zu gestalten, ist das zum Einsatz passende BPM-Tool auszuwÀhlen.

Ein BPM-Produkt kann bei der Integration der Systeme eingesetzt werden. Beispielsweise existiert im BPMN-Standard ein Service-Task fĂŒr SOAP-Webservices. Damit lĂ€sst sich jede denkbare Technik direkt aus dem Prozess heraus aufrufen. DarĂŒber hinaus sind Skript-Service-Tasks beispielsweise fĂŒr Groovy oder JavaScript, ein Java-Service-Task (als Extension) und andere nĂŒtzliche Features verfĂŒgbar. Letztlich ließe sich die gesamte Anwendungslogik im GeschĂ€ftsprozess gleich mit implementieren.

Dennoch bleibt die Frage, ob ein BPM-Produkt wirklich fĂŒr die Systemintegration eingesetzt werden sollte? Falls nur ein oder zwei Services zu integrieren sind, ist das sicherlich in Ordnung. In allen anderen Situationen sollte aber gemĂ€ĂŸ dem Motto "Separation of Concerns" eine saubere Trennung zwischen GeschĂ€ftsprozess- und Integrationslogik durchgefĂŒhrt werden. Ansonsten drohen unĂŒbersichtlicher "Spaghetti-Code", hohe KomplexitĂ€t und hohe Wartungskosten, wodurch die Vorteile einer SOA wieder vernichtet wĂ€ren.

Ein BPM-Produkt ist eben kein Integrationstool, sondern eine Prozess-Engine. BPM sollte nicht zum Selbstzweck eingesetzt werden, sondern nur dann, wenn es echten Mehrwert bietet. Es soll nicht Funktionen aufwendig nachbilden, die andere Tools und Patterns bereits erledigen. FĂŒr die Systemintegration existieren die sogenannten Enterprise Integration Patterns [9], die sich mit leichtgewichtigen Integrationsframeworks wie Apache Camel oder Spring Integration oder mĂ€chtigen ESB-Produkten (Enterprise Service Bus) wie WebSphere Message Broker (proprietĂ€r) oder Talend ESB (Open Source) umsetzen lassen. Wolfgang Pleus hat einen kurzen, aber guten Blog-Eintrag [10] ĂŒber die Kombination von BPM Engine und Integrationsframework sowie deren Überlappungen geschrieben.

Der Kreditantrag ruft ein paar Skripte und Services auf, wobei technisches Wissen fĂŒr Routing, Transformationen und Schnittstellen benötigt wird. Daher sollte man die Integrations- unbedingt von der Prozesslogik trennen, um den Entwicklungs- und Wartungsaufwand so gering wie möglich zu halten. Da der GeschĂ€ftsprozess nur die Schnittstellen zu den Services enthĂ€lt, löst ein entsprechendes Framework oder Tool die Integrationslogik.

Regel 8: Um BPM erfolgreich zu gestalten, darf es nicht fĂŒr die Systemintegration zweckentfremdet werden.

BPM lĂ€sst sich in Projekten erfolgreich einfĂŒhren und einsetzen. Allerdings entscheidet die Einhaltung der abgeleiteten Regeln ĂŒber Erfolg oder Misserfolg eines BPM-Projekts. Klare Zielsetzungen, die Betrachtung des ganzen BPM-Lebenszyklus von Beginn an sowie eine sinnvolle Auswahl geeigneter Tools sind die wichtigsten Faktoren fĂŒr den Erfolg.

Kai WĂ€hner
ist als IT-Consultant bei der MaibornWolff et al GmbH tĂ€tig. Seine Schwerpunkte liegen in den Bereichen Java EE, SOA, Cloud Computing und Enterprise Architecture Management. Außerdem ist er Autor von Fachartikeln und hĂ€lt VortrĂ€ge auf internationalen IT-Konferenzen.
(ane [11])


URL dieses Artikels:
https://www.heise.de/-1715608

Links in diesem Artikel:
[1] http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html
[2] http://www.activevos.com/blog/soa/the-four-myths-of-bpm-projects-what-it-project-teams-need-to-know/2011/01/18/
[3] http://www.bpmn.org/
[4] https://www.heise.de/news/BPMN-2-0-fuer-eine-bessere-Zusammenarbeit-zwischen-Fachabteilung-und-IT-1175099.html
[5] http://activiti.org/
[6] http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel
[7] http://www.infoq.com/articles/bpmn-2
[8] http://www.jboss.org/jbpm
[9] http://www.eaipatterns.com/
[10] http://www.pleus.net/blog/?p=1028
[11] mailto:ane@heise.de