Analyzing a business process will require the usage of a dedicated solution which has been designed for that purpose: a Process Mining Solution. This solution will gather the data coming from the different sources systems to propose many different views on the real process as he has been executed. Sometimes there’s some confusion on the real purpose of such solutions as people could believe it’s only about re-engineering an existing process from his design (like by using an BPMN file for example).
This is not the aim of the Process Mining solution. Clearly the Process Mining purpose is to reconstruct the process and all its variations exactly in the way they have been performed (in the real world). Saying differently, a Process Mining solution displays the real process contrary to the process design or template (which focus on the Process specification).
Analyzing the way a process has been executed involve to understand some important notions like:
- A process must be identifiable. It’s mandatory to be able to distinguish a process from the others (like an order from all the other orders). Generally we use here an identifier of the process instance (for the order it could be the Order ID which must be unique for this specific order for example). It’s important here to make the difference between the unicity of this Process instance and the unicity of this instance in several different systems.
- Each step (for a business point of view) has to be identifiable as well. Moreover it’s important to notice at this point they must be standardized as they can come from different systems.
- It’s also important to know when each event occurs in the process instance. For that we’ll need to manage a timestamp.
These are the minimum information needed to analyze or profile a process. Of course it’s possible to add more information (we’ll talk about dimensions) so as to enrich the analysis, enable more filtering, adding costs, etc.
These optional information can be attached :
- To the process instance itself
- To each process instance steps.
Typically we have 2 main dimensions used at any time :
- Time : this dimension came from the timestamp (mandatory)
- Cost: this information is optional and has to be added
We can also add in these dimensions the granularity consideration as it would be interesting to analyze the process :
- At all execution levels. Imagine you want to have an idea on the time spent or the global duration of all the process instances for example
- At the Process instance level: here we’ll focus on the process execution itself. Coming back to our previous example (Order To Cash) it would be interesting to figure out how these orders are executed.
- At the step level: at each step of the process, what’s happening ? how long does it take to perform it, what are the previous/next steps ? How much does this step really cost ? etc.
To summarize the different analysis axis we have:
- The process flow (Process/steps)
- Time & Costs
- Added dimensions (optional)
- Granularity aspects (Process/process identifier/step)