Business process simulation is a very interesting field, the more you dig into it the more things you find that amaze you, things you thought were never possible before. Simulation for businesses also, sometimes, lands you in a spot where you get stuck on a scenario for days on end, trying to find a solution that will work and are not able to and then some other guy comes in and is able to do it almost instantaneously. This is the thing that happened to me once when I was working on a process improvement process. The scenario, I had to calculate the time any entity spent between two specific points in the model, I remember knowing it was too easy to do and then I remember banging my head on the wall one too many times when I was not able to do it and then, out of the blue one of my colleague who just came in from a holiday solved it for me in like 20 minutes, maybe I was in the tunnel vision. So now I will let you guys know how to do this so that you can save time on what I spent a good 18 hours on.
Creating Process Map
As this scenario is for calculating the time spent between two points within a process map already created I will assume that you have created or have a map to work on and you also know the points, the start and then end on which you want the time.
As you will be using your own process map in this business process simulation, the arrivals will be of your own as well, there is no specific arrival pattern needed for this scenario to work and you can use any arrival pattern you like.
Declaring Attributes & Variables
To enable this scenario to work efficiently in the business simulation software, we will need to declare one Attribute (ex: a_Start) and one Variable (ex: v_ElapsedTime). The Attribute (a_Start) will be used to start the simulation time for the specific point and the Variable (v_ElapsedTime) will be used to store the value of the total time spent between the starting point and the ending point.
There is no specific route required for the scenario to work, just make sure that the start and end points that you have in your mind; the entity actually flows through them so that the time can be captured.
The Action Logic
If you are using the industry standard business process simulation software then you is in luck as the Action Logic used by the software is far easier than any of the others, you will just need to make to Action Logic entries. The point where you want to start recording the first point entry time, you will need to write Action Logic so that the Attribute (a_Start) is set equal to the system clock (ex: a_Start = Clock()), the point where you want to end the time collected, you will need to write Action Logic so that the Variable (v_ElapsedTime) is set equal to the system clock minus the Attribute (a_Start) (ex: v_ElapsedTime = Clock() – a_Start). This Action Logic will set you up so that each time the entity passes from point A to point B a new set time is recorded. To view a graph of the variations in the elapsed time, simulate the model object. Then if you’re using the industry standard business process improvement software you can view the output report when the simulation completes for the entire data.
This may seem too simple to be true to some and believe me it is simple, I banged my head to the wall when this solution was presented to me by my colleague and I was not able to do it on my own. I hope this does help you people out there, if it does do let me know , if you are stuck at some other process improvement problem do let me know then as well, maybe I will be able to help.