From Conceptual to Executable BPMN Process Models A Step-by-Step Method

12,417 views

Published on

Step-by-step tutorial showing how to turn BPMN process models designed by business analysts into executable processes deployable in a Business Process Management System. This tutorial was first given at the 11th International Conference on Business Process Management in Beijing, China on 29 August 2013. The tutorial is part of a series of lectures available at http://fundamentals-of-bpm.org

Published in: Education, Technology, Business
4 Comments
22 Likes
Statistics
Notes
  • Good job Marlon. very very nice organised and practical presentation. I was looking for something alike for some few weeks. the great point is putting it on a nut shell. thanks for shareing knowledge.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • An enhanced and improved version of this presentation has been integrated into our free online course "Fundamentals of Business Process Management". The next delivery of the course will start on 10 October 2016. This delivery will consist of three parts, all of them free. Further details are available here: https://moocs.qut.edu.au/
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dear Filipe
    Thanks for the feedback. What we meant to say is that the BPMS generally will not use the pools and lanes during execution. This does not mean you cannot define them, just that the BPMS will 'ignore' them since participant information needs to be captured in the 'participant' field anyway.
    On the other hand, from a documentation perspective, it makes a lot of sense to capture pools and lanes in the model, certainly.
    So instead of using the adjective 'irrelevant', we should perhaps have said 'optional'.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Nice presentation and thank you for sharing.

    One question: I didn't understood the slide 20 where you say Pools & Lanes are irrelevant for execution.

    Actually, one thing I also usually do is to create a Collaboration diagram where I represent the conceptual model and the executable model using defining a pool as the Process Engine. In this pool I limit the symbols to the ones allowed by the BPMS I will use. But I always include lanes.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
12,417
On SlideShare
0
From Embeds
0
Number of Embeds
156
Actions
Shares
0
Downloads
661
Comments
4
Likes
22
Embeds 0
No embeds

No notes for slide
  • Here we could show the initial conceptual process model (“where we start from”) and then a bunch of forms and performance indicators (“where we are heading” - to symbolize the model being automatically executed). We can use this slide to explain the basic notions of executable process models (e.g. tasks automatically dispatched, orchestration, automated and manual tasks etc.)Introduce BPMS, show how this can be automated (maybe with animation)
  • However, as in any maturation processes, there is a point where one has to put order in the variety of approaches, techniques and tools there exist. And this is also the case for BPM (And BPM is not exempt from this). In fact, if we look at something as simple as the BPM lifecycle, we realize there’s indeed a plethora of approaches available out there. Some model the lifecycle in 4 steps, some in 5, some go a bit overboard with 8 steps etc. And I’m sorry for those vendors whose lifecycles didn’t make it into this slide, but you need to blame google, not me ;-)
  • Inspired by this message, one year ago we decided to survey the plethora of approaches, methods and techniques available in BPM and write this book (which builds upon) distil a comprehensive, yet succinct BPM methodology, which is the focus of this book “Fundamentals of BPM”. A methodology that would embrace the whole BPM lifecycle (without skipping any phase – in fact there are many valueable books that only focus on certain phases of the lifecycle), starting from the very beginning: process identification, through to process monitoring and controlling. Trying to strike a good balance between IT and management aspects, and would identify clear deliverables for each step of the lifecycle, by providing concrete, hands-on techniques to achieve these. For example, how I do I build a process architecture, how do I go about modeling a business process, how many discovery methods there exists, now that I have my model, what can I do with that etc.No change management, process implementation only focuses to process automation.
  • Stress that this is achieved via a BPMS and that it’s not necessarely a refinement, it’s rather an incremental transformation
  • As a BPM practitioner, typically you are only exposed to a part of the BPM lifecycle: for example, as an analyst, you might have had to deal with documenting business processes, or a manager, you might have had to deal with BPM strategy development, but sincerely you got no clue how to draw a BPMN diagram. And as we know, different perspectives on the same subject-matter, if kept in isolation, can impact the understanding and eventually the outcomes of an initiative, especially in the context of BPM where both business and IT play an importantly equal role.in BPM there exist two ways of looking at a same problem: from a more strategic perspective and from a more technological perspective. The first follows the “I want to…” paradigm, and it’s the usual point of views of managers and business analysts that require new features to be delivered and certain performances to be achieved. The second follows more the “I can provide…” paradigm, in which it is the technology to drive the development of new business processes.This dichotomy to approach a problem leads to two different types of process models…
  • Conceptual vs to-be-executed and executableAdd “to-be-executed model” as a bridge between the conceptual and executable process model
  • Let’s see how we can achieve that. We propose a five-step method whereby we incrementally transform the conceptual process model in order to obtain an executable counterpart of this. First, we [read steps]. At the end of step 4 we obtain the “to-be-executed” model, which in final step gets finally transformed into the fully executable process model, by specifying execution properties. This method is inspired from teaching material of Remco Dijkman.Outline: we will cover the first four steps, until we obtain the to-be-executed pm in Part I of this tutorial. After the break, in Part II, we will cover the “last mile”.
  • We have to be honest about that. Not all processes can be automated. So we need to start by… We can distinguish between automated tasks, i.e. those tasks that can executed by an external application or internally to the BPMS, for example checking the stock availability through an ERP system or retrieving a document from a DMS, user tasks, those tasks where process participants need to provide input to the process, typically via the use of web forms, and finally manual tasks, those which are entirely manual, such as retrieving a product from the warehouse
  • Identify automated, manual and user tasks:Manual tasks are marked with a hand iconUser tasks are marked with a user icon (scheduled in worklist) Automated tasks are subtyped in BPMN:script (script marker), if the task executes some code (the script) internally to the BPMS. This task can be used when the functionality is simple and does not require access to an external applicationservice (wheels marker), if the task is executed by an external application, which exposes its functionality via a service interfacesend (filled envelope marker), if the task sends a message to an external servicereceive (empty envelope marker), if the task waits for a message from an external service
  • Once we have identified each task’s type, and so the automation boundaries, we can review each manual task to see whether we can automate them or we have to isolate them. Here the principle is: …Where the nice looking woman gets a notification on her mobile device to go and pick up the box from the shelf, and once she is done she scans the barcode of the product so that an automatic notification is sent back to the BPMS, which now knows it can move on
  • Isolate manual tasks (use Example 9.1 – student admission process)
  • Isolate manual tasks (use Example 9.1 – student admission process)
  • Exercise 9.8If therea are any manual tasks, find a way to hook them to the pharmacy system.One way of modeling this fragment is by defining the following tasks: “Check insurance”, “Collect drugs from shelves”, “Check quality”, “Collect payment” (triggered by the arrival of the customer), and finally “Retrieve prescription bag”. Assume the pharmacy system automates the prescription fulfillment process. Identify the type of each task and if there are any manual tasks, specify how these can be linked to the pharmacy system.Task “Check insurance” can be automated through a service that determines the amount of the co-payment based on the details of the prescription and on the customer’s insurance policy.Tasks “Collect drugs from shelves” and “Check quality” are manual tasks. These tasks can be implemented as user tasks in the automated process. To do so, the pharmacy technician who collects the drugs, and the pharmacist who quality-checks the prescription and seals the bag, should have a convenient mechanism to signal the completion of these activities to the BPMS. This could be achieved by putting in place a system based on barcode scans to track prescriptions. For example, the technician would see a list of prescriptions to be filled from their worklist. They would then pick up one of the prescriptions and the system would associate the prescription to a new barcode which is printed on an adhesive label. The technician would then attach the label to a bag, collect the drugs and put them in a bag, and when done, they would scan the barcode from the label to record that the prescription has been fulfilled. This signals the completion of task “Collect drugs from shelves” to the pharmacy system. In turn, it generates a new work item of task “Check quality” in the pharmacist’s worklist. The pharmacist can then quality-check the prescription and scan the barcode again.Task “Collect payment” is also a manual task. This task could be implemented as a service task whereby the pharmacy system would push the task of collecting the payment for a prescription to a Point-of-Sale (POS) system and expect the POS system to indicate that the payment has been collected. The pharmacy technician would interact with the POS system once the customer arrives, but this interaction is outside the scope of the pharmacy system. The pharmacy system merely pushes work to the POS system and waits for completion.The description of the process implicitly refers to a manual task whereby the pharmacist seals the bag and puts it into the pick-up area. However, this “Seal bag” task is not included in the executable process model. Instead, this task is integrated into the “Check quality” task. In other words, at the end of the quality check, the pharmacist is expected to seal the bag if the prescription is ready and drop the bag in the pick-up area.Task “Retrieve prescription bag” is also manual but there is no value in automating it in any way. So this task is left out of the executable process model, which completes once the payment has been made.
  • TODO: Exercise 9.8 (prescription fulflliment process)
  • There are a few further elements besides manual tasks that are irrelevant for execution and that as such could potentially be removed or are actually not tolerated by the BPMS. These are:Data stores are not interpreted since the BPMS assumes the existence of an external service that can communicate with the data store, e.g. an Inventory information service that can access the warehouse DB in our example. In general, databases are accessed via DB adapters, e.g. a MySQL Adapter. So the BPMS will interface with these services rather than with the data store directly. Still, at the conceptual level, it may be relevant to explicitly represent the data store.Pools and lanes, you would be surprised, but are discarded by BPMSs. This is because they capture coarse-grained resource assignments, e.g. activity “Confirm order” is done within the sales department. When it comes to execution, we need to define resource assignments for each task and capturing this information via dedicated lanes (potentially one for each task) will just make the diagram too cluttered.Some BPMSs tolerate the presence of these non-executable elements too. If this is the case, we suggest to leave these elements in. Especially pools, lanes, message flows bearing electronic objects, electronic data stores and annotations will guide us in the specification of some execution properties. For example, the Sales lane in the order fulfillment model tells us that the participant to be assigned task “Confirm order” has to be from the sales department. Other BPMS modeling tools do not support these elements, so it is not even possible to represent them in the diagram.
  • Process exceptions happen all the time and for as intelligent as a modern system can be, it can never foresee exceptions, which we need to implement, though it doesn’t need to be done all at once, it can be done in stages.Tech-related exceptions: system crash, network outage, service unavailability, data mismatchBus-related: product discontinuation, order cancelation, out-of-stock itemsBAs legitimately think it’s not relevant for communication purposes, they assume it’s common knowledge or they are not (fully) aware of it.So first we need to Check for coverage of exceptions. Then we need to Specify all electronic data objects and split conditions
  • So first we need to Check for coverage of exceptions. Then we need to Specify all electronic data objects and split conditions
  • And there is virtually no limit to the number of exceptions we can capture in a model – it depends on how sophisticated is our system to be able to handle such exceptions.In other words, the more exceptions we add, the more robust the solution will be.
  • There is not necessarilya 1-1 mapping between tasks in a conceptual process model and those in the executable counterpart. Principle: a BPMS is intended to coordinate and manage handovers of work between multiple resources (human or non-human). Accordingly, two or more consecutive tasks are candidate for aggregation. If this was the case, the BPMS would not add any value as it would not manage any handover of work Similarly, if an activity requires more than one resource to be executed, it is too coarse-grained and thus needs to be refined.Aggregation: Enter customer name, enter customer policy number and enter damage details into Enter claim, if performed by the same claims handlerRefinement: Enter and approve money transfer, typically performed by two different participants with the same role, financial officer, in order to enforce a separation of duties
  • Let’s consider this example in the context of a loan assessment process. A loan officer has to first…Then an automatic check of the home insurance requirements is performed by the BPMS,
  • Remember the student admission process?Let’s take a look at this subprocess “Verify degrees validity”…While these may be performed by the same admin clerk, we do want to report the completion of each task to the BPMS for the sake of monitoring the progress of the application, for example for auditability, also because there is typically some idle time between each task (e.g. after the documents have been posted and before receiving the results). It is also useful in this case to manage potential exceptions. For example, if the results aren’t received within a given timeframe, we can handle this delay with an exception handler attached to this task.
  • 3 – add exception handlers and electronic data objects
  • Recap
  • So far we have obtained a “to-be-executed” process model. Up until this point, business analysts can be involved, so these first four steps are not a prerogative of technical staff. However, the last step is something that requires knowledge of the system and related technologies. In fact, in this step we need to specify:
  • Thus, in order to specify these properties, we first need to become familiar with the IT solutions that are available to perform this last step, i.e. to concretely automate the “to-be-executed” model that we have obtained so far. So let’s keep calm and take a step back.
  • THIS SLIDE MAY BE SKIPPEDGroupware systems: Enable users to share documents and informationE.g. IBM’s Lotus Notes. Ad-hoc workflow systems: Allow on-the-fly process definitionsE.g. TIBCO’s BusinessWorks or Comalatech’s Ad hoc Workflows or InConcertCase handling systems: No tight and complete specification of a business process in a model. Rather, implicit process models E.g. i-Sight’s Case Management Software or BPMOneProduction workflow systems: Work is routed strictly on the basis of explicitly defined process descriptions captured in process models.E.g. IBM’s Business Process Manager or Bizagi’s BPM Suite
  • External services, e.g. a business rules engine (sometimes available as an internal component)If the previous slide is skipped, this slide can simply be called “Typical architecture of a BPMS”
  • Focus on the interface to specify extra properties
  • TODO: add example with social network capabilities from Appian. Comment on social network capabilities of commercial worklist handlers
  • Resource constraints e.g. separation of duty
  • Legacy systems were not engineered with the purpose of being coordinated by a BPMS, thus it’s often hard to integrate with such systems, unless proper interfaces are built. Screen scraping (very low-level integration mechanism) is an option though it’s not very flexible – rigid solution.Stakeholders often have diverging performance objectivesOrganizational dynamism: processes tend to change continuosuly (new departments, new products, new projects…). A solution is to gradually introduce a BPMS rather than expecting it to replace the whole set of processes of an organization at once (“big bang” strategy).
  • A lot of choice. In large commercial projects, the engines on the left column are an option, since upfront licensing costs can be absorbed either by a project, or more frequently, by multiple projects (BPM program). It is worth noting that Microsoft offers two options: BizTalk which has a large number of integration features (all sort of adapters and integration tools), and Windows Workflow Foundation, which is more geared towards smaller projects.In smaller projects/companies, the other closed-source engines are an option. These compete with open-source solutions, among which we can clearly distinguish between commercial open-source (companies making revenue out of consultancy, training and branding), and community open-source.In this course we well use YAWL for 3 reasons: Very easy and relatively lightweight installation (both on Windows and Mac), and small footprint – Cf. YAWL4Study Quite advanced resource management features, good for illustrating various ways of assigning tasks to actors Freely available, no restriction
  • Adapted BPMN: can import from BPMN
  • Quickly describe each component, then show them in BizAgi. Alternatively, describe them one by one as you show them in BizAgi
  • Not sure where we should show this.
  • The story of the cover picture3 interpretations of the picture:Continuous improvementHands-on bookParadox, as BPM…
  • From Conceptual to Executable BPMN Process Models A Step-by-Step Method

    1. 1. Queensland University of Technology – University of Tartu m.larosa@qut.edu.au, marlon.dumas@ut.ee From Conceptual to Executable BPMN Process Models A Step-by-Step Method
    2. 2. What’s this tutorial about? 2 Conceptual process model Executable process model ATAMO* * “And Then A Miracle Occurs”
    3. 3. 1. BPM practitioners seeking to bridge business – IT 2. BPM instructors / teachers 3. Business process modeling and automation researchers Basic knowledge of BPMN assumed Who’s this tutorial for?
    4. 4. The BPM lifecycle 4
    5. 5. Process identification Conformance and performance insights Conformance and performance insights Process monitoring and controlling Executable process model Executable process model Process implementation To-be process model To-be process model Process analysis As-is process model As-is process model Process discovery Process architectureProcess architecture Process redesign Insights on weaknesses and their impact Insights on weaknesses and their impact The BPM Lifecycle (revisited) 5
    6. 6. Process discovery Process identification Process analysis Process implementation Process monitoring and controlling Process redesign Process implementation The well-known gap… To-be process model To-be process model Executable process model Executable process model 6
    7. 7. Conceptual “to-be” process models • are made by domain experts • provide a basis for communication amongst relevant stakeholders • must be understandable • must be intuitive and may leave room for interpretation • contain purely a relevant set of process information Executable process models • are made by IT experts • provide input to a process enactment system - BPMS • must be machine readable • must be unambiguous and should not contain any uncertainties • contain further details that are only relevant to implementation The result: two sides of the story 8 “to-be executed” process model
    8. 8. Bridging the gap: one task at a time 1. Identify the automation boundaries 2. Review manual tasks 3. Complete the process model 4. Adjust task granularity 5. Specify execution properties 9 Part I Part II Adapted from teaching material of Remco Dijkman, TU/e.
    9. 9. Our running example Customer Supplier 1 Supplier 2 Seller 10
    10. 10. Our running example
    11. 11. 1. Identify the automation boundaries Principle: not all processes can be automated. -> Start by identifying each task’s type: Automated tasks User tasks 21 Manual tasks 3 12
    12. 12. In BPMN: specify task markers Automated tasks 13 User task Manual task
    13. 13. In our example… automated user manual
    14. 14. 2. Review manual tasks Principle: if it can’t be seen by the BPMS, it doesn’t exist. -> Find ways to support manual tasks via IT: • via user task • via automated task -> Isolate them and automate the rest 15
    15. 15. Alternative: isolate manual tasks 16
    16. 16. Alternative: isolate manual tasks Segment 1 Segment 2 Segment 3 17
    17. 17. Prescription fulfillment process: • Once the prescription passes the insurance check, it is assigned to a technician who collects the drugs from the shelves and puts them in a bag with the prescription stapled to it. • After that, the bag is passed to the pharmacist who double-checks that the prescription has been filled correctly. • After this quality check, the pharmacist seals the bag and puts it in the pick-up area. • When a customer arrives to pick up their prescription, a technician retrieves the prescription and asks the customer for their payment. Assume the pharmacy system automates this process. Identify the type of each task and link manual tasks to the system. Quiz: let’s consider this process fragment
    18. 18. Possible solution 19
    19. 19. • Physical data objects • Messages bering physical data objects • Data stores (both physical and electronic) • Pools & lanes • Text annotations Remove or neglect, depending on BPMS BPMN elements irrelevant for execution 20
    20. 20. 3. Complete the process model Principle: exceptions are the rule. -> Add exception handlers Principle: no data = no decisions, no tasks handover. -> Specify all electronic business objects 21 It happed for real!
    21. 21. In our example… 22
    22. 22. In our example… 23
    23. 23. 4. Adjust task granularity Principle: BPMSs add value if they coordinate handovers of work between resources. -> Aggregate any two consecutive tasks assigned to the same resource -> Refine tasks that are too coarse-grained 24
    24. 24. Look around 25 Candidate tasks for aggregation may not necessarily be consecutive due to a sub-optimal order of tasks in the conceptual model.
    25. 25. An exception to the rule 26
    26. 26. Our example… Before Step 1After Step 4
    27. 27. Sales process at a B2B service provider: 1) Identify tasks type 2) Review manual tasks 3) Complete the process model 4) Adjust task granularity Quiz: let’s consider this process model 28
    28. 28. Possible solution 29
    29. 29. 30 Possible solution
    30. 30. 31 Possible solution
    31. 31. End of Part I
    32. 32. Queensland University of Technology, University of Tartu m.larosa@qut.edu.au, marlon.dumas@ut.ee Part II: the “last mile”
    33. 33. Bridging the gap: one task at a time 1. Identify the automation boundaries 2. Review manual tasks 3. Complete the process model 4. Adjust task granularity 5. Specify execution properties 34
    34. 34. 5. Specify execution properties -> Process variables, messages, signals, errors -> Task and event variables and their mappings to process variables -> Service details -> Code snippets -> Participant assignment rules and user interface structure -> Task, event and sequence flow expressions -> BPMS-specific: work queues, forms, connectors…
    35. 35. Let‘s take a step back: BPMSs
    36. 36. Business Process Management System 38
    37. 37. Process modeling tool • To create and modify executable process models (by specifying execution properties) • To store and retrieve automation solutions from a process model repository • May import from conceptual process modeling tools 39
    38. 38. Example process modeling tools 40 Bonita Soft Bonita Open SolutionIBM Business Process Manager
    39. 39. Execution Engine • Instantiates executable process models (also called “cases”) • Orchestrates distribution of work items to process participants and software services in order to execute a business process from start to end • Logs execution data 41
    40. 40. Worklist Handler • Imagine it as an “inbox” • Offers work items to process participants and allows participants to commit to these work items • Handles participants’ work queues and work item priorities • May provide social network capabilities 42
    41. 41. Example worklist handlers 43 Bonita Soft Bonita Open Solution
    42. 42. Administration & Monitoring Tools • To manage automation solutions • To configure access to system components • To monitor participants availability and performance of process cases 44
    43. 43. Example monitoring & administration tools 45 IBM BPM Process Admin Console IBM BPM Process Portal Perspective BPMOne
    44. 44. External Services • Expose a service interface with which the engine can interact • The engine provides the invoked service with the necessary data it will need to perform the activity for a specific case • Examples: rules engine, email or Twitter notification, DB connector, CRM connector… 46
    45. 45. Example external services 47 Bosch Visual Rules editor
    46. 46. Evolution of the BPMS Landscape © BPTrends 50
    47. 47. BPMS Landscape 51 Big vendors • IBM BPM • Oracle BPMS • Microsoft BizTalk, Wf • SAP NetWeaver BPM • Software AG webMethods • Pagaystems PegaRULES Other closed-source • Appian BPMS • BizAgi BPM Suite • Bosch inubit Suite • OpenTex tBPM • Perceptive BPMONe • Progress Savvion • TIBCO ActiveMatrix BPM Commercial open-source • Bonita Open Solution • Camunda Fox • Intalio|BPM • JBoss jBPM Community open-source • Shark • YAWL
    48. 48. BPMS classification according to BPMN support 1. Pure BPMN: (re)designed from the ground up to follow the spec to the letter • IBM BPM, Appian BPMS, Camunda Fox 2. Adapted BPMN: use a BPMN skin but rely on internal representation – predate BPMN • Bonita Open Solution, BizAgi BPM Suite 3. Non BPMN: proprietary language and semantics • Bosch inubit Suite, BPMOne, YAWL 52
    49. 49. Let‘s take a look at a concrete BPMS
    50. 50. Cheat sheet 1. Control flow 2. Data flow 3. Resources > specify sequence flow expressions… > specify data types and data mappings > specify participants assignment rules, service details... 57 ERP Senior Finance Officer Finance Department Check Invoice Mismatches Enter Invoice Details mismatch exists no mismatches Block Invoice Invoice received Invoice posted Post Invoice Invoice blocked Invoice InvoiceReport InvoiceInvoice DB
    51. 51. • Long-awaited BPM textbook • Covers the entire BPM lifecycle • Running examples & questions • 100+ exercises with and without solutions • Based on BPMN • Available as Springer eBook, Apple iBook, Amazon… • Chinese translation coming soon Want to know more?
    52. 52. http://fundamentals-of-bpm.org • Lecture notes • A/V recordings • Quizzes • Tutorials • and more…
    53. 53. Queensland University of Technology, University of Tartu m.larosa@qut.edu.au, marlon.dumas@ut.ee That’s it!

    ×