Kommunizierbare Prozesse - die laufen und greifen

Kommunizierbare Prozesse - die laufen und greifen Was BPM- und IT-Modelle trennt und was sie verbindet 10 Thesen zur Diskussion Andreas Leue, Sphenon ...
Author: Christian Hase
7 downloads 1 Views 4MB Size
Kommunizierbare Prozesse - die laufen und greifen Was BPM- und IT-Modelle trennt und was sie verbindet 10 Thesen zur Diskussion Andreas Leue, Sphenon GmbH BPM Netzwerk, 8.12.2009, zu Gast bei Oracle, Hamburg

This work is licensed under the Creative Commons Attribution-Share Alike 2.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.0/de/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

Ignoranz Konflikte Machtkämpfe Versagen Mißtrauen

Business & IT ... unable to bridge the gap ... [due to] differences in objectives, culture, and incentives ... mutual ignorance ... other group's body of knowledge. ... experience conflict and in-fighting ... failure to produce ... results leads to blaming and mistrust Quelle: wikipedia.org “Business/IT alignment”, 20.11.2009

Softskills ● Agile Prozesse ● IT Superheroes ● Runde Ecken ● Guter Wille ●

Ursache bekämpft?

3

Warum kein

?

Sales / Production... Marketing / Support... Graphik-Design / Development... ...Gap ...Alignment

Business & IT

Prozesse, Workflow automatische Ablaufsteuerung

IT-Systeme automatische Arbeitsschritte & Verwaltung

Software (Entwicklung)

4

BPM & IT

Enterprise Model Operation Services (EM/OS) Modell rein

Sphenon GmbH: seit 1990 Entwicklung eines Systems zur automatischen Bereitstellung von Anwendungen

BPM Integration seit ca. 2000 5

Anwendung raus

Bild #1, Quelle: wikimedia commons, Nachweis siehe letzte Folie

The se

Mythos: ”Business vs. IT”-Kampf (sie haben keine Chance)

6

1

Mythos: “Business vs. IT”-Kampf

BPM-Arena Strategie

Management Organisation Planung effiziente Prozesse Steuerung Zielvorgaben zu realitätsfern

z.B. Word, Visio

zu schwammig

zu technisch Repositories Hohe Präzision redundant z.B. UML, Java Automatisierung

Management Model

manueller fehlerhaft Abgleich  Erosion Tools unverständlich zu ineffektiv

Process Model

Checklisten

Mitarbeiter

z.B. BPMN, EPK

Arbeitspensum

Metamodels

zu kompliziert

Koordination

optimale Aufgabenerledigung

Konkrete Probleme lösen

7

System Model paßgenaue IT Systeme inkonsistent System Architect

zu ungenau, zu lückenhaft

Process Engine

Sämtliche Eventualitäten Durchführung

Mythos: “Business vs. IT”-Kampf

BPM-Arena Strategie

Management Organisation Planung effiziente Prozesse Steuerung Zielvorgaben zu realitätsfern

zu schwammig

z.B. Word, Visio

zu technisch Repositories manueller fehlerhaft Hohe Präzision redundant Abgleich z.B. UML, Java  Erosion Nutzung vs. Automatisierung

Management Model

System Model paßgenaue IT Systeme Konsistenz Tools inkonsistent unverständlich System Architect zu ineffektiv Metamodels Process Engine Process Model Checklisten

Mitarbeiter

z.B. BPMN, EPK

Arbeitspensum Koordination

optimale Aufgabenerledigung

Konkrete Probleme lösen

8

zu kompliziert

zu ungenau, zu lückenhaft

Sämtliche Eventualitäten Durchführung

Mythos: Business vs. (!) IT

Ansatz: Modelle konsistent verknüpfen Antragsprüfung

Management

Antrag

Antrag

Prüfung

[ungeprüft]

Prüfung Nord

[geprüft]

Prüfung Süd

System Architect Automatische Prüfung

Mitarbeiter Prüfung

9

Prüfung

UBPML: Überblick

Sprach-”Architektur” Vorgänge & Prozesse (zweckbezogen)

UBPML Steps & Constellations

BPMN oder

Abläufe

(kontrollflußbasiert)

10

UML Activity

UML Artefaktstruktur

UBPML: Überblick

Notation im Überblick Antragsprüfung

Prozess

www

keine Aktivität

.ubp

Transformation

ml.o rg

kein Kontrollfluß

Objekt in Zustand kein Event

Antrag

Prüfung

[ungeprüft]

Spezilisierung keine Verfeinerung

Prüfung abgeschlossen

Prüfung Nord

Prüfung Süd

Konstellation kein Event

Antrag [geprüft]

Implementierung keine Verfeinerung

Operation, Service

Ablauf mit Kontrollfluß Prüfung

11

Automatische Prüfung

Prüfung

Mythos: Fachprozesse = BPM(N)/EPK = Wandschmuck

Fachdiagramme Antrag Antrag ist ungeprüft

Prüfung

Antrag ist geprüft

Prüfung

EPK

Antrag ist ungeprüft

Antrag ist geprüft

BPMN Antrag [ungeprüft]

Antrag

Prüfung

[geprüft]

! ?

sind ● ungenau ● unvollständig ● unterspezifiziert

UML Voraussetzung für Planung, automatische Fehlerbehandlung, Koordination menschlicher und maschineller Arbeit, Verbesserung und Verständnis der Vorgänge

Vielmehr: ● nicht überspezifiziert ● beschränken sich auf Anforderungen ●

(Process Contract, Process Interface)

verzichten auf Lösungsweg (Process Implementation)

abstrahieren korrekt von Details ● spannen den Zweck-Bezugsrahmen auf ●

12

Bild #2, Quelle: wikimedia commons, Nachweis siehe letzte Folie

The se

13

2

Mythos: Fachprozesse = BPM(N)/EPK = Wandschmuck

Mythos: Fachprozesse = BPM(N)/EPK = Wandschmuck

UBPML: nicht unähnlich Antrag Antrag ist ungeprüft

Antrag ist geprüft

Prüfung

Prüfung

EPK

Antrag ist geprüft

Antrag ist ungeprüft

BPMN Antrag [ungeprüft]

Prüfung

Antrag [geprüft]

UML

Antrag

[ungeprüft]

Prüfung

Antrag

[geprüft]

UBPML

14

Mythos: IT = UML = technisch = verkompliziert

Sytemdiagramme ServiceFactory

IServiceImplClass toXML(): DOMElement

create(): IService

Antragsprüfung AntragsprüfungFactory

Antrag

State: int

1 Eingang: Date

isOk(): boolean

PrüfungBeginn: Date

create(Antrag a): Antragsprüfung ok

unchecked

Geprüft: Date isInOrdnung: boolean

not ok

! ?

sind ● zu technisch ● nicht verständlich ● nur für Ingenieure ● verkompliziert

15

0...1

LegacyAntrag migrate(): Antrag

Vielmehr: ● beschreiben konkrete Automaten ● die Aufgaben vollautomatisch selbsttätig lösen oder steuern ● und sämtliche Eventualitäten im vorhinein berücksichtigen müssen

Bild #3, Quelle: wikimedia commons, Nachweis siehe letzte Folie

The se

Mythos: IT = UML = technisch = verkompliziert

16

3

Mythos: IT = UML = technisch = verkompliziert

UBPML ServiceFactory create(): IService

IServiceImplClass toXML(): DOMElement

Antragsprüfung AntragsprüfungFactory

Antrag

State: int

1 Eingang: Date

isOk(): boolean

PrüfungBeginn: Date

create(Antrag a): Antragsprüfung unchecked

ok

Geprüft: Date isInOrdnung: boolean

not ok

0...1

LegacyAntrag migrate(): Antrag

Kein Unterschied: ... da UBPML = UML + OOBPM (+ ...)

17

Es gibt nur eine Wirklichkeit

Grundlegende BPM Modellierungsbegriffe

Event Operation

Workflow

State

Service Task Process

Activity

Bedeutet “... ist ein ...” (Vererbung)

Zusammengetragen aus verschiedenen Quellen (wikipedia.de/.org, Spezifikationen und Whitepapers zu BPMN, BPEL, XPDL, WSDL, UML, EPK, WKD, DFD)

18

Bild #4, Quelle: wikimedia commons, Nachweis siehe letzte Folie

The se

Es gibt nur eine Wirklichkeit (und ein Single Source Modell ist sowieso besser) 19

4

Es gibt nur eine Wirklichkeit

Planung und Handlung Janusköpfige Abstraktion

20

Es gibt nur eine Wirklichkeit

UBPML: verknüpft Zweck und Verfahren

Process Interface Process Implementation

21

Es gibt nur eine Wirklichkeit

Begriffe und Diagrammtypen Zweckgebundene Verknüpfung von Step Klassen

Arbeitsablauf (Workflow)

Step Step Step

Step

Prozessstufenschema Oberbegriff

Step

Prozessschema Process

Prozess

Menge von Step Instanzen, die bestimmten Kriterien genügen

Step Step Step

Step

Step Step Step Step

Zweckgebundene Verknüpfung von Step Instanzen, die einem Workflow entspricht

BPP

Step Step Step Step Step Step

Step Step Step

Workflowinstanz

Step Step Step Step Step Step

Progressionsplan

Step Step Step

Step Step Step

Oberbegriff

Projekt

Step Step Step

22

Step

Step

Zweckgebundene Verknüpfung von Step Instanzen, frei definiert

Step

BSP Legt zulässige Step Instanzen eines Prozesses fest

Bild #5, Quelle: wikimedia commons, Nachweis siehe letzte Folie

The se

Zu einfach:

23

Prozeß = Funktionshierarchie

5

Zu einfach: Prozeß = Funktionshierarchie

Funktionshierarchie Prozeß

Prozeß

Prozeß

Prozeß

monströser Funktionsbaum: “Prozeßtapete” ● einzige vertikale Kopplungsart: Verfeinerung ● horizontale Kopplung: künstliche Token ● keine Abstraktion, nur Detailausdünnung ● in Gänze im Grunde: unwartbar ●

24

Funktion

Funktion

Funktion

Funktion

Funktion

Funktion

Aktivität

Aktivität

Aktivität

Aktivität

Aktivität

Aktivität

Programmfunktion(...)

Programmfunktion(...)

Programmfunktion(...)

Programmfunktion(...)

Programmfunktion(...)

Programmfunktion(...)

Wünschenswert: ● lose gekoppelte Prozeß-Bausteine ● Details im Innern verborgen ● flexible Zusammenstellung ● dynamische Zusammenstellung

Zu einfach: Prozeß = Funktionshierarchie

UBPML: Geschichteter Prozeßaufbau

Prozeß

Prozeß

Prozeß

Prozeßschicht

Prozeß

sechs vertikale Kopplungsarten: Unterprozeß (Teilmenge) Aggregation aus Schritten Spezialisierung von Schritten Vorgänge in Schritten Prozedurzuordnung zu Schritten Verfeinerung von Prozeduren ● plus horizontale inhaltliche Kopplung ● getrennt: Interface und Implementierung Details im Innern verborgen ●

Prüfung

Konstellation

Konstellation

Prüfung

Konstellation

Konstellation

Prüfung

Konstellation

Aktivität

Programmfunktion(...)

25

Aktivität

Programmfunktion(...)

Aktivität

Programmfunktion(...)

Prozedurschicht

Prozedur

Prozeßschemaschicht

Konstellation

(encapsulation)

loser und variabler Zusammenhang ● dynamische Verbindung ●

(late binding)

Ablauf und Struktur gehören zusammen

Konsistenz, Vollständigkeit und Eindeutigkeit

Antrag

Der Antrag muß...

Glossar

Geschäftsregel

Antrag Antrag Prüfung

Prozeßbeschreibung

26

(IT) Modell-Klasse

Bild #6, Quelle: wikimedia commons, Nachweis siehe letzte Folie

The se

Ablauf und Struktur gehören zusammen (Prozesse und Objekte)

27

6

Ablauf und Struktur gehören zusammen

UBPML

Antrag

Glossar { muß... } Geschäftsregel

Konstellation

Antrag

(IT) Modell-Klasse

Antrag [ungeprüft]

Prüfung

Prozeßbeschreibung

28

Antrag [geprüft]

Abläufe nicht zementieren

Programmierter Ablauf : codiertes Wissen Schleife Daten per Mail eingegangen

Daten per Brief eingegangen

Daten per Mail nachfordern

Daten per Brief nachfordern

ja

nein Eingang per Mail? ja

Antrag

nein

Bedingungen Antrag per Mail eingegangen

Prüfung

ja Antrag vollständig?

Reihenfolge

Antrag per Brief eingegangen

Fallunterscheidung Email Server Down

Ausnahmen

Keine Briefmarken mehr da

3 Wochen seit Eingang

29

nein

Eingang per Mail?

Ablehnung per Mail versenden nein Ablehnung per Brief versenden

nein

ja Lieferbar?

Zustand

Bonität ok? ja

Taktung Admin anrufen Briefmarken kaufen

ja Eingang per Mail?

Bestätigung per Mail versenden nein Bestätigung per Brief versenden

Zustandsdefinition

Bild #7, Quelle: wikimedia commons, Nachweis siehe letzte Folie

The se

Abläufe nicht zementieren (Kontrollfluß so spät wie möglich codieren) 30

7

Abläufe nicht zementieren

UBPML: deklarative Prozeßbeschreibung [error] := { Dauer > 3 Wochen } [caution] := { keine Briefmarken } [caution] := { email-Server down } [warning] := { Dauer > 2 Wochen }

Neuer Antrag

1

Prüfung abgeschlossen

Prüfung Kanal

Antrag

{ Kanal = Erstkontakt }

Bestätigung

[ungeprüft]

[versandt] 1 1

Antrag [unvollständig]

Vervollständigung

Antrag

Antrag

[geprüft] :=

[vollständig]

{Bonität & Verfügbarkeit ermittelt}

Antrag

[angenommen] := {Bonität ok & lieferbar}

31

Antrag [abgelehnt] := {sonst}

Objektorientierung? Objektorientierung!

Handhabung komplexer Systeme

Diagramm visualisiert klare fachliche Aussagen: Es gibt ungeprüfte und geprüfte Anträge. ● Jeder ungeprüfte Antrag wird einer Prüfung unterzogen. ● Ungeprüfte Anträge können unvollständig sein. ● Geprüfte Anträge sind immer vollständig. ● Angenommene Anträge sind vollständig, geprüft, die Bonität ist in Ordnung und die Ware ist lieferbar. ● Dauert die Prüfung länger als 3 Wochen, liegt ein Fehler vor. ● Dauert die Prüfung länger als 2 Wochen, soll gewarnt werden. ●

32

Bild #8, Quelle: wikimedia commons, Nachweis siehe letzte Folie

The se

Objektorientierung? Objektorientierung!

33

8

Objektorientierung? Objektorientierung!

OO : Handhabung komplexer Systeme OO ist nicht OOP

Generalisierung und Spezialisierung Prüfung

Prüfung Nord

Antrag liegt vor

Prüfung Süd

Verkapselung

Antrag Süd liegt vor

Antrag Nord liegt vor

Interface Implementierung

Prüfung

Polymorphie prüf_mal( ); Prüfung

Prüfung Nord

Prüfung Süd

prüf_mal_Nord( );

34

prüf_mal_Süd( );

Prüfung

Prüfung

Einfacher ist es nicht zu machen

BPM/IT & UBPML: zu groß, zu kompliziert? Müssen Sachbearbeiter OO lernen? Antragsprüfung

Business Architect

Enterprise Architect

BigDesignUpFront?

Reporting & Observation Prüfung

Prozeß

Process Engine

Process Architect

Automatische Prüfung

IT Systems

Prozeß

Prozeß

Prozeß

Workflow Application Konstellation

Prüfung

Konstellation

Prozeß Prozeß

Prüfung

System Architect

Konstellation

Prüfung

Konstellation

Mitarbeiter

Prozeß Konstellation

Prüfung

Konstellation

Konstellation

Prüfung

Prüfung

Prozedur Prüfung Aktivität

Last not least:

Aktivität

Konstellation

Konstellation Konstellation

Prozedur

Prozedur

“... we are merely at the baby stages of the infotech revolution...” Tom Peters, Re-imagine!, 2003

35

Aktivität

Aktivität

Aktivität

Aktivität Aktivität

Loser Verbund!

The se Occam

Bild

#9 ,

Qu

elle :

wik im

ed ia

com

mo

ns, N

ac

hw eis

s ie

he

letz te

Fo

lie

Einfacher ist es nicht zu machen

36

9

Blick in die Kristallkugel: UML 3.0, 4.0... ?

Unified Unified Modelling Language

WKD PN

EPK

XPDL

BPMN Bis da www.u hin... bpml. org

WSDL BPEL UBPML UML/Activity

PN DFD StateChart ERD

37

OO Booch

OMT

UML 2.0

1990

UML 0.8

2025

UML 5.0

The se 10

UML Bild #10, Quelle: wikimedia commons, Nachweis siehe letzte Folie

Blick in die Kristallkugel: UML (aber welche Version?)

38

UBPML: Ausblick

Wie geht es weiter?

www.ubpml.org (wiki)

39

Bildnachweis

Die folgenden Bilder sind dem wikimedia commons Projekt entnommen (http://commons.wikimedia.org). Detaillierte Angaben zu den Autoren, den einzelnen Lizenzen sowie den Ihnen zugestandenen Rechten und, im Falle einer Nutzung, auferlegten Pflichten entnehmen Sie bitte der jeweils angegebenen Internetseite. Bild# Lizenz 1

Wikimedia Commons URL http://commons.wikimedia.org/wiki/File:Kampf_Zurichsee.jpg

2

http://commons.wikimedia.org/wiki/File:Blind_monks_examining_an_elephant.jpg

3

http://commons.wikimedia.org/wiki/File:BPMN-DiscussionCycle.jpg http://commons.wikimedia.org/wiki/File:Kellogg,_Frank_Billings_%281856-1937%29.jpg

4

http://commons.wikimedia.org/wiki/File:Bundesarchiv_Bild_183-87625-0001,_Ingenieure_am_Reissbrett.jpg

5

http://commons.wikimedia.org/wiki/File:Russian-Matroshka.jpg

6

http://commons.wikimedia.org/wiki/File:Yin&Yang_trasparent.png

7 8

http://commons.wikimedia.org/wiki/File:Bundesarchiv_Bild_183-54105-0001,_Berlin, _Stralauer_Allee,_Bauarbeiter_Zementmischer_füllend.jpg http://commons.wikimedia.org/wiki/File:Fruits_veggies.png

9

http://commons.wikimedia.org/wiki/File:Rasiermesser.jpg

10

http://commons.wikimedia.org/wiki/File:3DCrystal_ball.png

40