Business Process Modeling (BPM) with Event Driven Process Chains and bflow* Toolbox www.bflow.org 1 What is BPM? • Business Process Management • Management approach: aligning all aspects of an organization to meet the needs of customers. • Business Process Modeling • All relevant aspects of a business process in a defined format (e.g. Including text, tables, charts) 2 Business Process Definition short... • describes the steps that are necessary to achieve a business objective A little longer... • is triggered by an event • consists of a sequence of activities • activities are carried out manually or by machine • activities produce value (for the customers of the process) 3 Examples of Business Processes • Processing an application for a business license • Tendering for a construction project • Processing of a claim (insurance) • Opening an account (bank) 4 Instance of the Process Business Process Different business processes – instance of a business process Order by Frieda Müller received Capture order: Name: Frieda Müller Date: 16.4.2013 Article: Slippers Amount: 2 Order by Frieda Müller recorded Order by Hugo Becker received Capture order: Name: Hugo Becker Date: 17.4.2013 Article: Cowboyhut Amount: 1 Order by Hugo Becker recorded 5 Business process modeling – What? • If you cannot describe what you are doing as a process, then you do not know what you're doing • W. Edwards Demming, a business consultant and professor at Columbia University (1900-1993) 6 Business process modeling – What? • Documentation of existing business processes (e.g. certifications or training) • Analysis and optimization of business processes • Redesign of business processes • Simulation (egFor example, human resources planning) • Process costing • Communication between the department and software developers • model-based development 7 Models are used for communication • The primary purpose of models: communication tool • Helps that all parties have a common understanding of the modeled reality. It follows: ► business process models should be easily understandable. ► For all involved, the models have the same meaning. ► standardized modeling languages 8 Business process models are used as reference • GPM can be found in the agreements on how to work. • GPM should be accessible to all interested parties (e.g. on the intranet) ► necessary changes in updates 9 Components of a business process • • • • Order of operations (control flow) Production and exchange of data (data flow) operational organization used equipment 10 Model • A model is an abstraction that serves to understand a system before it is built.Because a model waives minor details, it can be manipulated more easily than the original. James Rumbaugh, co-founder of UML modeling language short: A model is a simplification of reality for a specific purpose 11 Purpose of modeling • It makes no sense to create a model without knowing what purpose you want to achieve • You need to know: • Who should work with the model? • What will be achieved by working with the model? 12 Abstraction in model • The level of detail in the model is shown to be dependent on the purpose of the model The model can be shortened… e.g. Temperatures are not shown The model can be extended… Latitute and longitude exists in the model. 13 Modeling tasks • Images of reality – Objective: Understanding the reality – The complexity is reduced (elimination of properties) • Models for the to-be reality – Objective: Presentation of the designated state – Discussion of the allowed achievable – Planning is supported 14 Modeling purpose determines the type of the model Management: General Overview • Who is responsible for which processes? • How can the quality of implementation be measured? Staff executing the recurring standard processes: modeling at a detailed level • What steps must be taken under what conditions and when? • for implementation in a computer program: • How states are stored in variables? • Which requests (e.g. to services) exist? 15 The field of activity of process analysts 16 Activities of process analysts • Collection of business processes Objective: To understand how an organization works Means: study of existing process documentation, and documentation of computer programs, interviews, workshops, analysis of existing software, work reports, observation of staff • Analysis of business processes Objective: to study how a process can be improved or can be optimally supported by IT Means: workshops, compare metrics, simulation, checklists • Make proposals for the implementation of the measures Objective: To improve the process, IT support 17 Necessary skills for process analysts • Capacity for abstraction in the analysis of processes (understand and describe processes to separate the important from the less important) • excellent communication skills (asking the right questions and how to listen) • Methodological knowledge and imagination to reshape and improve processes • Knowledge of methods for the measurement of key figures in processes • Knowledge of the application domain • Accompanying the department in the implementation of technical and organizational changes 18 Quote about process analysts • In our experience, about 70% of people who take this role is rather unsuitable. • Mostly, because they lack the skills for adequate analytical assessment. The most important qualification of a process analyst is not sending but receiving." Jakob Freund / Bernd Rücker: «BPMN 2.0 Practical Guide» Hanser-Verlag 2010 19 Value chain diagrams and process chains 20 (and optionally further) possibly more detailed modeling of individual activities Value chain diagrams Event driven process chains Level 1 Level 2 Flow modeling of a subprocess Level 4 How to break down into sub-processes? Level 3 Process Map: What are the fundamental processes? 21 Value Chain • introduced in 1985 by Michael E. Porter • shows the activities that are performed to produce a product / service in the company. • In the manufacture of a product, for example, all the steps that the product passes through from raw material to delivered end product (from supplier to customer) are shown • Modeling in value chain diagram (VCD) 22 Processes in the value chain • primary processes • control processes • • supporting processes 23 Primary Processes, Core Processes • Primary processes (also: core processes) • make a direct contribution to the creation or distribution of a product. • focused on external customers • Examples: – – – – – Order Processing production Purchase of raw material Customer service Marketing and Sales 24 Control processes • Control processes (also: management processes, governance processes) • Processes to operational planning, command and control • Examples: – Strategy Development – Creating goals 25 Support Processes • supporting processes (also: support processes) • make no direct contribution to value creation • focused on internal customers, support the primary processes • Examples: – Financial accounting – Cost accounting – Human resources 26 Support Processes Primary Processes Managerial Processes Value chain diagram (VCD) in a production facility 27 Support Processes Primary Processes Managerial Processes Value chain diagram (VCD) in a hospital Source: Vollert / Hamm: Prozessorientierte und standardisierte Umsetzung von DGK-Leitlinien, Kardiologe 3 / 2009 28 «Predecessor of» relationship • From the examples we see that the relationship "is chronological predecessor" is represented differently by different authors. • In many sources, the notation indicates that a previous relationship exists. • In other sources, however, this is not the case, the previous relation is then represented by: 29 Event-driven process chains (EPCs) 30 Ereignisgesteuerte Prozesskette (EPK) [Event-Driven Process Chain, EPC] • Developed in 1992 at the University of Saarland • in Germany (along with BPMN) the most common notation for business process modeling • e.g. Used in SAP R/3 • Graphical, semi-formal notation 31 Basic Components of EPCs: Functions and Events Functions Events an activity that has a beginning and an end State at a certain time May be the cause or result of a function e.g. «Request arrives", e.g. «Check Application" «Application is approved" 32 Succession of events and functions Arrows indicate the time-logical order between events and functions. "Request arrives" is the trigger for the "check request" "Approved application" is the result of the function "Check Request" 33 EPCs always begin with a start event (or more start events) shows: "What triggers the process?" Events and functions alternate within EPC shows: "Events control the process" EPCs are terminated by an end event (or more end events) shows: "What is the completion criteria of the process" 34 Trivial Events To make the model more compact, "trivial events" are often omitted. 35 Possible Naming Conventions Event as a trigger [Object] is [Verb in infinitive form] Event as a result [Object] is/was [Verb imn present perfect] Function [Object] [Verb in imperative] Infinitiv Always name objects uniformly Important: e.g. Always customer (rather than buyer etc.) 36 Modeling of Alternative Paths XOR-Connector Modeling one alternatife flow: Exactly one of several possible paths is taken 37 XOR-Connector in the example: either the item is in stock ► left path is traversed or it is not available ► right path traversed 38 Modeling of Parallel Executions AND-Connector More than one function can be performed simultaneously 40 AND-Connector The two paths are traversed in parallel: "Announce schedule on internet" can be executed at the same time with "send invitations" 41 Modeling of «One or More» OR-Konnektor Modeling one or more alternatife flow: Logic: More than one of the options can be processed in parallel but at least one must be taken. 43 OR-Connector 3 ways to choose Case 1: left path Case 2: right path Case 3: both 44 How many possible sequences are there after OR? 45 Multiple Start Events Connectors can also be used to model more complex conditions for the start of a process 46 Multiple End Events: Example 1 three possible outcomes, Exactly one of them occurs. 47 Multiple End Events: Example 2 At the end of the process, both events have occurred. 48 Only functions make decisions! In the model, the function for the decision is missing. Such a decision is an activity, so it must be modeled in a function! Rule: there shall not be an XOR or connector after events! 49 Error is noticed by the semantic verification of bflow * Toolbox! 50 Corrected model: decision is taken by function 51 Prozesswegweiser und Funktionsverfeinerung Model A Model C Process Interface: Model A ends with Event 3 then it continues with Model B, which starts with Event 3 Sub-diagram: Model B Function 2 from model A is shown in more detail in model C. 52 Process interface and function refinement Model A Model C Model B 53 Modularization allows reuse - and avoids duplicate modeling 54 Summarized Syntax Rules 55 Syntax Rules - Events • EPCs begin and end with events (or process interface that follow an event). • Events have: – Exactly one incoming and exactly one outgoing arc, or – No incoming arc and exactly one outgoing arc (start event), or – Exactly one incoming arc and no outgoing arc (end event). 56 Syntax Rules - Functions • Functions have exactly one incoming and exactly one outgoing arc. wrong! wrong! 57 Syntax Rules - Connectors Connectors have… either exactly one incoming arc and 2 outgoing arc (Split) Or 2 incoming arc and exactly one outgoing arc (Join) 58 Alternating Functions and Events • Events and functions alternate. Intermediate connectors do not change this rule. • If several functions executed in succession, "trivial events" between them can be omitted. 59 Events «decide things» • Before XOR and OR split, there must be a function, not event. 60 Modeling Typical Situations 61 Loop if an activity needs to be repeated 62 Limiting number of repetitions If the number of repetitions will be limited 63 One inquiry only used if the correction is guaranteed and no new test is necessary! 64 Optional design If an activity must be carried out only under certain circumstances 65 Run any number of paths after OR After OR, any number of paths are possible If «nothing to do» is also possible, an «empty path» can be modeled 66 Reach a point in time The process is continued until a certain time is reached. 67 Readable Models 68 Structured Modeling • Some modeling guidelines require that connectors may be used so that split and join occur in pairs (For each split has exactly one join same type) 69 (Un) structured modeling • Whenever possible, you should use only the 'structured' constructs (as shown in the last slide) • In some cases (like the one shown below), an "unstructured" model is easier to read, in some cases it is the only way to represent the facts correctly 70 Good layout is essential for good readability of models! Both models are identical! • • • • • Main reading order from top to bottom Use symmetry Lines with minimal bend points minimize cross lines No parallel lines close to each other 71 Main reading direction Often useful • Position "Default case" [Happy Case] such that it can be immediately read from top to bottom • Place exceptions on the side 72 Extended EPCs (eEPCs) 73 Erweiterte EPK: zusätzliche Notationselemente Sequence of activities (control flow) Creation and exchange of data (data flow) Organizational Elements Resources used EPC eEPC 74 Creation and exchange of data • Input: What are the data required to perform a function? • Output: What data generated as a result of the execution of the function? • Data (information objects) are present as: Paper document File 75 Input Control flow arrow Output Data flow arrow 76 Applications • What computer systems are used by a function? Connection (no arrow!) 77 Organizational Elements • Who is responsible for the execution of a function? Organizational unit (Department, unit, etc.) • Location (e.g. Staff member) • Person (e.g. «Mrs Horn») 78 Connection (no arrow!) 79 EPC-Modeling with bflow* Toolbox 80 bflow* Toolbox • Free EPC modeling tool – available free of charge, source code available • based on the open Eclipse programming tool • extensible through add-ons without the knowledge of Eclipse Programming • www.bflow.org 81 Workspace defines the location at which bflow* stores the data Workspace 82 When you first start… • Identify the location of the workspace (by default, it suggests a directory named «workspace» under the folder you placed your exe file) • If you have a default place, check the checkbox and it will no longer ask at each run 83 Project • The project in which related model files will be collected Workspace Project 1 Project 2 84 Creating a Project " File -> New -> Project " 85 Folder • Can be used for further structuring within the project • Good practice: Place subdiagram inside folders and create a folder and diagram hierarchy (with multiple levels of folders) Workspace Project 1 Folder A Project 2 OrFolder C Folder B 86 Create New Folder • File -> New -> Other • General (double click to open) - Folder - Next 87 Models • Can reside in the folders (Or directly in the project folder) Arbeitsbereich Project 1 Folder A Project 2 Folder C Folder B 88 Package Explorer Project Working area File (Model) Folder Subfolder in another folder 89 Views Package explorer Palette Quick navigation More views 90 Navigation in large models Outline view Model Navigator: shows predecessors and successors of the selected model element 91 Background Validation Finds typical modeling errors highly recommended especially for beginners 9292 Notes appear in the "Problems" view 93 Advanced model checking • much more comprehensive examination highly recommended for beginners and advanced 94 Model Checking Rules can be connected and disconnected: Window Preferences EMTB - Validation 95 Tips for modeling with bflow* Toolbox 96 Model Wizard • rapid creation of model parts no need use the mouse • Right-click on the model 97 Model Wizard 98 Printing Models in Black and White • Right-click on the model Style: select Black-White 99 Add Comments • Right-click on the model Add - Note Note 100 Change fonts • (1) Window - Show View - Properties • (2) Mark the fonts to change • (3) Make changes (choosing a font different than the default is not recommended.)) 101 Change size of model elements • Mark model element pull the "touch points" • Tip: You can also select multiple items (CTRL + click) and then resize it uniformly. 102 Make model elements the same size • Mark model elements using CTRL + click. • The elements should get the size of the element marked last. • Select Diagram – Make Same Size 103 Assign self defined attributes • Open "Attribute View" if the view is not open: Window-Show-View-Other-Modeling ToolboxAttribute View • Mark model element • Enter the name and value for the attribute • Press the enter key New attribute (name and value) Already existing attributes 104 Important Keyboard Shortcuts in bflow* Toolbox • F5 in the package view: Update view (necessary if models are copied manually into the workspace) • CTRL-M in the model view: Zoom in/out • CTRL-Z in the model view: undo last action • F2 Rename the selected item • CTRL-Enter when labeling a model element, line break 105 Copyright • The presentation was created by Prof. Dr. Ralf Laue, University of Zwickau Information about the authors of images used can be found on: http://commons.wikimedia.org/wiki/File:Blender3D_EarthQuarterCut.jpg http://commons.wikimedia.org/wiki/File:GEO_Globe.jpg http://commons.wikimedia.org/wiki/File:Earth_Western_Hemisphere.jpg http://commons.wikimedia.org/wiki/File:Dipole_field.PNG http://commons.wikimedia.org/wiki/File:Blender3D_EarthQuarterCut.jpg http://commons.wikimedia.org/wiki/File:Map-World-Timeszones.png 106 Copyright •This work is licensed under a "Creative Commons Attribution Noncommercial-Share Alike 3.0 Germany license.« •You are free: – to copy, distribute and publicly accessible – To make derivative works of the work •With the following conditions: – Attribution - You must attribute the name of the author / copyright holder in the manner determined by her. – Noncommercial-Share Alike - If you alter licensed content, or use in any other way perceivable as build upon this work, you may distribute the resulting work only under license conditions with which this license agreement are identical or similar. – See more at: http://creativecommons.org/licenses/by-sa/3.0/de/ 107