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: Metric , target(expected time interval for a Ticket to reach Objective final Status) and 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 or special OCE field to be placed in Ticket form).
Objective management is available under General\Company\Objectives by default.
Indice
OCE Overview
The OCE module could be deploy on same JBOSS used by SM - Service Managment module or could be deployed independently.
We suggest to deploy OCE independently when Objective will have a challenging recalculation frequency or when Ticket number to be managed by OCE is very high.
The high level OCE options are available for a User with Superadmin role under General\System\OCE Setup
Field | Meaning | Comments |
---|---|---|
Active | Select it to activate OCE recalculation | |
Calculation Interval, in seconds | Set here the recalculation frequency | It will be used by default by all the Objective , it could be overridden in Objective form |
Verbose | If selected the OCE log will be more detailed |
Objective Logical Structure
- The Obejctive has a target, the OCE calculates entities (i.e.: Ticket) value related to it.
- The Obejctive could have a related Working Calendar : it will be used during recalculation to considerer the working periods (the Working Calendar could be defined for each Project or Service).
- The Aggregated Obejctive are used to create a subset of Standard Obejctive to improve the UI on Ticket view. When scope of more Standard Obejctive is overlapping with another, the one with highest priority
(position in Aggregated Objective) is visualized for Ticket.
Objective definition
Field | Meaning | Comments |
---|---|---|
Status | ||
OCE PTY | Defines the prority assigned to OCE for current Objective during recalculation | |
Type | Standard vs. Aggregated | An Aggregated Objective is a aggregation of many Standard Objective |
Entity | An Objective can be assigned ot Ticket or Ticket Activity | |
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 | |
Calculate Expected Date | If selected OCE will calculate the value expected for entities in scope of current Objective as T1 + Target Value | This information will be available as a Ticket Custom Field |
Value Type | "ABS" or "REF" | Will define if value for current Objective will be visualized as absolute time passed or referred to target |
Set calculation interval | Frequency (in seconds) of each calculation | It is optional because OCE uses by default the frequency set at Company level |
Target value | The target agreement for the Objective | |
Target expression | ||
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 1: Name: First Trigger Target: 2h Trigger Value: 0h 30m An Event will be raised after 2h 30 m.
Example 2: Name: Second Trigger Target: 4h Trigger Value: -1h An Event will be raised after 3h 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