OCE - Service Level Management
OCE (Objective Calculation Engine) is an optional itmSUITE® module that allows you to check Ticket processing time.
It allows to define Metrics and notifications for different Workflow.
The main parameters for each Objective are: a Metric , a target(expected time interval for a Ticket to reach Objective final Status) and a scope.
Action can be configured on each Objective to manage events (for example, notification messages to solicit the progress of a Ticket).
Finally SM - Service Managment module can be configured to visualize the elapsed time or missing time for Ticket related to Objective (through columns that can be placed in the Ticket View).
Objective management is available under General\Company\Objectives by default.
Indice
Objective logical structure
- Objectives related to Agreements are automatically calculated based objectives scope (services and dates)
- Each objective has 1 target only
- Service Calendar, if applicable, wins over Objective Calendar
- For aggregated objectives, when overlapping, the one with highest priority is used
Standard Objective definition
Field | Meaning | Comments |
---|---|---|
Type | Standard vs. Aggregate | |
Metric | Lead time for workflow (status A -> status B), Group lead time for workflow (status A -> status B), Difference between date fields, Difference between numeric fields | |
Target | The target agreement for the objective | |
Calculation frequency | Delay in seconds between each calculation | |
Scope | Define the set of tickets for which the objective is calculated | |
Events | Definition of events triggered in time (to be used for actions) | |
Colours | Definition of RAG colours for objective fields | |
Recording | Settings used to create snapshots of objective data to be used in trend analysis |
Modify on an Objective/Ticket scope/Working Calendar:
- When an Objective Scope\Property is updated: it will be fully recalculated (also Ticket in status Frozen/Suspended)
- When an Objective or a Working Calendar related to Objective is updated: it will be recalculated (excluding Ticket in status Frozen/Suspended)
- Ticket change context:
- Next time PREV objective will be recalculated: Ticket metric value will be removed
- Next time CURRENT objective will be recalculated: Ticket metric value will be added
- If an Objective is set "Inactive" or Deleted: all existing Ticket metricvalues will be keep, but no new metricvalue will be added/modified
Metric
Lead Time for workflow tickets
An Objective based on this Metric will store data about time required for a Ticket to pass from a Status T1 to Status T2 and it is compared with Target value.
Example:
To monitor the resolution time of an incident is possible to configure an Objective as follows:
- T1: Opened state
- T2: Complete state (note that T2 status is considered equivalent to a Frozen state)
- Target (maximum time identified to bring the ticket to Completed state (T2)): 4 days
- Calendar: defined at Company or Service level and includes 8 business hours per day (Monday to Friday)
- Scope: All Incident Ticket opened on technical service "Database Management" with Medium Priority
- Frozen States: Closed, Canceled (see below for a detailed definition of Frozen)
- Suspended States: Suspend (see below for a detailed definition of Suspended)
Difference between fields - datetime
This Metric allows to manage the difference between 2 datetime Fields (Standard or Custom) and compare it with the Objective Target.
The difference between datetime is calculated in working hrs and depends from selected Working Calendar.
Is still possible to set Status as Frozen/Suspended to stop calculation when a Ticket is in any of these Status.
Difference between fields - numeric
This Metric allows to manage the difference between 2 numeric Fields (Standard or Custom) and compare it with the Objective Target.
Is still possible to set Status as Frozen/Suspended to stop calculation when a Ticket is in any of these Status.
Group lead time for workflow tickets
This metric allows to select one Group and, optionally, its subgroups.
It means that the metric is calculated as the Leadtime for workflow metric but in this case OCE will store data for each group / subgroup worked on Ticket and selected for an Obejctive with this Metric.
Working Calendars
The Obejctives based their calculation on Working Calendars.
They can be defined in General\Company\Working Calendars (default is set up here).
They can be related to Service in Tab Agreements (only one Agreement can be Operational at the same time for a Service).
Objective Scope
The Objective scope defines the set of Tickets for which OCE will execute calculation.
If the status of a Ticket bring it out of the Scope: the OCE data related to it will be removed.
Field | Meaning | Comments |
---|---|---|
Filter | Attributes to define the set of tickets for which the objective is calculated | |
Parameters | Selection of values for the metric | T1 and T2 must be assigned respectively to the Ticket status that delimit the beginning and end of the range on which the Target must be respected.
The Occurrence set whether the occurrence of Ticket Status to be considered is the first, the last or the N |
Flow properties | Definition of behaviour for workflow statuses (e.g. calculation suspension) | Frozen: when Ticket is in a Frozen status, the objective calculation is stopped.
When Ticket exit from a Frozen status and enter in a not Frozen or Suspended: all the time passed on Frozen status is added. Suspended: when Ticket is in a Suspended status, the objective calculation is stopped. When Ticket exit from a Suspended status and enter in a not Frozen or Suspended: all the time passed on Suspended status is NOT added. |
Events
Each Object can raise one or more events that can be managed by the Action Engine.
Field | Meaning | Comments |
---|---|---|
Name | Event name | It will be available in Action Engine |
Trigger Value | Set time interval from Target. Event will be raised at Target +/- Trigger Value time |
Example
- Name: First Trigger
- Target: 2h
- Trigger Value: 0h 30m
An Event will be raised after 2hr 30 m.
Colors
The Colors Tab allows to define the colors to display in the PMSM views (Forces and Personal) using OCE Target and Value fields.
Field | Meaning | Comments |
---|---|---|
Type | "ABS": The column related to current Objective will visualize the time past from T1. "REF": The column related to current Objective will visualize the remaining time to stay in target. | |
Trigger Value | Depending on the value selected for the Type field: "ABS" - The cell will assume the color set at the time set in the current field. The starting time is when the Ticket reaches the T1 Status. "REF" - The cell will assume the color set at the time set in the current field. The ref. time is the Objective Target. You can also use the '-' sign for the value in this field. | |
Colors | Using the MODIFY button is possible to choose the color for the Ticket view when the conditions set in the TYPE and TRIGGER VALUE field are verified. |
Recording
This option allows to get OCE data snapshot related to current Objective to be used in DB (Dash Board) itmSUITE module.
Is possible to specify the recording frequency.
Add an Objective column to a Forced View
The PMSM Forced Views feature (accessible from General\Company\Forced Views by default) allows to include columns containing information calculated by OCE in Ticket views.
After Choosing the type Objective Escalation will be possible to add to the Metric Value or Target column to the view for the defined Objectives.
The icons visualized will help to understand if OCE is active on the current Ticket, if it is paused ("Suspended") or if it is stopped ("Frozen").
OCE Calculation Algorithm
Each “interval time”: quartz Engine sends a wake up signal to OCE: • If a worker is available: it start to calculate an Objective • If no worker are available: wake up signal is ignored
Metric values belonging to an Aggregated Objective will be visualized by itmSUITE PMSM (in Forced View or in Ticket details) when all the Objectives Children of Aggregated are calculated.
For each valid Objective do
- If Objective type = standard
- Check T1, T2 (once)
- Get active actions (once)
- Get frozen/suspended statuses (once)
- Save Objective data to OCE DB – id, name, target value (once)
- Point A1: For each non frozen and non suspended ticket do
- Get ticket history
- Detect occurrence of T1 and T2
- Calculate duration of working time between T1 and T2
- Calculate duration of suspended time between T1 and T2
- Save difference to OCE db as calculated metric with current time
- Check and trigger actions if needed (schedule for future handling)
- For each block of frozen and suspended tickets (block size = 500) do
- Update time stamp for calculated metrics
- For each frozen or suspended ticket without calculated metric value to Point A1.
- Remove calculated metrics where time is not equal to current.
- If Objective type = aggregated
- Save Objective data to OCE DB (once)
- For each assigned Objective do
- Point A2: Find all ticket ids in scope
- Find all frozen and suspended ticket ids in scope
- Find all existing aggregated metrics
- For each ticket from Point A2:
- For each assigned Objective
- If ticket is frozen or aggregation is exists – skip
- If there is no existing metric for Objective – skip
- Assign metric to Aggregated Objective
- If ticket is frozen – add as existing metric
- For each assigned Objective