Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.

Similar presentations


Presentation on theme: "© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University."— Presentation transcript:

1 © Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University Atlanta, GA Session 6: Additional hints on BPMN modeling

2 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 Suggestion 1 Before starting to draw the process model Clearly identify the customer of the process Clearly state the name of the process and be clear about its scope Identify what triggers (starts) the process and what the normal result is Identify any activities that are out-of-scope of the process In other words … The process owner has no control over how these activities are done These will be external services Then draw your pools (customer, process, external services) And the start event and what triggers it (e.g., message from the client) 2

3 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 3 Suggestion 2: Label everything One of BPMN’s objectives is to communicate (to a variety of audiences) Therefore, l abel everything: Sub-processes (make the names meaningful) Conditional gateways (both the gateway “question” and the paths) Events (including start/end where useful; particularly multiple ends) Messages (the content of flows sent to other pools) Use annotation shapes where there’s potential ambiguity

4 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 4 Suggestion 3: Use verb-noun for tasks Label activities as Verb-Noun (you’ve heard this before ) Action taken (verb) Thing the action is taken on (noun) Avoid “wishy-washy” names (e.g. perform, process, handle, transform) i.e., be precise Examples Good … Check credit Approve request Poor … Claims processing Compliance Handle claim

5 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 5 Suggestion 4: Let sequence flow do work Don’t use a task to do the work of a sequence flow Send/receive should be used *only* for messages going from/to *outside* the process

6 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 Suggestion 5: Use appropriate split/merge Remember and use the appropriate forms of merge when splitting X-OR  X-OR or Task OR  OR AND  AND (Task may or may not be legal) Event Gateway  X-OR If splitting from a task directly: No conditional “diamond” means always take this path Conditional “diamond” on path means just that; must label the condition Conditional path split acts like an “OR” gateway so use the appropriate merge 6

7 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 Suggestion 6: Decompostion In nearly every form of professional modeling there’s a means for aggregating details In BPMN this is the sub-process Applies when there’s a set of 2+tasks that: Are performed within the same role (swimlane) Have a single starting and normal end point Have a common purpose (and name) For example: Credit-Check, Order Validation Two kinds: Embedded/reference (not intended to be reused) Independent (separately defined, modeled and maintained – reused or intended for re-use) 7

8 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 Catching common errors A pool must have one and only one start event No sequence lines allowed into a start event Intermediate events must have one and only one flow line in and one and only one out X-OR gateways must have the question it answers stated (and all flows out with “answers”) OR gateways and conditional flows out of tasks must have all paths out labeled with condition You can only communicate between pools with message flows (not sequence flows) All tasks must have at least one sequence flow in and out Don’t use tasks to describe sequence flow behavior (e.g., “Go back and re-calculate quote”) 8

9 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 More on subprocesses Used for (and useful for): De-cluttering your diagram (decomposition) Grouping a set of tasks/gateways within a swimlane Replace with one sub-process An event whose effect spans multiple activities Put the event on the sub-process boundary If it occurs it will halt whatever is going on within the sub- process and take the external branch you show A prospective “service” A collection of activities could be an independent service Might initially show it as a subprocess (As-Is model) Could then be a service in the To-Be model 9

10 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 10 How to do it … Develop first-cut, main process (start-end) Look for collections of activities that have a common goal (single start-end) Use collapsed sub-processes for those aspects your process will directly control Consider … Could group and call it “Create PO”

11 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 How to do it (II) … Should it be an embedded or external sub- process? Will it be re-used or independently modified? Is it a candidate “service” (another reuse form)? Either way, we’ll have to “cut and paste” Select for cut … 11

12 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 How to do it (III) … Cut then put a sub-process in place of the cut And paste the “cut” into the “Generate PO” sub- process 12

13 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 Suggestion 4: Use services Different kinds of service usage Synchronous Both the request and response happen within the scope of the requesting activity Asynchronous The request is made to a service by one task but a response is received by a different task 13 Note: This can also be done using send/receive message events from the “main pool”

14 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 14 Using services Use “black-box” pool services when the needed set of activities are: Not in your control (i.e. outside of your domain of influence) As a way to temporarily “black-box” collections of activities Those that remain “black-boxed” are indirectly controlled via SLA’s (service-level agreements) This set of activities are performed by a group outside of your scope Since you can’t model and include them; show as external service with messages between “your” process and the “black-box” service

15 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 Other things … Iterations Interleaved coordination Complex decision patterns (with rules) 15

16 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 16 Iteration patterns Number of iterations known at design time N known at process design time Example: Perform two credit checks Number of iterations only known at run-time Condition for activity completion determined as process is running Example: Variable number of line items in a purchase request each have to be examined and priced Can be done on a collection of tasks:

17 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 17 Interleaved routing Sequential execution of many non-ordered activities Way of working arises, for example, when many tasks compete for the same resources Performers of these tasks decide, in-situ, who will perform the next step

18 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 18 Handling complex decision patterns When faced with a cascading set of decision gateways … Often better to treat as a rules processing service interaction The rules engine contains the logic that determines an outcome value that sets the path followed We’ll cover rules specification in a upcoming session

19 CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke 2008-12 In-Class 6-0 (Attraction booking) Develop a BPMN diagram for the following scenario: A travel agency wants to establish an “attraction booking” service that’s comprised of a bus trip, hotel and “attraction” (e.g. a museum). The service is triggered by an incoming client request and returns one of two different messages: an unavailable notification or a confirmation. The business process of the service starts by first checking the request. If for certain reasons the request can only be handled manually by an employee (e.g. group travels), a sub-process for manual handling is begun. Otherwise, the process enters a sub-process, where a bus and hotel booking occur in parallel. However, if one of these fails, the transaction is canceled, a log message is written and the unavailability message is sent. If both bookings succeed, an attraction is booked by invoking another service. The only thing that could go wrong is a timeout; i.e. the attraction booking service is not responding in time. If this happens, a manual handling of the booking has to be made. If the attraction booking invocation succeeds, a confirmation is sent. The manual handling always results in a successful booking, in which case a confirmation message is sent. 19


Download ppt "© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University."

Similar presentations


Ads by Google