Скачать презентацию Introduction to BPMN Why Do We Need Скачать презентацию Introduction to BPMN Why Do We Need

78a52511a8e922fe51024a459daa69fe.ppt

  • Количество слайдов: 49

Introduction to BPMN Introduction to BPMN

Why Do We Need BPMN? Standard communication language § Reuse/availability of knowledge, resources, tools Why Do We Need BPMN? Standard communication language § Reuse/availability of knowledge, resources, tools § Consolidate models § … Graphical notation § A picture is worth a thousand words! § But you cannot draw a picture for any thousand words! 2

What Is BPMN? BPMN stands for Business Process Modeling Notation. BPMN provides a standardized What Is BPMN? BPMN stands for Business Process Modeling Notation. BPMN provides a standardized language that is readily understandable by all stakeholders § Business analysts that create the initial drafts of the processes; § Excellence people who monitor and optimize those processes; § Developers responsible for implementing systems. BPMN defines business process modeling diagram, its symbols, their meaning and composition rules. 3

BPMN Scope BPMN will be constrained to support only the concepts of modeling that BPMN Scope BPMN will be constrained to support only the concepts of modeling that are applicable to business processes. BPMN does NOT cover: § § § Organizational structures and Resources Functional breakdowns Data and information models Strategy Business Rules These can be covered in additional textual documents. 4

BPMN Elements The four basic categories of BPMN elements are: 1) Flow Objects § BPMN Elements The four basic categories of BPMN elements are: 1) Flow Objects § Event, activity, gateway 2) Connecting Objects § Sequence flow, message flow, association 3) Swimlanes § Pool, lane 4) Artifacts § Data object, group, annotation 5

Events An event is something that “happens” during the process These events affect the Events An event is something that “happens” during the process These events affect the flow of the process and usually have a cause (trigger) or an impact (result) There are three main types of events, based on when they affect the flow: start, intermediate, and end § Events can be further specialized by trigger/result type: timer, message, link, cancel, error, terminate, … § Examples: “E-mail received”, “ 3 o’clock”, “Warehouse empty”, “Critical error”, . . . 6

Notation for Major Event Types Message § Arrives from a participant and causes the Notation for Major Event Types Message § Arrives from a participant and causes the process to continue if it was waiting for the message, or changes the flow for exception handling Timer § A specific time-date or a specific cycle (e. g. , every Monday at 9 am) can be set or it can be used within the main flow to act as a delay mechanism Error § Used for error handling – both to set (throw) and to react to (catch) errors. Cancel § Used for canceling a task or subprocess, and should always be attached to the boundary of activity Link § A mechanism for connecting end of one process to the start or intermediate event of another process Terminate § Immediately ends all the activities in the process 7

Activities An activity is a generic term of work that company performs. An activity Activities An activity is a generic term of work that company performs. An activity can be atomic (task) or non-atomic (compound) The types of activities are: process, sub-process, and task Processes are contained in the pool (one per pool) § Examples: “Send a letter”, “Write a report”, “Calculate the interest”, . . . Task/sub-process special attributes § § Looping Ad Hoc Multiple instances Compensation 8

Notation for Major Activity Types Modelers can use additional annotations to differentiate: § § Notation for Major Activity Types Modelers can use additional annotations to differentiate: § § Reusable processes vs. internal process Human tasks vs. automated tasks (service tasks) Risk points … 9

Expanded Sub-process vs. Collapsed Sub-process Modelers can visualize sub-process activities on the parent process Expanded Sub-process vs. Collapsed Sub-process Modelers can visualize sub-process activities on the parent process diagram inside the sub-process symbol. § Showing the details of a process with another business process diagram is more common § Expanding details should be used only for internal sub-processes § Reusable sub-processes should always be visualized as collapsed 10

Gateways A gateway is used to control the divergence and convergence of sequence flow Gateways A gateway is used to control the divergence and convergence of sequence flow – it will determine branching, merging, splitting and joining of paths § Examples: “Condition true? ”, “Choose color”, . . . 11

Artifacts are used to provide additional information about the process. Types of artifacts: data Artifacts are used to provide additional information about the process. Types of artifacts: data object, annotation, group § Examples: “A letter”, “E-mail message”, “XML document”, . . . 12

Connecting Objects Sequence Flow is used to show the order that activities are performed Connecting Objects Sequence Flow is used to show the order that activities are performed in a process Message Flow is used to show the flow of messages between two entities that are prepared to send and receive them. Association is used to associate information and artifacts with flow objects. 13

Lanes and Pools A Pool represents a Participant in the Process § specific business Lanes and Pools A Pool represents a Participant in the Process § specific business entity – e. g, a company § a more general business role – e. g. , a buyer, seller, or manufacturer A lane is a sub-partition within a Pool. Lanes are often used for § Internal roles (e. g, manager, associate) § Systems (e. g. . , an enterprise application) § Internal departments (e. g. , sales, shipping) 14

Lanes and Pools Sample 15 Lanes and Pools Sample 15

A Minimal Subset of BPMN Elements for Modeling Workflows 16 A Minimal Subset of BPMN Elements for Modeling Workflows 16

Naming Conventions Uniqueness § § Every name should be unique (e. g. having two Naming Conventions Uniqueness § § Every name should be unique (e. g. having two elements with same name on the diagram means, that the same element is used multiple times) Start name with the unique identifier – upper-case letter denoting element type [P|T|S|E|G|D] + sequence number (e. g. “G 01 Eligible? “) Naming Activities § Verb + (adjective/descriptor) + noun (e. g. Verify Account) Naming Gateways and Flows § § Question (e. g. “Account Eligible? ”) Answer to the question of Gateway for given outgoing Flow (e. g. “Yes”) Naming Events § Message Name | Date / Duration | Error Name (e. g. Change Request, 1 Week, Authorization Error) Naming Data Objects § Singular Noun (e. g. Loan Application, Loan Agreement) General Considerations § § Names should not be too long – avoid longer than 5 word names Names should be in English – avoid local alphabet characters and special characters Avoid redundancy in naming (e. g. , do not include the word Process in the Process name) If name consists of several words, use English title capitalization rules 17

Organizing Business Process Models Processes should be organized by the business functions Example business Organizing Business Process Models Processes should be organized by the business functions Example business functions for organizing processes: § Customer Interactions – Channels, Operational CRM, Operational Risk Management, . . . § Business Lines – Payments, Financing, Lending, Investment Management, Markets, . . . § Control & Management – Business Intelligence & Business Development, Risk Management, Resource Management & Support (administration, HR, IT), . . . Business process model versions should be tracked § Major versions are published versions § Minor versions are corrections for major versions Business process versions should contain § Top-level diagram – shows the main end-to-end flow and external entities, and § Several levels of more detailed diagrams § Textual document(s) describing process details 18

Modeling Guidelines Processes begin with triggering start event(s), and work their way through to Modeling Guidelines Processes begin with triggering start event(s), and work their way through to significant business results represented by ending event(s) Use intermediate § Timer events for waiting for external events § Empty events for denoting states of process or involved data objects § Message events for responses from external entities A complete model should display data objects used or produced by the activities Avoid too many process elements – use a hierarchy of sub-processes to hide details Keep registry of main model elements § Processes, Sub-Processes, Roles (Pools), Tasks, Gateways (Business Rules), Data Objects 19

Using Pools and Lanes Use pools for participants in the process (roles) Whole process Using Pools and Lanes Use pools for participants in the process (roles) Whole process is in one pool (pools can be connected only with message flows) Use lanes within a pool to organize activities + + + 20

Best Practices Make your diagrams valid – BPMN has rules, follow them Make the Best Practices Make your diagrams valid – BPMN has rules, follow them Make the important information visible in the diagram § Label everything that needs to be referred § Show exception handling logic explicitly Use tasks to represent work Specify task types: § User (human) task § Service (automated) task Don’t use tasks to route work between roles § Sequence flows route work to different swimlane 21

Best Practices (cont. ) Reserve the verbs “Send” and “Receive” for activities that deal Best Practices (cont. ) Reserve the verbs “Send” and “Receive” for activities that deal with messages (signals to and from external entities) Use gateways to represent routing logic § Gateways do not perfrom work! Avoid multiple start event Use multiple end events (in sub-processes) to classify end states (e. g. Success and Failure) § Succeed the sub-process with the gateway with the outbound flows with same labels as end events Use subprocesses to scope events (for exception handling) 22

Some BPMN Rules • A single start point in each process • No “black Some BPMN Rules • A single start point in each process • No “black hole” activities without outgoing sequence flows • No “miracle” activities without incoming sequence flows • Each sequence flow going from exclusive data-based OR gateway should be named by condition • Each sequence flow going from exclusive event-based OR gateway should be connected to event • Each activity should have only one outgoing sequence flow (not counting flows from attached events) … 23

Some BPMN Style Conventions Always use gateways for choosing between alternative sequence flows or Some BPMN Style Conventions Always use gateways for choosing between alternative sequence flows or splitting an activity Main sequence flow of activities should be § from left to right § from top to bottom ü Avoid "slalom" Clearly visualize the primary scenario § Leave alternative branches on the sides Limit your BPM diagrams to 5 2 activities § Use grouping and decomposition to visualize complex processes Focus on only the most important artifacts § Putting too much emphasis on data objects makes sequence flow obscure 24

BPMN Patterns: Resources 1. Workflow patterns from Stephen A. White paper “Process Modeling Notation BPMN Patterns: Resources 1. Workflow patterns from Stephen A. White paper “Process Modeling Notation and Workflow Patterns” • Available from http: //www. bpmn. org/ 2. BPMN patterns from Bruce Silver article series “BPMN and the Business Process Expert” • Available from https: //www. sdn. sap. com/irj/sdn/wiki? path=/display/BPX/Process+M odeling+with+BPMN+Article+Series 25

Workflow Pattern – Sequence A series of activities connected by sequence flows § This Workflow Pattern – Sequence A series of activities connected by sequence flows § This is the simplest and the most common pattern 26

Workflow Pattern – Parallel Split Allows to perform activities concurrently, rather than serially A Workflow Pattern – Parallel Split Allows to perform activities concurrently, rather than serially A single path through the process is split into two or more paths so that multiple activities will start at the same time § The concurrent behavior starts after the AND-split 27

Workflow Pattern – Synchronization Combines the paths that were generated by a Parallel Split Workflow Pattern – Synchronization Combines the paths that were generated by a Parallel Split The final set of activities within the flows must be completed before the process can continue § The process behavior gets back to sequential after the AND-merge 28

Workflow Pattern – Exclusive Choice The flow is “split” into two or more exclusive Workflow Pattern – Exclusive Choice The flow is “split” into two or more exclusive alternative paths Only one of the alternative paths may be chosen to continue § One of the flows going from the OR-merge is activated based on data § Typically, it is used in combination with the OR-split pattern 29

Workflow Pattern – Simple Merge A set of alternative paths is joined into a Workflow Pattern – Simple Merge A set of alternative paths is joined into a single path § After the OR-join the activities are not based on conditions 30

Workflow Pattern – Discriminator Another way of combining paths generated from a Parallel Split Workflow Pattern – Discriminator Another way of combining paths generated from a Parallel Split The point where a set of parallel flows come back together § Only the first incoming flow is passed through the Discriminator OR-merge 31

Workflow Pattern – Arbitrary Cycles Allows sections of a process to be repeated in Workflow Pattern – Arbitrary Cycles Allows sections of a process to be repeated in a loop § A gateway controls whether to repeat a section or to continue 32

Workflow Pattern – Implicit Termination • Allows a specific path of a process to Workflow Pattern – Implicit Termination • Allows a specific path of a process to be concluded without ending other parallel paths § This is opposed to some notations that required the whole process to end when any end node is reached § All BPMN End Event types except Terminate end just one path 33

Workflow Pattern – Multi-Instance Describes that a specific activity can be instantiated a known Workflow Pattern – Multi-Instance Describes that a specific activity can be instantiated a known number of times in parallel § The further step needs synchronization, i. e. all activity instances should end for the process to continue with the subsequent activity 34

Workflow Pattern – Loop Allows to repeat activity sequentially for a number of times Workflow Pattern – Loop Allows to repeat activity sequentially for a number of times § After the last copy of activity is done the process can continue 35

Workflow Pattern – Deferred Choice Represents a type of exclusive decision that is based Workflow Pattern – Deferred Choice Represents a type of exclusive decision that is based on an event that occurs during the process § Once the event occurs (i. e. , the choice is made), then the other alternative paths will be disabled 36

Workflow Pattern – Cancel Activity Describes two competing activities § When one of the Workflow Pattern – Cancel Activity Describes two competing activities § When one of the activities completes, the other activity should stop 37

Timer and Message Event Patterns 38 Timer and Message Event Patterns 38

Attached Event Pattern Attached event means if the event occurs, interrupt the activity and Attached Event Pattern Attached event means if the event occurs, interrupt the activity and proceed on exception flow § If activity completes before the event occurs, take the normal flow 39

Multiple Start Events Pattern Starts the process differently based on the received event § Multiple Start Events Pattern Starts the process differently based on the received event § The start point is followed by event-based gateway, which is followed by multiple possible events 40

Internal Business Error Pattern The exception is detected internally by logic in a process Internal Business Error Pattern The exception is detected internally by logic in a process activity that completes normally but with a bad business result § Simply follow that activity with a gateway that tests the business result § One branch out of the gateway leads to the happy path, and the other branch leads to the exception path 41

Timeout Exception Pattern A second common exception is when a process activity is not Timeout Exception Pattern A second common exception is when a process activity is not completed by a particular date/time or after specified duration § This is timeout exception pattern based on an attached timer event § In an attached timer event, the clock starts when the activity is first enabled § If the activity completes before that duration expires, the normal flow out of the activity is enabled § If not, the activity is aborted and the flow out of the timer event is enabled 42

System Fault Pattern • A system fault means the process activity cannot complete successfully System Fault Pattern • A system fault means the process activity cannot complete successfully because of a technical problem § It is not the same as completing with a bad business result § Typically system faults are exceptions on automated activities, or in BPMN parlance, service tasks • An error intermediate event attached to a service task indicates the system fault pattern 43

Unsolicited External Business Exception Pattern Uses an attached message event, which catches the signal Unsolicited External Business Exception Pattern Uses an attached message event, which catches the signal from the external entity § If the exception signal occurs while the activity it is attached to is running, the activity is aborted and processing continues on the exception flow 44

Solicited Response Exception Pattern An event gateway pauses the process to wait for a Solicited Response Exception Pattern An event gateway pauses the process to wait for a response § The normal response on one gate represents the happy path § An exception response, such as item out of stock, could be placed on another gate to define the exception path § No response at all within a specified timeout interval would be modeled as a timer event 45

How Can We Benefit from BPMN Modeling Tool? • Repository of reusable model artifacts How Can We Benefit from BPMN Modeling Tool? • Repository of reusable model artifacts • Visualize in appropriate level of details • Validate models for completeness and correctness • Process simulation • Process documentation reports • Incremental development and process optimization • Teamwork for modeling and maintaining large systems … 46

AS IS vs. TO BE Business Processes Typically, business process should be modeled in AS IS vs. TO BE Business Processes Typically, business process should be modeled in two version § AS IS version – defines the existing process and points out the inefficient places that need to be improved § TO BE version – define the proposed new process, which includes improved (automated or reordered) parts Typically, modelers differentiate AS IS from TO BE either by § Keeping processes in different places in model repository § Using different colors § Using graphical icon annotations 47

Top-Down vs. Bottom-Up Modeling Approach Top-down approach should be preferred for new processes § Top-Down vs. Bottom-Up Modeling Approach Top-down approach should be preferred for new processes § Begin with describing the process at a high level by defining main activities (sub-processes) § Then describe sub-processes where needed Bottom-up approach is useful for analysis of existing processes § Describe the process in details as it is § Then generalize and group activities into sub-processes + + + 48

The End Questions? 49 The End Questions? 49