Best Practises in Process Design Lubomír Dočkal Last Lecture: BPMN L2 ● Precise ordering of activities ● Detailed messaging ● Signals ● Specific task types ● More events ○ Additional types ○ Intermediate events ○ Boundary events ● Exception handling BP ● BPM Business Process Management ○ IT-Business approach to manage a company ○ covers a lot of technical and business disciplines ● BPMS Business Process Management System ○ technical system which made BPM live ○ heart of the modern BPM ● BPMN Business Process Model and Notation ○ describes process in precise, non-ambiguous way ○ programming/diagrammatic language for a process modeller ● Petri nets ● Best practises introduction ● Basic mistakes in process design ● 7 guidelines for better models ● From abstract process to executable one ● Process redesign, pursuing the desired effect Outline ● Theoretical concept of processes and their execution ● Strong mathematical background ● Lot features can be proven using PN: ○ deadlock free ○ reachability ○ fairness Petri Nets Petri Nets ● Petri net consists of three basic elements Petri Nets PN is a directed bipartite graph ● Tokens ○ dynamic element of the model ○ they sits in places ○ move along the arcs ○ are moved when transition fires Petri Nets ● Places and Transitions ○ static elements of the model ○ creates the network ○ they alternate on every path in the net ○ transition may fire only if it is enabled ○ transition is enabled when there is a token in every place connected to the transition with an incoming arc Petri Nets Petri Nets ● Petri Nets Conclusion ○ there is a transition from PN to BPMN, they are quite similar ○ necessary when you need to prove heavy features of a process ○ the principle of moving tokens is useful when looking for errors Petri Nets ● Proved useful over time ● Evolved to be the best we can get ● Just a practise not the must obey law ● Frees us from ’reinvent a wheel’ case ● Always an example which needs refinement Best practises introduction ● It is always an abstraction of a real world ● It let us better understand the problem ● It is very powerful communication tool ● Appropriate for target audience ● We have to balance complexity VS information value What is (process) model ● mistakes that must be avoided ● demonstrated on very simple processes ● hard to find in complex processes Basic mistakes in process design What is wrong? Basic mistakes in process design Dangling token at Task3! Basic mistakes in process design What is wrong? Basic mistakes in process design Possible deadlock caused by boundary event! Basic mistakes in process design What is wrong? Basic mistakes in process design Never ending process cause by token duplication! Basic mistakes in process design 7 guidelines for better models ● For clear and understandable models ● Usability is a quality issue ● Tells only how, nothing about what ● Change only structure not behaviour ● Some have contradictory effect, so choose wisely ● Prioritised by industry experts Use as few elements in the model as possible 7 guidelines for better models Minimize the routing paths per element 7 guidelines for better models Use one start event 7 guidelines for better models Model as structured as possible 7 guidelines for better models Avoid inclusive gate elements 7 guidelines for better models Use verb-object activity labels 7 guidelines for better models Decompose the model if more than 50 elements 7 guidelines for better models Decompose the model if more than 50 elements 7 guidelines for better models 7 guidelines for better models 1. Use as few elements as possible 2. Minimize the routing paths per element 3. Use one start event 4. Model as structured as possible 5. Avoid inclusive gate elements 6. Use verb-object activity labels 7. Decompose a model with more than 50 elements 7 guidelines for better models prioritised ● (4) Model as structured as possible ● (7) Decompose a model with more than 50 elements ● (1) Use as few elements as possible ● (6) Use verb-object activity labels ● (2) Minimize the routing paths per element ● (3) Use one start event ● (5) Avoid inclusive gate elements From abstract to runnable ● Start with a process understandable by business people ● such process is build up to: ○ follow business goals ○ add value ● End with a process executable by a machine ● such process should be: ○ without ambiguity ○ complete ○ fault tolerant ● But still adhere to business points above... From abstract to runnable Missing time-out: Assumes that the other party will respond From abstract to runnable Inappropriate handling of revision request It is better to continue as the same case From abstract to runnable Inappropriate end of (sub)process: the process continues along the same path irrespective of a positive or negative result From abstract to runnable Sunny day scenario Process Redesign ● everything gets old even processes ● environment undergoes never-ending change ● processes should adapt to the change from time to time ● two ways how to do it ○ by revolution => design from scratch ○ by evolution => redesign the old one Process Redesign Evolution ● input to redesign can be ○ regular business process ○ undocumented, manual, ad-hoc process ● redesign is often about trade-offs ● measure and match the performance of AS-IS and TO-BE ● four parameters: Quality, Time, Flexibility, Cost Process Redesign Contact reduction: reduce the number of contacts with customers and third parties ● the exchange of information with a customer is time-consuming ● each contact may introduces new errors ● possible risk of losing some valuable data ● Quality +/-, Time +, Flexibility +, Cost +/- Process Redesign Order types: determine whether tasks are related to the same type of order and, if necessary, distinguish new business processes ● concerned with sub-flows that are not specific for the business process they are part of. ● may cause less effective management of this sub-flow ● result in more coordination problems between the business processes ● less possibilities for rearranging the process ● Quality -, Time +, Flexibility - , Cost + Process Redesign Task elimination: eliminate unnecessary tasks from a business process ● task is considered unnecessary when it adds no value from a customer’s point of view ● control tasks and redundant tasks in a business process are such cases ● Quality -, Time +, Flexibility + , Cost + Process Redesign Triage: consider the division of a general task into two or more alternative tasks ● Goal is to design tasks that are better aligned with the capabilities of resources and the characteristics of the orders being processed ● each expert does what he knows best ● adds complexity thus less flexibility ● possible risk for quality from monotonous work ● Quality +/-, Time +, Flexibility - , Cost + Process Redesign Parallelism: consider whether tasks may be executed in parallel ● putting tasks in parallel leads to reduced throughput time ● fights with a legacy from old hand to hand systems ● the management of business processes with concurrent behavior can become more complex ● Quality -, Time ++, Flexibility - , Cost - ● Best practices in business process redesign ● BPMN 2.0 by Example Resources ● Best practise introduction ● Basic mistakes in process design ● Petri nets ● 7 guidelines for better models ● From abstract process to executable one ● Process redesign, pursuing the desired effect Summary Thank you!