cancel
Showing results for 
Search instead for 
Did you mean: 

How to optimize process bottleneck?

gromar
Champ in-the-making
Champ in-the-making
Hello.

I tried to optimize process from my previous post (How to predict process bottleneck?).
The way, how is it done, is described here Optimize the process 1.

Questions
    Does anybody have real case where simulation could be used to optimize process? (I would like to use real case to extend simulation framework)
    In fact, is simulation needed to optimize processes?
As usual I would appreciate any feedback and interesting suggestions to extend simulation framework.
15 REPLIES 15

jbarrez
Star Contributor
Star Contributor
Nice!

One way that typically 'solves' these bottlenecks is escalation: put a timer on the slow task, and escalate it to someone else (or a group) when the timer fires.

Does anybody have real case where simulation could be used to optimize process? (I would like to use real case to extend simulation framework)
In fact, is simulation needed to optimize processes?

I think you must separate two different phases of optimization:

- Optimization during design: here simulation is usable. Use the simulation to test-proof the process and see potential bottlenecks. Typically, you'd see group allocation in simulation tool. Ie user task A can be done by group X with 5 people and task B can be done by group Y with only 2 people. Then, you can take a bunch of processes and run them through the simulator. You'd probably see bottlenecks arise once group Y has more and more work to do.
- Optimization during runtime: here simulation is not usable, as this must be done based on the historical data produced by the engine

gromar
Champ in-the-making
Champ in-the-making
One way that typically 'solves' these bottlenecks is escalation: put a timer on the slow task, and escalate it to someone else (or a group) when the timer fires.

Yes. Escalation 'solves' bottleneck. I would say, it is 'Fireman extinguishes fires' approach, and it works in many cases.

I think you must separate two different phases of optimization:

- Optimization during design
Yes exactly, simulation during design can decrease pressure on the 'fireman'.

- Optimization during runtime: here simulation is not usable, as this must be done based on the historical data produced by the engine
I hope simulation is usable in runtime too. From my point of view, simulation is something like a scrying ball. (another question is how much scrying ball costs and how precise is.  Smiley Happy ). That's why I used historical data to simulate users activities.
I made small examples ( DueDate MonitorAre we able to finish all started process instances? )

The first example was done some time ago - it is not based on the simulation process engine. It uses simulation on the process tasks. Migration is simple.


I hope somebody will have real case where simulation (in design/runtime/optimization phase)  can be successfully applied.

jbarrez
Star Contributor
Star Contributor
Yeah, I think you are right: the simulation engine could be used for runtime optimization too. Or at least there is a big shared piece.

I don't have any 'real' business processes unfortunately. As framework builders, we're the last one to see them …

gromar
Champ in-the-making
Champ in-the-making
The comment on the margin
I do not have any real example but I tried to generate report about percentage of tasks finished after dueDate. Does not matter whether simulation was used or not.
To read more visit DueDateGenerator page.

jbarrez
Star Contributor
Star Contributor
Cool. What are your plans with this? Do yo envision a toolset around Activiti?

gromar
Champ in-the-making
Champ in-the-making
Yes, I would like to provide tool which can support process life cycle.

The tool (let say scrying ball) should provide:
    1. reports to monitor activiti process engine (running, finished  processes, tasks…..) - it should be independent from "live" engine or "simulation" engine. Currently implemented reports are:
    2. simulation engine - to simulate process behavior and to help in process monitoring and optimization.
To achieve that I would like to have real example, on which I can prove the concept.
Any ideas are welcome.

Currently I am working on process model extension ( to cover simulation model too).

gromar
Champ in-the-making
Champ in-the-making
I added new functionality to simulator.

The idea is to use the real load and user behavior to optimize processes. I used following steps:
    1. record load and users behavior (History service full audit from live engine)
    2. prepare simulation engine for playback
    3. playback engine execution
    4. evaluate simulation run ( if acceptance requirements were not met change process and playback again)
To read more visit a link or try following test

Help:
    Could somebody help me to find good example where process simulation and optimization can be applied?
    Any feedback is appreciated.
Thank you in advance.

jbarrez
Star Contributor
Star Contributor
The link you posted isnt working anymore, where can I find it?

gromar
Champ in-the-making
Champ in-the-making
Sorry - I've renamed the project