20100223 bpmn

Preview:

DESCRIPTION

 

Citation preview

BPMN - PraxiserfahrungenBPMN - Praxiserfahrungen

Bernd Rücker, camunda services GmbH

Bernd Rückerbernd.ruecker@camunda.com

YourBusiness

camundaBusiness Consulting

camunda is a small BPM consulting companycamunda is a small BPM consulting company

• BPM• BPMN• Agile• BRM

YourProcess

Application

YourProcess

Application

YourProcess

Application

camundaIT Consulting

09/2009

x2

Aktuelle TrendsAktuelle Trends

Quelle: BPM-Netzwerk.de

07/2010

x1,6

Prozessmodelle für verschiedenste Zwecke und RollenProzessmodelle für verschiedenste Zwecke und Rollen

ISO-Zertifizierung

MindestanforderungenFür Risiko-Management

(MARisk) Organisationshandbuch

WorkflowManagement

ServiceorientierteArchitekturen (SOA)

Schriftlich fixierteOrdnung

Prozessanalyse und-verbesserung

Automatisierung

Anforderungs-management

Eine interessante ReferenzenEine interessante Referenzen

Siehe http://www.camunda.com/unternehmen/referenzen/

BPM(N) im großen StilBPM(N) im großen StilBranche: TelekommunikationTooling: Signavio / JBoss jBPM

Was?

Erfolge?

Lessons Learned?

• u.a. DSL-Bereitstellung• Portierung auf JBoss jBPM• Mapping BPMN 2 => jPDL 3

• Wie trage ich BPMN in die Breite?• Konventionen erforderlich• Dezentrales Engagement schwierig• Tooling notwendig• Akutes Projekt vs. Meta-Ebene

Erfolge?

• Bessere Abstimmung Business-IT• Bessere Abstimmung IT-IT• Weniger Probleme im Betrieb

„Hurra, ein Projekt ☺“„Hurra, ein Projekt ☺“Branche: TelekommunikationTool: ADONIS

Was?

Erfolge?

Lessons Learned?

• Generelle BPMN-Einführung• Modellierung Netzbetrieb• Requirements für neue Software

• Trennung Business Analyst vs. Modellierer• Konkrete Projekte erforderlich• Commitment erforderlich

Erfolge?

• Verständnis für BPMN• Abgleich mit bestehender Prozessdokumentation

ReisemanagementReisemanagementBranche: SchwerindustrieTool: SAP Netweaver CE 7.2

Was?

Erfolge?

Lessons Learned?

• Reisemanagement• Vom Antrag bis zur Abrechnung• Ausführung als Workflow

• BPMN ist anspruchsvoll• Ständiges Refactoring der Modelle• „camunda-Methodik“ hat geholfen• Angemessenes Tooling erforderlich

Erfolge?

• Besseres Verständnis für Anforderungen• Schnellere und passgenauere Umsetzung• Trennung zwischem „menschlichem“ und „technischem“ Prozess

Requirements EngineeringRequirements Engineering

Was?

Erfolge?

Lessons Learned?

• Prozessmodellierung• Klärung von Fragen• Detail-Anforderungen ableiten

• Schwieriges Handling komplexer Diagramme• Gefahr dass Dinge vergessen werden die keinen Prozessbezug haben

Branche: Online-ApothekeTool: Signavio Process Editor

Erfolge?

• Durchdringung komplexer Probleme „von grob nach fein“• Sehr schnelle Klärung von Fragen• Dokumentation im Zuge der Fragenklärung• Keiner der Beteiligten hatte BPMN-Vorkenntnisse• Gutes Tooling für Diskussionen & Rückfragen• Gute Grundlage für Agiles Arbeiten

Beispielprozessmodell Beispielprozessmodell

How to apply BPMN in your companyHow to apply BPMN in your company

Roles & SkillsSkills

„Also baym Tema Süntaks binn ich ya eher Prackmahticker!“ya eher Prackmahticker!“

BPMN-GurusBPMN-Gurus

BPMN-FollowersBPMN-Followers

Non-BPMN-UsersNon-BPMN-Users

Beispielhafte Zuordnung in größeren OrganisationenBeispielhafte Zuordnung in größeren Organisationen

Top-Management

BPM Guru

Dept. Dept. Dept. Dept.

Business vs. IT? It‘s NOT that simple!Business vs. IT? It‘s NOT that simple!

Project Lead

•Manages the project•Creates/Manages typicalproject documents

•Represents user•Knows the solution‘s

•Creates Process Models•Links Process Models with other Requirements•Knows BPMN Best (in Business)

•Creates Technical Processes etc.•Plays the main part in processsolution development•Knows BPMN best (in IT)

•Defines Guidelines

•Is expert in certain aspect (e.g. GUI)•Supports Process Engineer if needed•Creates services / components usedin process by plain development

Business IT

Domain Expert

Process Analyst

Process Engineer Developer

Architect

•Knows the solution‘spurpose best•Can answer any questionabout functionality

•Defines Guidelines•Is somehow useful :-)

How to apply BPMN in your companyHow to apply BPMN in your company

MethodsMethods

camunda-Methodik für BPMN-Projekte

Beispiel: Modeling Guidelines - AlternativenBeispiel: Modeling Guidelines - Alternativen

Beispiel: Layout StylesBeispiel: Layout Styles

Beispiel: Design PatternsBeispiel: Design Patterns

How to apply BPMN in your companyHow to apply BPMN in your company

AppropriateAppropriateToolingTooling

Appropriate Tooling…Appropriate Tooling…

BPMN-Magnete selber basteln: BPM-Guide.de!

Be part of the momentBe part of the moment

Next Slides are based on BPMN 2.0 by ExampleNext Slides are based on BPMN 2.0 by Example

BPMN 2.0 by Examplehttp://www.omg.org/cgi-bin/doc?dtc/10-06-02

Activiti Showcasehttp://www.bpm-guide.de/activiti/

This is directly executable BPMN 2.0This is directly executable BPMN 2.0

Some Details depend on your BPM platformSome Details depend on your BPM platform

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definitions id="oryx_c6b54c98-e3e8-44aa-8745-1f092b3150b6" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.omg.org/bpmn20" xmlns="http://schema.omg.org/spec/BPMN/2.0" xmlns:bpmndi="http://bpmndi.org"><process isClosed="false" processType="executable" id="oryx_45eeff22-1e3f-4543-be07-084ea7cfd0b7"><laneSet name="Process Engine" id="Process Engine"><lane name="1st level support" id="1st level support_1"><flowElementRef>Handle Problem [ID: ${issueID}]: ${issueTitle}_2</flowElementRef><flowElementRef>Is issue resolved?_2</flowElementRef><flowElementRef>issue reported_2</flowElementRef><flowElementRef>Send an email back to the Call Center Agent_2</flowElementRef><flowElementRef>ticket closed_2</flowElementRef><flowElementRef>Send a confirmation email back to the Call Center Agent_2</flowElementRef><flowElementRef>Set the issue classifciation_2</flowElementRef>

</lane><lane name="2snd level support" id="2snd level support_1"><flowElementRef>Task Finished_2</flowElementRef><flowElementRef>Edit Ticket from Level 1 [ID: ${issueID}]: ${issueTitle}_2</flowElementRef><flowElementRef>Is issue now resolved?_2</flowElementRef><flowElementRef>Insert issue into product backlog_2</flowElementRef>

</lane></laneSet><userTask implementation="webService" completionQuantity="1" startQuantity="1" isForCompensation="false" name="Handle Problem [ID: ${issueID}]: ${issueTitle}"

id="Handle Problem [ID: ${issueID}]: ${issueTitle}_2"/><exclusiveGateway gatewayDirection="Diverging" name="Is issue resolved?" id="Is issue resolved?_2"/><startEvent isInterrupting="true" name="issue reported" id="issue reported_2"><messageEventDefinition/>

</startEvent><sendTask implementation="webService" completionQuantity="1" startQuantity="1" isForCompensation="false" name="Send an email back to the Call Center Agent" id="Send an

email back to the Call Center Agent_2"/><endEvent name="ticket closed" id="ticket closed_2"/><sendTask implementation="webService" completionQuantity="1" startQuantity="1" isForCompensation="false" name="Send a confirmation email back to the Call Center Agent"

id="Send a confirmation email back to the Call Center Agent_2"/>

The corresponding BPMN 2.0 - XMLThe corresponding BPMN 2.0 - XML

id="Send a confirmation email back to the Call Center Agent_2"/><scriptTask scriptLanguage="" completionQuantity="1" startQuantity="1" isForCompensation="false" name="Set the issue classifciation" id="Set the issue classifciation_2"><script></script>

</scriptTask><message isInitiating="true" name="Task Finished" id="Task Finished_2"/><userTask implementation="webService" completionQuantity="1" startQuantity="1" isForCompensation="false" name="Edit Ticket from Level 1 [ID: ${issueID}]: ${issueTitle}"

id="Edit Ticket from Level 1 [ID: ${issueID}]: ${issueTitle}_2"/><exclusiveGateway gatewayDirection="Diverging" name="Is issue now resolved?" id="Is issue now resolved?_2"/><sendTask implementation="webService" completionQuantity="1" startQuantity="1" isForCompensation="false" name="Insert issue into product backlog" id="Insert issue into

product backlog_2"/><sequenceFlow targetRef="Is issue now resolved?_2" sourceRef="Edit Ticket from Level 1 [ID: ${issueID}]: ${issueTitle}_2" name="" id="SequenceFlow_6"/><sequenceFlow targetRef="ticket closed_2" sourceRef="Send an email back to the Call Center Agent_2" name="" id="SequenceFlow_5"/><sequenceFlow targetRef="Send a confirmation email back to the Call Center Agent_2" sourceRef="issue reported_2" name="" id="SequenceFlow_3"/><sequenceFlow targetRef="Handle Problem [ID: ${issueID}]: ${issueTitle}_2" sourceRef="Send a confirmation email back to the Call Center Agent_2" name=""

id="SequenceFlow_7"/><sequenceFlow targetRef="Set the issue classifciation_2" sourceRef="Handle Problem [ID: ${issueID}]: ${issueTitle}_2" name="" id="SequenceFlow_9"/><sequenceFlow targetRef="Is issue resolved?_2" sourceRef="Set the issue classifciation_2" name="" id="SequenceFlow"/><sequenceFlow targetRef="Send an email back to the Call Center Agent_2" sourceRef="Insert issue into product backlog_2" name="" id="SequenceFlow_4"/><sequenceFlow targetRef="Send an email back to the Call Center Agent_2" sourceRef="Is issue resolved?_2" name="" id="SequenceFlow_10"><conditionExpression xsi:type="tFormalExpression" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">${issueResolved}</conditionExpression>

</sequenceFlow><sequenceFlow targetRef="Edit Ticket from Level 1 [ID: ${issueID}]: ${issueTitle}_2" sourceRef="Is issue resolved?_2" name="" id="SequenceFlow_8"><conditionExpression xsi:type="tFormalExpression" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">${!issueResolved}</conditionExpression>

</sequenceFlow><sequenceFlow targetRef="Insert issue into product backlog_2" sourceRef="Is issue now resolved?_2" name="" id="SequenceFlow_1"><conditionExpression xsi:type="tFormalExpression" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">${!issueResolved}</conditionExpression>

</sequenceFlow><sequenceFlow targetRef="Send an email back to the Call Center Agent_2" sourceRef="Is issue now resolved?_2" name="" id="SequenceFlow_2"><conditionExpression xsi:type="tFormalExpression" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">${issueResolved}</conditionExpression>

</sequenceFlow></process>

</definitions>

Business-IT-Alignment with executable models?Business-IT-Alignment with executable models?

And what are those

But there are parts of the process (that

concern me) missing!

Yes but those parts won‘t be executed by the engine. I cannot

Here‘s your to-be-process, ready to deploy. Could you please approve?

Huh, looks complicated! Where is the part that‘s

my business?

Ehm, it‘s here. And there. And over there. Well

somehow, half of that is somone else‘s todo. And

some steps and decisions are completely

automated.

Ah, F***Y**!

Inconti-what!? This is just your coding again, and not my process!

I won‘t approve this.

Yes but we need those steps. Otherwise we will get data inconsistencies in the process context.

And what are those steps for then? Nobody

specified them!

the engine. I cannot model them, they‘d

break the technical flow. Call CenterAgent

IT

This what the Call Center Agent is really interested inThis what the Call Center Agent is really interested in

• What do I have to do? • Who is the one I must interact with?• How do I work with the system?• What are my concerns?

The User and the Solution collaborateThe User and the Solution collaborate

It‘s all about collaboration!It‘s all about collaboration!

ProcessEngine

Processparticipants

Domain Expert

Process EngineerEngine

Process Analyst

Domain Expert

Domain Expert

Domain Expert

Kerngedanke #2: Verschiedene Sichten auf Ebene 2

Process Participant Process Analyst Process EngineerBetrachter

„Wie muss ich

arbeiten?“

„Wie wird

gearbeitet?“

„Was macht die

Engine?“Zentrale Frage

Eigene

Orchestrierung

Gesamte

Kollaboration

Orchestrierung der

Process EngineSicht

Ebene 2: Operatives

Prozessmodell

Nochmal ReisemanagementNochmal Reisemanagement

Kundenbeispiel: StromzählerwartungKundenbeispiel: StromzählerwartungBranche: EnergieversorgerTool: inubit BPM-Suite

Tool-Unterstützung am Beispiel SignavioTool-Unterstützung am Beispiel Signavio

Tool-Unterstützung am Beispiel SignavioTool-Unterstützung am Beispiel Signavio

Tool-Unterstützung am Beispiel SignavioTool-Unterstützung am Beispiel Signavio

How to apply BPMN in your companyHow to apply BPMN in your company

Goals

Roles & Skills

GoalsMethods Tooling

Meta-Processes

Wir machen uns Gedanken – Sie auch?Wir machen uns Gedanken – Sie auch?

I wish… I like…

I want…I hate… I think… I need…I ask…I mean…

I …I suck…

BPM-Netzwerk.de

Test.BPMN.info

BPMB.de

camunda.com

Let‘s skip the peak and trough ☺Let‘s skip the peak and trough ☺

As-Is

To-Be

Vielen Dank für Ihre Aufmerksamkeit!Vielen Dank für Ihre Aufmerksamkeit!

Vielen Dank!Vielen Dank!camunda services GmbHZossener Str. 55-5810961 Berlin

Telefon: +49 30 664 0409-00Telefax: +49 30 664 0409-29

Email: info@camunda.com

www.bpm-guide.de

Der Praxis-Blog zu BPM:

@camunda.com

Geschäftsführer

Bernd Rücker

bernd.ruecker

SOA & BPM Days

Düsseldorf, 23.02.2011