[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
Bpmn2010
1. Agiles BPM – Wo geht die Reise hin?Agiles BPM – Wo geht die Reise hin?
Bernd Rücker, camunda services GmbH
2. This are receycled slides, sorry!
But check out the screencast ofBut check out the screencast of
Jakobs presentation in Potsdam:
http://www.bpm-guide.de/2010/10/15/bpmn-2010/
3. Your
Business
camunda
Business Consulting
Camunda is a small BPM consulting companyCamunda is a small BPM consulting company
• BPM
• BPMN
• Agile
• BRM
Your
Process
Application
Your
Process
Application
Your
Process
Application
camunda
IT Consulting
6. Prozessmodelle für verschiedenste Zwecke und RollenProzessmodelle für verschiedenste Zwecke und Rollen
ISO-Zertifizierung
Mindestanforderungen
Für Risiko-Management
(MARisk) Organisationshandbuch
Workflow
Management
Serviceorientierte
Architekturen (SOA)
Schriftlich
fixierte
Ordnung
Prozessanalyse und
-verbesserung
Automatisierung
Anforderungs-
management
7. 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.
8. 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
12. Kerngedanke #1: Brüche nach oben verlagern
Ebene 2
Operatives Prozessmodell
Ebene 1
Strategisches
Prozessmodell
Prozesslandschaft
Inhalt: Prozess im Überblick
Ziel: Schnelles Verständnis
Inhalt: Operative Abläufe
Ziel: Arbeits- und
UmsetzungsgrundlageFachlich
(Business)
Ebene 3a
Technisches
Prozessmodell
Ebene 3b
IT-Spezifikation
Ebene 4b
Implementierung
Inhalt: Technische Details
Ziel: Umsetzung
(Business)
Technisch
(IT)
Mit Process Engine
Ohne Process Engine
13. Business vs. IT? It‘s NOT that simple!Business vs. IT? It‘s NOT that simple!
Project Lead
•Manages the project
•Creates/Manages typical
project 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 process
solution development
•Knows BPMN best (in IT)
•Defines Guidelines
•Is expert in certain aspect (e.g. GUI)
•Supports Process Engineer if needed
•Creates services / components used
in process by plain development
Business IT
Domain Expert
Process Analyst
Process Engineer Developer
Architect
•Knows the solution‘s
purpose best
•Can answer any question
about functionality
•Defines Guidelines
•Is somehow useful :-)
14. Next Slides are based on BPMN 2.0 by ExampleNext Slides are based on BPMN 2.0 by Example
BPMN 2.0 by Example
http://www.omg.org/cgi-bin/doc?dtc/10-06-02
Activiti Showcase
http://www.bpm-guide.de/activiti/
15. This is directly executable BPMN 2.0This is directly executable BPMN 2.0
16. Some Details depend on your BPM platformSome Details depend on your BPM platform
17. <?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>
18. 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 Center
Agent
IT
19. 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?
20. The User and the Solution collaborateThe User and the Solution collaborate
21. It‘s all about collaboration!It‘s all about collaboration!
Process
Engine
Process
participants
Domain Expert
Process Engineer
Engine
Process Analyst
Domain Expert
Domain Expert
Domain Expert
22. 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: Operatives
Prozessmodell
32. 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
33. Der Prozess im Zentrum der AnforderungenDer Prozess im Zentrum der Anforderungen
GUI Daten
Prozess Regeln
Tests
Funktio-
nalität
NFRs
40. 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
41. Let‘s skip the peak and the trough!Let‘s skip the peak and the trough!
As-Is
To-Be
42. Vielen Dank für Ihre Aufmerksamkeit!Vielen Dank für Ihre Aufmerksamkeit!
43. Vielen Dank!Vielen Dank!
camunda services GmbH
Zossener Str. 55-58
10961 Berlin
Telefon: +49 30 664 0409-00
Telefax: +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
Fachgruppe IT-PM
Stuttgart, 29.10.2010