AnsweredAssumed Answered

Best Practice for SLA based task flow

Question asked by sangv on May 10, 2012
Latest reply on Aug 5, 2013 by frederikheremans1
I have a relatively simple use case and I am looking for some guidance on the best way to solve it. There are two actors, employees and managers. Managers track how the employees are performing the tasks and perform actions based on how much at risk employees are on missing the SLA for the task.

So for example -
SLA for a task is 1 week. As a manager, I want to perform some action if the employee has not completed the task in 3 days (maybe email the employee and ask him if he needs any help). If its been 4 days and the task is not completed, I want to call the employee and check progress. If its been 5 days, I want to cancel the order or email the customer updating him that it will take longer than planned.

i) Am I better off modelling this as two different processes and having a task listener on the employee's task alert the manager's process. In this case, the manager's process will be purely an SLA based process and all the actual tasks will be on the employee's process. The other option is to model this as one process and have the SLA monitoring task and the employee's user task as parallel tasks (and have a timer event in parallel as well that feed's into a gateway).

ii) Looks like a lot of timers will be involved here. Instead of modelling this sequentially, can I loop back based on a condition and reset the timer (3 days, then add a day and then add a day). Is there a better way to do it other than using timer events.

iii) Does Activiti provide some implicit support for SLA based use cases like this. Any thing I can read up on for example. Do I just use "due date" to set the SLA?

Thanks for your help,