Top Banner
Agiles BPM – Wo geht die Reise hin? Agiles BPM – Wo geht die Reise hin? Bernd Rücker, camunda services GmbH
43
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bpmn2010

Agiles BPM – Wo geht die Reise hin?Agiles BPM – Wo geht die Reise hin?

Bernd Rücker, camunda services GmbH

Page 2: Bpmn2010

This are receycled slides, sorry!

But check out the screencast of But check out the screencast of Jakobs presentation in Potsdam:

http://www.bpm-guide.de/2010/10/15/bpmn-2010/

Page 3: Bpmn2010

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

Page 4: Bpmn2010

Aktuelle TrendsAktuelle Trends09/2009

Quelle: BPM-Netzwerk.dex2

07/2010

x1,6

Page 5: Bpmn2010

Über 80 Neukunden in zwei JahrenÜber 80 Neukunden in zwei Jahren

Page 6: Bpmn2010

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

ISO-ZertifizierungMindestanforderungenFür Risiko-Management

(MARisk) Organisationshandbuch

WorkflowManagement

ServiceorientierteArchitekturen (SOA)

Schriftlich fixierteOrdnung

Prozessanalyse und-verbesserung

Automatisierung

Anforderungs-management

Page 7: Bpmn2010

� Bereitstellung von DSL-Anschlüssen

� Aus- und Umbau des Mobilfunknetzes

� Regulierung von Schäden (Kfz, Hausrat etc.)

� Vertrieb von Darlehen

� Vertrieb von Medikamenten

Exemplarische Themen und ProzesseExemplarische Themen und Prozesse

� Logistische Abwicklung von Waren und Fertigungserzeugnissen

� Prüf- und Genehmigungsverfahren (ÖD)

� Rechnungseingangsbearbeitung

� Angebotserstellung und -nachverfolgung

�… und die Klassiker: Reisen, Urlaub, Fortbildung, Helpdesk etc.

Page 8: Bpmn2010

Leben und leben lassen…Leben und leben lassen…

We value…

• Developer-Friendliness over Zero Coding• Smart Communication over Single-Source-Models• Composite Architectures over one-stop-shops• Open Source over Out-of-the-Box

Page 9: Bpmn2010

camunda BPMN-Framework

Page 10: Bpmn2010

Der logisch-abstrakte AblaufDer logisch-abstrakte AblaufBranche: VerlagswesenTool: Signavio Process Editor

Page 11: Bpmn2010

Der physisch-konkrete AblaufDer physisch-konkrete AblaufBranche: VerlagswesenTool: Signavio Process Editor

Page 12: Bpmn2010

Kerngedanke #1: Brüche nach oben verlagern

Ebene 2

Operatives Prozessmodell

Ebene 1

StrategischesProzessmodell

Prozesslandschaft

Inhalt: Prozess im ÜberblickZiel: Schnelles Verständnis

Inhalt: Operative AbläufeZiel: Arbeits- und

UmsetzungsgrundlageFachlich(Business)

Ebene 3a

Technisches Prozessmodell

Ebene 3b

IT-Spezifikation

Ebene 4b

Implementierung

Inhalt: Technische DetailsZiel: Umsetzung

(Business)

Technisch(IT)

Mit Process Engine

Ohne Process Engine

Page 13: Bpmn2010

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 :-)

Page 14: Bpmn2010

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/

Page 15: Bpmn2010

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

Page 16: Bpmn2010

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

Page 17: Bpmn2010

<?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>

Page 18: Bpmn2010

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

Page 19: Bpmn2010

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?

Page 20: Bpmn2010

The User and the Solution collaborateThe User and the Solution collaborate

Page 21: Bpmn2010

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

ProcessEngine

Processparticipants

Domain Expert

Process EngineerEngine

Process Analyst

Domain Expert

Domain Expert

Domain Expert

Page 22: Bpmn2010

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 Engine

Sicht

Ebene 2: OperativesProzessmodell

Page 23: Bpmn2010

Kundenbeispiel: ReisemanagementKundenbeispiel: ReisemanagementBranche: SchwerindustrieTool: SAP Netweaver CE 7.2

Page 24: Bpmn2010

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

Page 25: Bpmn2010

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

Page 26: Bpmn2010

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

Page 27: Bpmn2010

IT-Projekt vs. Prozess-ProjektIT-Projekt vs. Prozess-Projekt

Page 28: Bpmn2010

Activiti (Open Source BPM Platform), an european project Activiti (Open Source BPM Platform), an european project

Page 29: Bpmn2010

Activiti CycleCycleCycleCycle (Contributed by Camunda)Activiti CycleCycleCycleCycle (Contributed by Camunda)

Page 30: Bpmn2010

Example: Forward EngineeringExample: Forward Engineering

Beispiele:

• Maven Multi-Module-Project erzeugen

• Prozess zur Ausführbarkeit validieren

Page 31: Bpmn2010

Example: Conventions or ValidationsExample: Conventions or Validations

Page 32: Bpmn2010

Also der „Glue“ zwischen Ebene 2 und 3Also der „Glue“ zwischen Ebene 2 und 3

Signavio / Activiti Modeler / Oryx

JBoss jBPM / Activiti / Bonita

Activiti CycleBusiness-IT-Glue

Page 33: Bpmn2010

Der Prozess im Zentrum der AnforderungenDer Prozess im Zentrum der Anforderungen

GUI Daten

Prozess Regeln

Tests

Funktio-nalität

NFRs

Page 34: Bpmn2010

Bsp: Prozessmodell mit JIRA koppelnBsp: Prozessmodell mit JIRA koppeln

Page 35: Bpmn2010

Hands-on-Collaboration: BPMN-Diagrams in JIRAHands-on-Collaboration: BPMN-Diagrams in JIRA

Page 36: Bpmn2010

Alternative: Use casesAlternative: Use cases

Page 37: Bpmn2010

But where is the process?But where is the process?

Page 38: Bpmn2010

Den Entwicklungsfortschritt visualisierenDen Entwicklungsfortschritt visualisieren

Page 39: Bpmn2010

Agile!Agile!

Page 40: Bpmn2010

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

Page 41: Bpmn2010

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

As-Is

To-Be

Page 42: Bpmn2010

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

Page 43: Bpmn2010

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

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

Email: [email protected]

www.bpm-guide.de

Der Praxis-Blog zu BPM:

@camunda.com

Geschäftsführer

Bernd Rücker

bernd.ruecker

Fachgruppe IT-PM

Stuttgart, 29.10.2010