Process Modeling PDF

Summary

These are Process Modeling lecture notes on Process Modeling. The notes cover the BPM lifecycle, and business process modeling notation (BPMN).

Full Transcript

Process Modeling Moritz Maier  Bern University of Applied Sciences | Industrial Engineering and Management BPM Lifecycle Management Processes...

Process Modeling Moritz Maier  Bern University of Applied Sciences | Industrial Engineering and Management BPM Lifecycle Management Processes Define Vision Develop Strategy Implement Manage Risk Process Strategy Core Processes Manage Identification Procure Procure Market Deliver Customer Materials Products Products Products Service Support Processes Manage Manage Personnel Information Manage Assets Conformance Process and Performance AS-IS Process Model for BPM lifecycle and process mining Discovery 35h B 30h 15h A E D 5m 3m 5m 10m 30m 2h 10m C 15m 1.5h 10min Process Process A B C D E Monitoring Analysis Executable Insights on weaknesses Process Model and their impact Process Process Implementation Redesign TO-BE Process Model Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 2 Business Process Model and Notation (BPMN)  OMG standard  Suitable for capturing models for process discovery, analysis, and implementation  Supported by numerous tools, incl.  Signavio (academic version: academic.signavio.com)  Camunda Modeler – Based on Signavio (academic version modeler.cloud.camunda.io) Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier BPMN Top-Down View… A BPMN process model is a graph consisting of four types of core elements: start end activity event gateway sequence flow Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Let’s start modeling Order-to-cash An order-to-cash process is triggered by the receipt of a purchase order from a customer. Upon receipt, the purchase order has to be checked against the stock to determine if the the requested item(s) are available. Depending on stock availability the purchase order may be confirmed or rejected. If the purchase order is confirmed, an invoice is emitted and the goods requested are shipped. The process completes by archiving the order. Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Let’s start modeling – break it down Order-to-cash  An order-to-cash process is triggered by the receipt of a purchase order from a customer.  Upon receipt, the purchase order has to be checked against the stock to determine if the the requested item(s) are available.  Depending on stock availability the purchase order may be confirmed or rejected.  If the purchase order is confirmed, an invoice is emitted and the goods requested are shipped. The process completes by archiving the order. Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Let’s start modeling – break it down Order-to-cash  An order-to-cash process is triggered by the receipt of a purchase order from a customer.  Upon receipt, the purchase order has to be checked against the stock to determine if the the requested item(s) are available.  Depending on stock availability the purchase order may be confirmed or rejected.  If the purchase order is confirmed, an invoice is emitted and the goods requested are shipped. The process completes by archiving the order. Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier BPMN Model Order-to-cash Check stock availability Purchase order received Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 8 Let’s start modeling – break it down Order-to-cash  An order-to-cash process is triggered by the receipt of a purchase order from a customer.  Upon receipt, the purchase order has to be checked against the stock to determine if the the requested item(s) are available.  Depending on stock availability the purchase order may be confirmed or rejected.  If the purchase order is confirmed, an invoice is emitted and the goods requested are shipped. The process completes by archiving the order. Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier BPMN Model Order-to-cash end activity Reject order event Items not in Order stock rejected Check stock split gateway end availability Purchase event order Items in received stock Confirm Emit Archive Ship goods start order invoice order Order event fulfilled Naming conventions  Event: noun + past-participle verb (e.g. insurance claim lodged)  Activity: verb + noun (e.g. assess credit risk) Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 10 Execution of a process model The “token game” Order #1 Order #2 Order #3 Reject order Items not in Order stock rejected Check stock availability Purchase order Items in received stock Confirm Emit Archive Ship goods order invoice order Order fulfilled Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 11 A little bit more on events… A start event triggers a new process instance start by generating a token that traverses the event sequence flow (“tokens source”) An end event signals that a process instance has end completed with a given outcome by consuming event a token (“tokens sink”) Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 12 Order-to-cash example revisited… […] If the purchase order is confirmed, an invoice is emitted and the goods requested are shipped (in any order). The process completes by archiving the order. […] Reject order Items not in Order stock rejected Check stock availability Purchase order Items in received stock Confirm Emit Archive Ship goods order invoice order Order fulfilled Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 13 First try Order-to-cash Reject order Items not in Order stock rejected Check stock availability split Emit invoice Purchase order Items in received stock Confirm Emit Archive Ship goods order invoice order Order fulfilled split join Ship goods Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 14 A little more on gateways: XOR Gateway An XOR Gateway captures decision points (XOR- split) and points where alternative flows are merged (XOR-join) condition XOR-split ➔ takes one outgoing branch ¬ condition XOR-join ➔ proceeds when one incoming branch has completed Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 15 Example: XOR Gateway Invoice checking process Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 5 A little more on gateways: AND Gateway An AND Gateway provides a mechanism to create and synchronize “parallel” flows. AND-split ➔ takes all outgoing branches AND-join ➔ proceeds when all incoming branches have completed 17 Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Example: AND Gateway Airport security check Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 18 Revised order-to-cash process model Reject order Items not in stock Order rejected Check stock availability XOR-split Send invoice Purchase order Items in received stock Archive Confirm order order Order AND-split AND-join fulfilled Ship goods Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 19 Between XOR and AND Order distribution process A company has two warehouses that store different products: Amsterdam and Hamburg. When an order is received, it is distributed across these warehouses: if some of the relevant products are maintained in Amsterdam, a sub-order is sent there; likewise, if some relevant products are maintained in Hamburg, a sub-order is sent there. Afterwards, the order is registered and the process completes. Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 20 Solution 1 Order distribution process XOR-split XOR-join AND-split AND-join Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 21 Solution 2 Order distribution process AND-split AND-join XOR-split XOR-join Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 22 OR Gateway An OR Gateway provides a mechanism to create and synchronize n out of m parallel flows. cond1 OR-split ➔ takes one or more branches condn depending on conditions OR-join ➔ proceeds when all active incoming branches have completed 23 Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Solution using OR Gateway Order distribution process Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 24 What join type do we need here? Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 25 Beware: Beginner’s Mistake… Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Guidelines: Naming Conventions 1. Give a name to every event and task 2. For tasks: verb followed by business object name and possibly a complement  Issue Driver Licence, Renew Licence via Agency 3. For message events: object + past participle  Invoice received, Claim settled 4. Avoid generic verbs such as Handle, Record… 5. Label each XOR-split with a condition  Policy is invalid, Claim is inadmissible Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Poll: Which model do you prefer (and why)? Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier One more guideline… Model in blocks  Pair up each AND-split with an AND-join and each XOR-split with a XOR-join, whenever possible  Exception: sometimes a XOR-split leads to two end events – different outcomes (cf. order management example) Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Exercise Address ministerial correspondence In the minister’s office, when a ministerial inquiry has been received, it is registered into the system. Then the inquiry is investigated so that a ministerial response can be prepared. The finalization of a response includes the preparation of the response itself by the cabinet officer and the review of the response by the principal registrar. If the registrar does not approve the response, the latter needs to be prepared again by the cabinet officer for review. The process finishes only once the response has been approved. XOR-join: entry point XOR-split: exit point Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Quick Note: Implicit vs. explicit gateways A A C = C B B B B A = A C C Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 31 How this process starts? How it ends? Collect Sort mail mail New mail Document arrived requisition Not compiled Check acceptable Compile Register mail for document mail compliance requisition Document New email Acceptable response arrived prepared Prepare Capture document matter details response Physical file printed Capture party Print Pay fee details physical file Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 32 What’s wrong with this model? How to fix it? X Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Process Modeling Viewpoints What? Tasks & Events Who? Lanes & Pools When? Flows Gateways Which? Data Objects, Stores Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Organizational Elements in BPMN – Pools & Lanes Pool Captures a resource class. Generally used to model a business party (e.g. a whole company) Pool Lane A resource sub-class within a pool. Generally used to model departments (e.g. shipping, finance), internal roles (e.g. Manager, Associate), software systems (e.g. ERP, CRM) Lane Pool Lane Lane Lane Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 35 Organizational Elements in BPMN – Pools & Lanes 36 Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Message Flow A Message Flow represents a flow of information between two process parties (Pools) Message A Message Flow can connect:  directly to the boundary of a Pool ➔ captures an informative message to/from that party  to a specific activity or event within that Pool ➔ captures a message that triggers a specific activity/event within that party Pool 2 Pool 2 Receive Pool 1 Pool 1 Send Receive Send 37 Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Order-to-cash process with a black-box customer pool Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 38 Pools, Lanes and Flows: syntactic rules  A Sequence Flow cannot cross the boundaries of a Pool (message flows can)  Both Sequence Flow and Message Flow can cross the boundaries of Lanes  A Message Flow cannot connect two flow elements within the same pool Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Modeling Good Practice…  Start modeling with one single “white-box” pool  Initially, put the events and tasks in only one pool – the pool of the party who is running the process  Leave all other pools “black-boxed”  Once you have modeled this way, and once the process diagram inside the white- box pool is complete, you can model the details (events and tasks) in the other pools if that is useful. Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier Components of a modeling language - Vocabulary  Vocabulary: set of modeling elements of the Modeling Language language (BPMN: activities, gateways, events…) Vocabulary  Syntax: set of rules to govern how these elements can be combined (BPMN: start events only have outgoing sequence flows whereas end events only have Syntax Semantics Notation incoming sequence flows).  Semantics: bind these elements, including their textual descriptions, to a precise meaning (in BPMN: activities model something actively performed during the business process, while XOR gateways model exclusive decisions and simple merging points).  Notation: set of graphical symbols for the visualization of the elements (in BPMN: labelled rounded boxes to depict activities and the circles with a thin border to depict start events). Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 41 Exercise: Loan application Model the following fragment of a business process for assessing loan applications: Once a loan application is received by the loan provider, and before proceeding with its assessment, the application itself needs to be checked for completeness. If the application is incomplete, it is returned to the applicant, so that they can fill out the missing information and send it back to the loan provider. This process is repeated until the application is found complete. Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 42 Process Modeling Viewpoints What? Tasks & Events Who? Lanes & Pools When? Flows Gateways Which? Data Objects, Stores Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier BPMN Information Artifacts A Data Object captures an artifact required Purchase Invoice (input) or produced (output) by an activity. order  Can be physical or electronic Emit invoice A Data Store is a place containing data objects that must be persisted beyond the Oracle CRM Client info duration of a process instance. Retrieve client information It is used by an activity to store (as output) or retrieve (as input) data objects. Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 44 Order-to-cash process, again Send invoice Confirm Archive Items in order order stock Order fulfilled Check stock Ship goods availability Purchase order Items not in received stock Reject order Order rejected The purchase order document serves as an input to the stock availability check. Based on the outcome of this check, the status of the document is updated, either to “approved” or “rejected”. If the order is approved, an invoice and a shipment notice are produced. Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 45 Model with information artifacts Purchase Invoice Order Purchase Purchase Purchase Send Order Order Order invoice [checked] Confirm Archive Items in order order stock Order fulfilled Check stock Ship goods availability Purchase order Items not in received stock Reject order Order Orders DB rejected Purchase Shipment Order notice Warehouse DB Beware: This diagram is too detailed. It is for Purchase Purchase illustration purposes. Order Order [rejected] [approved] In practice, try to model the most important data objects and associations. Keep the model readable. Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 46 Exercise: Missing Data Are there any missing data objects or data stores in the example? Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 47 BPMN Text Annotations Text Annotations are a mechanism to provide additional text information to the model reader  Doesn’t affect the flow of tokens through the process Includes packaging For blocked invoices Clear vendor Ship goods line items Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 48 Start Message Event The start message event triggers a process by the receipt of a message when an incoming message flow is connected to the event Message Message received Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 49 Process decomposition Large Models are …  … harder to understand  … more likely of having syntactic mistakes  … more likely to have deadlocks Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 50 Process decomposition An activity in a process can be decomposed into a “sub-process” Expanded Sub-process Collapsed Task Sub-process Activities Use this feature to:  Improve understanding by breaking down large models  Identify parts that should be:  repeated  executed multiple times in parallel  interrupted, or  compensated Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 51 Example: Sub Process Invoice Process Process received Invoice Payment Process Invoice no mismatches Enter Invoice / Check Invoice Credit Note Mismatches Details mismatch exists Block Invoice Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 52 Exercise: identify possible Sub Processes Acquire raw materials Ship and invoice Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 53 Solution Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 54 Refactored Process Model Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 55 Order of Messages via Sub Processes The expanded subprocess for “Activity” Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 56 Modeling process hierarchies Process Receive and Level 3 Inquiry and Validate... Quote Order Level 4 Enter Order Check Credit... Order received Clear Order Credit Level 5 Check Credit Record available... Contact customer Credit not available account rep. Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier (Fragment of the SCOR reference model) 57 Value Chain Modeling Chain of (high-level) processes an organization performs in order to achieve a business goal, e.g. deliver a product or service to the market. Business process “is predecessor of” Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 58 Linking Value Chains with Process Models Process model for this process is available Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 59 When should we decompose? Use sub-processes when the model becomes too large:  Hard to understand  Increased error probability Level 1 – start with value chain Level 2 – add main decisions and handoffs (lanes) Level 3+ – add procedural aspects:  Parallel gateways  Data objects, data stores  Exception handling  And as much detail as is relevant Decomposition drivers:  Logical: group elements meaningfully (e.g. common business object)  Structural: up to 30 nodes (activities, events, gateways) Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 60 Process Reuse By default, sub-processes are “embedded” into its parent process (i.e. stored within the same file) In order to maximize reuse, it is possible to “extract” a sub-process and store it as a separate file in the process model repository Such a sub-processes are called “global” model, and are invoked via a “call” activity (normal) Call activity activity Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 61 Process Reuse Call activity is the default choice to maximize reusability Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 62 Syntax: Sub Processes Sequence flows cannot cross sub-process boundaries  Use start/end events Message flows can cross sub-process boundaries  To indicate messages emanating from/incoming into the sub-process Start with at least one start event  If multiple, first occurring will trigger the sub-process Finish with at least one end event  The sub-process will complete once all tokens have reached an end event. May need an (X)OR-split after sub-process to understand what end event(s) have been reached Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 63 Example: sub-process with multiple end events Quote-to-Order Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 64 Recap  BPMN activities capture units of work in a process  Events define the start and end of a process, and signal something that happens during the execution of it  Gateways model exclusive and inclusive decisions, merges, parallelism and synchronization, and repetition  A process model depicts all the possible ways a given business process can be executed, while a process instance captures one specific process execution out of all possible ones  Data objects capture a physical or digital business object required to execute an activity or trigger an event, or that results from the execution of an activity or an event occurrence  Pools generally model resource classes while lanes are used to partition pools  Sub-processes represent activities that can be broken down in a number of internal steps, as compared to tasks, which capture single units of work Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 65 Sources This course is based on:  M. Dumas, M. La Rosa, J. Mendling and H. Reijers, Fundamentals of Business Process Management, 2nd edition, Springer, 2018; Bern University of Applied Sciences | Industrial Engineering and Management | Moritz Maier 66

Use Quizgecko on...
Browser
Browser