SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
BPMN – An experience report
Jakob Freund, CEO camunda services GmbH
Camunda is a small BPM consulting company

                             Your                           • BPM
                           Business                         • BPMN
                                                            • Agile
                                                            • BRM
                             camunda
                        Business Consulting


             Your              Your              Your
           Process           Process           Process
          Application       Application       Application




                             camunda
                           IT Consulting
Which process model is the better one?
                                                                                                                                                                                                                                              Ausschreibung
                                                                                                                                                                                                                                                erfolgreich
                                                                                                                                Aufgaben und
                             Sonstiges
 Führungskraft Fachbereich




                                                                                                                                Anforderungen
                                                                                                                                   mitteilen
                                                                                                                 Mehr Infos                                                                                                                                       Stelle
                                                                                                                 erforderlich                                                                                                                                 ausgeschrieben


                                                                                                                                                  Beschreibung
                                                                                                                                                                                        OK?
                                                                                                                                                    erhalten
                             HR-Portal




                                                                                                                                                                         Stellenbe-                                          Stellenbe-
                                                                                     Freie Stelle                                                                                                          Korrektur
                                                                                                                                                                         schreibung              Nein                        schreibung
                                                                                       melden                                                                                                             anmahnen
                                                                                                                                                                           sichten                                            freigeben
                                                Personal-
                                                 bedarf                                                                                                                                  Ja
                                                                Automatisch




                                                                                                                                                                                                          Ausschreibung        Erfolgsmeldung
                                                                                                                                                                                                           durchführen             senden
                                                                                                                                                                                                                                                         Stelle
                                                                                                                                                                                                                                                     ausgeschrieben
                                           Process Engine

                                                                SB Personal




                                                                                                          Stelle                                                 Stellenbe-
                                                                                                                                                                                      Ausschreibung
                                                                                                       beschreiben                                               schreibung
                                                                                                                                                                                        anstoßen
                                                                                                                                                                 korrigieren

                                                                                                                                                  Nein
                                                                                                                                                                                                                                                                               Alternative 1
                                                                Führungskraft




                                                                                                                                     Stellenbe-
                                                                                                                                     schreibung            Ja
                                                                                                                                       prüfen
                                                                                                                                                  OK?
                                                                F




                                                                                         Alles klar?

                                                                                                                                                                        Stellenbe-                        Kanäle für
                                                    HR-Portal




                                                                                                                                   Stelle
                                                                                                       Ja                                                               schreibung                                        Ausschreibung
                                                                                                                                beschreiben                                                             Ausschreibung
                                                                                                                                                                        korrigieren                                         anstoßen
                                                                                                                                                                                                          festlegen
                                                                      Freie Stelle                                                                   Korrektur                          Beschreibung
                                                                       gemeldet                                                                       erbeten                            freigegeben
                             SB Personal




                                                                                            Nein
                                                    Sonstiges




                                                                                                            Aufgaben und
                                                                                                            Anforderungen
                                                                                                               erfragen
                                                                                                                                                                                                                                          Ausschreibung       Stelle
                                                                                                                                                                                                                                            erfolgreich   ausgeschrieben




                                                                                                                                                                                                                                                                                                 Alternative 2


                              Customer                                                                                                            Sales check                                                                Logistics ship                                              Accounting         Customer
                             sends order                                                                                                             order                                                                      goods                                                   send invoice          pays
Very
                                                                                                                                                                                                                                                                                                   important!
                            It depends on who you ask…
                                                                                                                                                                                                                                                               Alternative 1, because it
                                                                                                                                                                                                                                                               contains the details I
                                                                                                                                                                                                                                                               need to know for
                                                                                                                                                                                                                                                               technical
                                                                                                                                                                                                                                                               implementations!



                                                                                                                                                                                                                                                                                                          Management
                                                                                                                                           IT                                                                                                                                Alternative 2, because
                                                                                                                                                                                                                                                                             the other one is way to
                                                                                                                                                                                                                                                                             complicated!
                                                                                                                                                                                                                                            Ausschreibung
                                                                                                                                                                                                                                              erfolgreich
                                                                                                                             Aufgaben und
                            Sonstiges
Führungskraft Fachbereich




                                                                                                                             Anforderungen
                                                                                                                                mitteilen
                                                                                                              Mehr Infos                                                                                                                                        Stelle
                                                                                                              erforderlich                                                                                                                                  ausgeschrieben


                                                                                                                                               Beschreibung
                                                                                                                                                                                     OK?
                                                                                                                                                 erhalten
                            HR-Portal




                                                                                                                                                                      Stellenbe-                                           Stellenbe-
                                                                                  Freie Stelle                                                                                                          Korrektur
                                                                                                                                                                      schreibung              Nein                         schreibung
                                                                                    melden                                                                                                             anmahnen
                                                                                                                                                                        sichten                                             freigeben
                                               Personal-
                                                bedarf                                                                                                                                Ja
                                                              Automatisch




                                                                                                                                                                                                        Ausschreibung        Erfolgsmeldung
                                                                                                                                                                                                         durchführen             senden
                                                                                                                                                                                                                                                       Stelle
                                                                                                                                                                                                                                                   ausgeschrieben
                                          Process Engine

                                                              SB Personal




                                                                                                       Stelle                                                 Stellenbe-
                                                                                                                                                                                   Ausschreibung
                                                                                                    beschreiben                                               schreibung
                                                                                                                                                                                     anstoßen
                                                                                                                                                              korrigieren

                                                                                                                                               Nein
                                                              Führungskraft




                                                                                                                                  Stellenbe-
                                                                                                                                  schreibung            Ja
                                                                                                                                    prüfen
                                                                                                                                               OK?




                                                                                      Alles klar?

                                                                                                                                                                     Stellenbe-
                                                  HR-Portal




                                                                                                                                Stelle                                                                 Kanäle für

                                                                                                                                                                                                                                                                              Customer     Sales                    Accounting
                                                                                                    Ja                                                               schreibung                                         Ausschreibung
                                                                                                                             beschreiben                                                             Ausschreibung
                                                                                                                                                                     korrigieren                                          anstoßen
                                                                                                                                                                                                       festlegen

                                                                                                                                                                                                                                                                                                        Logistics                Customer
                                                                   Freie Stelle                                                                   Korrektur                          Beschreibung
                                                                    gemeldet                                                                       erbeten                            freigegeben
                            SB Personal




                                                                                                                                                                                                                                                                               sends       check                       send
                                                                                         Nein




                                                                                                                                                                                                                                                                                                       ship goods                  pays
                                                                                                                                                                                                                                                                                order      order                      invoice
                                                  Sonstiges




                                                                                                         Aufgaben und
                                                                                                         Anforderungen
                                                                                                            erfragen
                                                                                                                                                                                                                                        Ausschreibung       Stelle
                                                                                                                                                                                                                                          erfolgreich   ausgeschrieben
Business vs. IT? It‘s NOT that simple!
                                                 •Is Expert in BPMN
          •Manages the project                   •Creates Technical Processes etc.
          •Creates/Manages typical               •Plays the main part in process
          project documents                      solution development
                                                 •Knows BPMN best (in IT)

                           •Is Expert in BPMN
       Project Lead        •Creates Process Models                     •Is expert in certain aspect (e.g. GUI)
                           •Links Process Models with                  •Supports Process Engineer if needed
                           other Requirements                          •Creates services / components used
                           •Knows BPMN Best (in                        in process by plain development
•Represents user           Business)
•Knows the solution‘s
                                                                  •Defines Guidelines
purpose best
                                                                  •Is somehow useful :-)
•Can answer any question
about functionality

                                 Process Analyst                           Architect


                                                 Process Engineer                          Developer
 Domain Expert



     Business                                                                                 IT
There is no „best“ model, only appropriate models




Our credits for this analogy go to
Prof. Dr. Jan Mendling,
Humboldt University Berlin
Next Slides are based on „incident management“



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




                          Activiti Showcase
                          http://www.bpm-guide.de/activiti/




Our credits go to
Signavio Process Editor
This is directly executable BPMN 2.0
Some 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">


    The corresponding BPMN 2.0 - XML
   <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"/>
     <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 that‘s
     Here‘s your to-be-
     process, ready to                        models?
                            Huh, looks complicated!
                            Where is the part
     deploy. Could you
     please approve?                              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            But there are parts of
                 decisions are completely        the process (that
                        automated.             concern me) missing!
                     Yes but those parts
                    won‘t be executed by
                     the engine. I cannot
                                                 And what are those
                      model them, they‘d
                   break the technical flow.
                                               steps for then? Nobody    Call Center
                                                   specified them!
                                                                           Agent
      IT           Yes but we need those
                  steps. Otherwise we will
                  get data inconsistencies      Inconti-what!? This is
                   in the process context.     just your coding again,
                                                 and not my process!

                                               I won‘t approve this.
          Ah, F***
            Y**!
This 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 collaborate
It‘s all about collaboration!

                                              Domain Expert




Process
participants                                          Process
                                Process Engineer
                                                      Engine




                Domain Expert
                                                        Domain Expert




Process Analyst                                    Domain Expert
The secret sauce of process modeling




                                      Read a book or take
                                      a training.
      Process Analyst




                                                      Create        Enjoy being a
                                                    appropriate      successful
                                Learn BPMN
                                                      process          Process
                                                     diagrams         Analyst ☺

                                                              Depends on:
                                                              - Your target
                                                                audience
                                                              - what you want
                          No programmer!                        to discuss


Credits:                This highly sophisticated
                        BPMN Diagram was made
                        with the famous BPMN-Tool
                        „Microsoft Powerpoint“
Hands-on-Collaboration: BPMN-Diagrams in JIRA
How to apply BPMN in your company
                     2
•    Domain Experts (Read)                                             1
•    Process Analysts (Create)
                                          Roles
•    Process Engineers (Create)                         • Process Documentation
•    Software Developers (Read)                         • Requirements
                                                          Engineering
                                                        • Supporting SOA




 3
                  Methods
                                        Goals           Tooling

• BPMN
• Modeling Guidelines                                                      4
• UML Use Cases
• UML Class Diagrams                                •   Signavio Process Editor
• Decision Tables                                   •   Excel (Business Rules)
• User Stories + Acceptance                         •   JIRA (Requirements)
Criteria                                  Meta-     •   Wiki (More Info)
                                        Processes   •   Whiteboards
     5   •   Process Discovery                      •   BPMN-Magnets
         •   Process Model QA
         •   Process Design
         •   Requirements Engineering
Appropriate Tooling…
Summary about BPMN experiences

  „BPMN is too complicated for Business“ is NONSENSE
  The key to success are „appropriate diagrams“
  The „single process model“ for both Business and IT is a myth
  Collaboration Diagrams are the most powerful instrument in BPMN
  BPMN is about Communication and not zero-coding
  Introduction of BPMN requires definition of
  − Goals of modeling: What is it all about?
  − Roles: who reads? Who creates?
  − Methods: More than just a matter of symbols!
  − Tooling: The process modeler is just a puzzle piece.
  − Meta-Processes: Not always necessary, but helpful
Let‘s skip the peak (and the trough as well ☺)




      As-Is



                     To-Be
camunda services GmbH
 Vielen Dank!                                          Zossener Str. 55-58
                                                       1096 Berlin
                                                           1
                                                       Telefon: +49 30 664 0409-00
                                                       Telefax: +49 30 664 0409-29
                                                       Email: info@camunda.com




                                    Jakob Freund
                                     Geschäftsführer
                           Jakob.Freund@camunda.com


SOA Symposium
Berlin, October 5th 2010

                                                       Der Praxis-Blog zu BPM:
                                                       www.bpm-guide.de

Weitere ähnliche Inhalte

Mehr von camunda services GmbH

Camunda BPM 7.13 Webinar
Camunda BPM 7.13 WebinarCamunda BPM 7.13 Webinar
Camunda BPM 7.13 Webinar
camunda services GmbH
 

Mehr von camunda services GmbH (20)

Using Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through OperatorsUsing Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through Operators
 
Predictive Process Monitoring in Camunda
Predictive Process Monitoring in CamundaPredictive Process Monitoring in Camunda
Predictive Process Monitoring in Camunda
 
Camunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process AutomationCamunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process Automation
 
Tips on how to build Camunda Run for production
Tips on how to build Camunda Run for productionTips on how to build Camunda Run for production
Tips on how to build Camunda Run for production
 
Process Driven Customer Interaction
Process Driven Customer InteractionProcess Driven Customer Interaction
Process Driven Customer Interaction
 
Exploring Automation in Government
Exploring Automation in GovernmentExploring Automation in Government
Exploring Automation in Government
 
The Pulse of Process Automation
The Pulse of Process AutomationThe Pulse of Process Automation
The Pulse of Process Automation
 
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in UnternehmenBlitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
 
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
 
Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...
 
Camunda BPM 7.13 Webinar
Camunda BPM 7.13 WebinarCamunda BPM 7.13 Webinar
Camunda BPM 7.13 Webinar
 
[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0
 
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
 
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
 
Process Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG BankwareProcess Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG Bankware
 
Process Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss LifeProcess Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss Life
 
Process Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-ITProcess Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-IT
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisen
 
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AGProcess Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
 
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
 

Bpmn experiences

  • 1. BPMN – An experience report Jakob Freund, CEO camunda services GmbH
  • 2. Camunda is a small BPM consulting company Your • BPM Business • BPMN • Agile • BRM camunda Business Consulting Your Your Your Process Process Process Application Application Application camunda IT Consulting
  • 3. Which process model is the better one? Ausschreibung erfolgreich Aufgaben und Sonstiges Führungskraft Fachbereich Anforderungen mitteilen Mehr Infos Stelle erforderlich ausgeschrieben Beschreibung OK? erhalten HR-Portal Stellenbe- Stellenbe- Freie Stelle Korrektur schreibung Nein schreibung melden anmahnen sichten freigeben Personal- bedarf Ja Automatisch Ausschreibung Erfolgsmeldung durchführen senden Stelle ausgeschrieben Process Engine SB Personal Stelle Stellenbe- Ausschreibung beschreiben schreibung anstoßen korrigieren Nein Alternative 1 Führungskraft Stellenbe- schreibung Ja prüfen OK? F Alles klar? Stellenbe- Kanäle für HR-Portal Stelle Ja schreibung Ausschreibung beschreiben Ausschreibung korrigieren anstoßen festlegen Freie Stelle Korrektur Beschreibung gemeldet erbeten freigegeben SB Personal Nein Sonstiges Aufgaben und Anforderungen erfragen Ausschreibung Stelle erfolgreich ausgeschrieben Alternative 2 Customer Sales check Logistics ship Accounting Customer sends order order goods send invoice pays
  • 4. Very important! It depends on who you ask… Alternative 1, because it contains the details I need to know for technical implementations! Management IT Alternative 2, because the other one is way to complicated! Ausschreibung erfolgreich Aufgaben und Sonstiges Führungskraft Fachbereich Anforderungen mitteilen Mehr Infos Stelle erforderlich ausgeschrieben Beschreibung OK? erhalten HR-Portal Stellenbe- Stellenbe- Freie Stelle Korrektur schreibung Nein schreibung melden anmahnen sichten freigeben Personal- bedarf Ja Automatisch Ausschreibung Erfolgsmeldung durchführen senden Stelle ausgeschrieben Process Engine SB Personal Stelle Stellenbe- Ausschreibung beschreiben schreibung anstoßen korrigieren Nein Führungskraft Stellenbe- schreibung Ja prüfen OK? Alles klar? Stellenbe- HR-Portal Stelle Kanäle für Customer Sales Accounting Ja schreibung Ausschreibung beschreiben Ausschreibung korrigieren anstoßen festlegen Logistics Customer Freie Stelle Korrektur Beschreibung gemeldet erbeten freigegeben SB Personal sends check send Nein ship goods pays order order invoice Sonstiges Aufgaben und Anforderungen erfragen Ausschreibung Stelle erfolgreich ausgeschrieben
  • 5. Business vs. IT? It‘s NOT that simple! •Is Expert in BPMN •Manages the project •Creates Technical Processes etc. •Creates/Manages typical •Plays the main part in process project documents solution development •Knows BPMN best (in IT) •Is Expert in BPMN Project Lead •Creates Process Models •Is expert in certain aspect (e.g. GUI) •Links Process Models with •Supports Process Engineer if needed other Requirements •Creates services / components used •Knows BPMN Best (in in process by plain development •Represents user Business) •Knows the solution‘s •Defines Guidelines purpose best •Is somehow useful :-) •Can answer any question about functionality Process Analyst Architect Process Engineer Developer Domain Expert Business IT
  • 6. There is no „best“ model, only appropriate models Our credits for this analogy go to Prof. Dr. Jan Mendling, Humboldt University Berlin
  • 7. Next Slides are based on „incident management“ BPMN 2.0 by Example http://www.omg.org/cgi-bin/doc?dtc/10-06-02 Activiti Showcase http://www.bpm-guide.de/activiti/ Our credits go to Signavio Process Editor
  • 8. This is directly executable BPMN 2.0
  • 9. Some Details depend on your BPM platform
  • 10. <?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"> The corresponding BPMN 2.0 - XML <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"/> <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>
  • 11. Business-IT-Alignment with executable that‘s Here‘s your to-be- process, ready to models? Huh, looks complicated! Where is the part deploy. Could you please approve? 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 But there are parts of decisions are completely the process (that automated. concern me) missing! Yes but those parts won‘t be executed by the engine. I cannot And what are those model them, they‘d break the technical flow. steps for then? Nobody Call Center specified them! Agent IT Yes but we need those steps. Otherwise we will get data inconsistencies Inconti-what!? This is in the process context. just your coding again, and not my process! I won‘t approve this. Ah, F*** Y**!
  • 12. This 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?
  • 13. The User and the Solution collaborate
  • 14. It‘s all about collaboration! Domain Expert Process participants Process Process Engineer Engine Domain Expert Domain Expert Process Analyst Domain Expert
  • 15. The secret sauce of process modeling Read a book or take a training. Process Analyst Create Enjoy being a appropriate successful Learn BPMN process Process diagrams Analyst ☺ Depends on: - Your target audience - what you want No programmer! to discuss Credits: This highly sophisticated BPMN Diagram was made with the famous BPMN-Tool „Microsoft Powerpoint“
  • 17. How to apply BPMN in your company 2 • Domain Experts (Read) 1 • Process Analysts (Create) Roles • Process Engineers (Create) • Process Documentation • Software Developers (Read) • Requirements Engineering • Supporting SOA 3 Methods Goals Tooling • BPMN • Modeling Guidelines 4 • UML Use Cases • UML Class Diagrams • Signavio Process Editor • Decision Tables • Excel (Business Rules) • User Stories + Acceptance • JIRA (Requirements) Criteria Meta- • Wiki (More Info) Processes • Whiteboards 5 • Process Discovery • BPMN-Magnets • Process Model QA • Process Design • Requirements Engineering
  • 19. Summary about BPMN experiences „BPMN is too complicated for Business“ is NONSENSE The key to success are „appropriate diagrams“ The „single process model“ for both Business and IT is a myth Collaboration Diagrams are the most powerful instrument in BPMN BPMN is about Communication and not zero-coding Introduction of BPMN requires definition of − Goals of modeling: What is it all about? − Roles: who reads? Who creates? − Methods: More than just a matter of symbols! − Tooling: The process modeler is just a puzzle piece. − Meta-Processes: Not always necessary, but helpful
  • 20. Let‘s skip the peak (and the trough as well ☺) As-Is To-Be
  • 21. camunda services GmbH Vielen Dank! Zossener Str. 55-58 1096 Berlin 1 Telefon: +49 30 664 0409-00 Telefax: +49 30 664 0409-29 Email: info@camunda.com Jakob Freund Geschäftsführer Jakob.Freund@camunda.com SOA Symposium Berlin, October 5th 2010 Der Praxis-Blog zu BPM: www.bpm-guide.de