A particular case of rolling SLA

NikolasP1
Tera Contributor

One of our teams has a quite interesting SLA. 

 

They work in 2 rolling shifts. A) 08:00-20:00 and B) 20:00-08:00. 

An incident occurring in Shift A, has 2 hours to be resolved. While in Shift B has 4 hours. 

 

The issue is that when an incident happens in Shift A but happens in time shorter than the 2 hours of the SLA, they transfer double of the remaining time in Shift B to resolve the incident. [time for B shift = 2x[2hours - time spent in Shift A]

Or in other words, Shift B has 4 hours - the hours spent in Shift A to resolve it before it is considered an SLA breach. 

 

I have explored the dynamic calculation duration but it does not take into consideration pause time as it pre-calculates the end-time. 

 

Is there a way to develop this SLA? I assume it requires some scripting but not sure where should I start digging into. 

 

Any ideas welcome

nikolas

One of our teams has a quite interesting SLA. 

 

They work 2 shifts. A) 08:00-20:00 and B) 20:00-08:00. 

An incident occurring in Shift A, has 2 hours to be resolved. While in Shift B has 4 hours. 

 

The issue is that when an incident happens in Shift A but in time shorter than the 2 hours, they transfer double of the remaining time in Shift B to resolve the incident. 

Or in other words, Shift B has 4 hours - the hours spent in Shift A to resolve it before it is considered an SLA breach. 

 

I have explored the dynamic calculation duration but it does not take into consideration pause time as it pre-calculates the end-time. 

 

Is there a way to develop this SLA? I assume it requires some scripting but not sure where should I start digging into. 

 

Any ideas welcome

nikolas

 
 
 
 
2 REPLIES 2

Tony Chatfield1
Kilo Patron

Hi, I would not consider this type of 'moving target' SLA to be valid or productive, as you are effectively penalizing Team B based on Team A inaction.

You do not make if clear if the opposite requirement is valid, IE if a task is not completed in the last 4 hours of the Team B shift do Team A have half the remaining time to complete when their shift starts?


Otherwise, I do not believe there is any simple\OOB solution that delivers the requirement as any SLA based on a target date\time (field) does not normally allow for pause value.
1 possible option would be a custom 'start' field on your task table, set by a scheduled job that runs at shift change and iterates through open tasks with matching SLA and calculates a custom start timestamp based on elapsed time, and the time that a 4 hour SLA would have left to run; You could then generate retroactive start 4 hour task_sla records based on this 'start time' and would be able to allow for on-hold\pause.

NikolasP1
Tera Contributor

Hi Tony,

thanks for taking the time to reply, much appreciated. 

 

I am 100% with you on the first part. I raised exactly the same issue, what happens when a P1 kicks in 2 hours before the morning shift? you practically have breached your SLA before even starting work! 

 

But there is a contract that stipulates this should be it... I can't comment further unfortunately but you get the point. 

I try to make them change this for the future amendment of the contract.

 

Thanks for bringing-up the custom start time, in our configuration, it would be only for the incident table, so this should be easier (no tasks to iterate). 

 

It was my last resort, after rejecting a variable duration SLA (as there is no pause time) and you can't have a custom time per SLA instance if time is fixed per schedule. 

 

I had thought of the field solution, but I had rejected the idea (in my mind) as I could not figure out how to proceed. 

 

If you don't mind, I'll elaborate my thought so you could help me out if possible:

 

Assuming you have an SLA of 2 hours (120') in the team A and a ticket comes in 30' before the end of the shift (say at 19.30).

That means that you will pass at 20.00 to team B with 180' (2x90') of time to resolve the issue. 

 

If my SLA on team B has a duration of 240', according to schedule it should start at 20.00 and finish at 00.00.

 

If I do a custom start field, I would put it to start counting at 21.00, to get to exhaust the SLA time until 00.00, correct?

 

But in this case, how would I count the time spent between 20.00-21.00? and how do i make it to stop at 23.00?

 

Of course, it would not break the SLA breach time (which is the important matter), but I think I rejected it on this last question I could not give myself an answer. 

 

thanks a lot once more for your help

Nikolas