Business process simulation until now has seldom been implemented. Because of tight development schedules, the plan to simulate the current “as- is” and desired “should-be” processes typically falls victim of having too little time. Simulation is a powerful tool and it is worth the time spent doing simulations before going into production. It helps run “what- if” experiments to see what the impact will be of:
Reducing or increasing the number of people assigned to an activity.
A sudden increase of the number of instances flowing through the process.
Changing the approval ratio from 70% approved / 30% disapproved to a worse case 50% approved / 50% disapproved.
This can help avoid the embarrassment and cost of launching a new process with a flaw that only becomes obvious on day 3 of production. It can verify that the desired output meets the metric objectives and easily finds bottlenecks in redesigned
processes and leads to breakthroughs.
Process Simulation Lab
This exercise will demonstrate how a business analyst can analyze and propose changes to business processes using Oracle BPM Studio.
The objectives of this exercise are
Run simulations on business processes and analyze the following results.
- Throughput and process analysis - Activity-based costing
- Resource allocation
Make changes to the process to optimize the flow
The simulation algorithm is based on discrete events that can process events in a serial fashion as they occur in time. You need to create Process Simulation Models and Project Simulation Definitions to run simulation. The Process Simulation Model captures a “What-if scenario” for a particular business process model. You can have multiple Process Simulation Models for a particular business process model. This allows you to create different simulations based on different combinations of resource allocations and activity behavior. The Project Simulation Definition is used to take the dependency and shared resources across processes in to account. It consists of Process Simulation Model of multiple processes.
The simulation does not execute the actual code of each activity within the process. However, by configuring parameters within the Process and Project Simulation Models, you can mimic the behavior of your business process. You need to ask the
right questions to get the right response! In order to perform simulation the process needs to be complete and semantically valid.
You will be simulating the process that was created in Lab #1. If you were not able to complete it or would like to use an already completed process, you can use the project from c:\BPMWorkshop\Solutions\SalesQuoteLab_lab2.zip.
Creating Process Simulation Models
1. If you don’t already have the BPM project from Lab #1 opened, start the BPM Studio 11g and open up the SalesQuoteLab application workspace.“
2. Switch to the BPM Navigator Pane (ViewBPM Project Navigator) 3. Open up the “Processes” node.
4. Double-click on the “RequestQuoteLab” element
This opens the Request Quote Lab main process and you are now looking at the process diagram showing in the standard Business Process Modeling Notation (BPMN).
5. In the BPM Project Navigator go to the Simulations node and expand underneath it. 6. Underneath this node, you can find 2 folders – Simulation Definitions for storing
Project Simulation Definitions and Simulation Models for storing Process Simulation Models.
7. Select the Simulation Models folder, right-click and choose the New Process Simulation Model.
8. Type in “NormalLoad” for the Simulation Model that you will be creating now and click OK. This will open up the NormalLoad simulation model definition.
9. A Process Simulation Model can configure the following settings for a process: • Process settings
• Amount and rate of instances created in the process. This can either be a constant or statistical distribution such as normal, uniform, exponential etc.
• Activity Settings
• Average Execution Time. This can either be a constant or a statistical distribution. For example, number of people associated with a Role if it is a User Task.
• Routing Settings
• Probability percentage of instances routed through the different outgoing transitions
• Cost Settings
• Cost for processing the activity and cost of the activity + the cost of the resource if it is an interactive human centric step
10. To configure the frequency of process instances created, First click on the Flow Nodes tab.
11. Select the Start activity at the bottom, change the Distribution Type to Constant, and change the Period to 5 minutes as shown in the figure below.
12. To set the Activity based parameters, select the Flow Nodes tab and set the
parameters as shown in the table below: (Resources will not be defined in the Process Simulation Model but will be specified while creating the Project Simulation
Definition). Activity Name Duration (Distribution type, Mean, Std Deviation)
Cost Outgoing Flows
Approve Deal
Normal, 20 minutes, 3 seconds
Activity Name
Duration (Distribution type, Mean, Std
Deviation)
Cost Outgoing Flows
Approve Terms Normal, 10 minutes, 3 seconds $50 N/A Business Practices Review Normal, 30 minutes, 3 seconds $100 N/A Enter Quote Details Normal, 20 minutes, 3 seconds $30 N/A Finalize Contracts Normal, 20 minutes,3 seconds $60 N/A Is Business Practices Review Required? - Gateway
N/A - Business Practices
Review - .9 (90%) Approvals - .1 (10%) Business Practices Outcome - Gateway N/A - Approvals- 1 (100%)
Enter Quote Details – 0
The Outgoing Flows tab is used to define the Routing probability.
15. You need to select “Use Organization Resources” in order to use the Roles that you have already defined when you created the “Request Quote” process model. Set this for all Human Task activities.
16. Do a Save All
17. Close the NormalLoad tab. Hover over the tab and click X
Creating the Project Simulation Definition
As you know, BPM projects can consist of many processes. Similarly, each project simulation can consist of one or more processes and their corresponding simulations. In this step, you will create a project simulation model. You are creating a project simulation model because this is what actually determines which processes and process simulation models should be used and how resources should be configured for the simulation.
1. In the BPM Project Navigator/Simulations tab, note that there are two Simulations folders – Simulation Definitions and Simulation Models. As shown below, right click the Simulation Definitions folder and click New Simulation.
2. Enter AsIsSalesQuoteSimulation as the Simulation Name.
3. As mentioned before, each project simulation can consist of one or more process simulations. The “Normal Load” process simulation model is the only item in the list and is the only simulation you can include.
4. Change the Duration to 10 hours. Check the checkbox beside Let in- flight instances finish before the simulation ends. Check the checkbox for Include in simulation.
5. Click the Resources tab
6. In this panel, you configure your simulation for your current number of peop le available to perform the activities in their roles, the organization resources. 7. Click the + button to set the participants for the roles you already have included in
this project. Make sure you set the capacity for each resource as shown in the figure below.
8. Note: To select the predefined roles, double-click the Roles cell and then the magnifying glass to open the roles list
9. Do a Save All
10. Close the AsIsSalesQuoteSimulation tab by hovering over the tab and clicking X
Running the simulation
Click the Simulation tab in the bottom window as shown below. If you do not see this tab, open the simulation view from the menu by clicking View -> Simulations.
11. With the process diagram open in the top window, click the Start button. This starts simulation in an interactive mode where you can follow the progress on your process diagram. When you clicked the Start button, note that the process diagram view opened up and you now can see the simulation run its course.
12. To complete the simulation without waiting, click the Run to end button in the Simulation View.
Analyze the Simulation Results
Now that you’ve run the simulation, it’s time to analyze the results. Start by looking at over all process execution time.
13. First, for your convenience, change the report type to Bar in the drop-down just below the Chart tab in the left side of the simulation view. This will make the chart more readable by showing the activities on the vertical axis and values out the horizontal axis.
14. Now click the Indicators on the right side of the simulation chart tool bar. Select the Time checkbox.
15. You now see one big bar showing the overall average process time for the Order Management process. It takes 3.45 hours for processing the Quote.
-
16. To investigate why the process is taking this long to process orders, drill down in to simulation results for Activities as shown in the figure below.
17. Select the icon to filter out the activities that have a negligible processing time.
18. Now you have drilled into the process and can now see the average times for
processing for each activity. The Approve Deal has an average cycle time of nearly 5 hours which is unacceptable.
19. You see that the Approve Deal is taking much more time than any of the other
activities combined. This is a surprise because it takes only 20 minutes approximately to complete the step. Maybe there is a bottleneck here? To find out, take a look at average waiting time. You can see that the maximum average waiting time is nearly 4.30 hours. Aha! It looks like orders that need approve deals are backed up for most of the processing time with no one working on them.