OCE - Service Level Management

Da itm wiki.
Versione del 30 mag 2018 alle 10:35 di Renato.daverio (discussione | contributi) (Objective definition)

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.

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

OCE logical structure
  1. The Obejctive has a target, the OCE calculates entities (i.e.: Ticket) value related to it.
  2. 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).
  3. 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:

  1. When an Objective Scope\Property is updated: it will be fully recalculated (also Ticket in status Frozen/Suspended)
  2. When an Objective or a Working Calendar related to Objective is updated: it will be recalculated (excluding Ticket in status Frozen/Suspended)
  3. Ticket change context:
    1. Next time PREV objective will be recalculated: Ticket metric value will be removed
    2. Next time CURRENT objective will be recalculated: Ticket metric value will be added
  4. 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:

Objective example

To monitor the resolution time of an incident is possible to configure an Objective as follows:

  1. T1: Opened state
  2. T2: Complete state (note that T2 status is considered equivalent to a Frozen state)
  3. Target (maximum time identified to bring the ticket to Completed state (T2)): 4 days
  4. Calendar: defined at Company or Service level and includes 8 business hours per day (Monday to Friday)
  5. Scope: All Incident Ticket opened on technical service "Database Management" with Medium Priority
  6. Frozen States: Closed, Canceled (see below for a detailed definition of Frozen)
  7. 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

  1. If Objective type = standard
    1. Check T1, T2 (once)
    2. Get active actions (once)
    3. Get frozen/suspended statuses (once)
    4. Save Objective data to OCE DB – id, name, target value (once)
    5. Point A1: For each non frozen and non suspended ticket do
      1. Get ticket history
      2. Detect occurrence of T1 and T2
      3. Calculate duration of working time between T1 and T2
      4. Calculate duration of suspended time between T1 and T2
      5. Save difference to OCE db as calculated metric with current time
      6. Check and trigger actions if needed (schedule for future handling)
    6. For each block of frozen and suspended tickets (block size = 500) do
      1. Update time stamp for calculated metrics
      2. For each frozen or suspended ticket without calculated metric value to Point A1.
    7. Remove calculated metrics where time is not equal to current.
  2. If Objective type = aggregated
    1. Save Objective data to OCE DB (once)
    2. For each assigned Objective do
      1. Point A2: Find all ticket ids in scope
      2. Find all frozen and suspended ticket ids in scope
    3. Find all existing aggregated metrics
    4. For each ticket from Point A2:
      1. For each assigned Objective
        1. If ticket is frozen or aggregation is exists – skip
        2. If there is no existing metric for Objective – skip
        3. Assign metric to Aggregated Objective
        4. If ticket is frozen – add as existing metric