Automatic Task Assignment to an available analyst
The IT Global Service Desk (the GSD) is part of Global IT organization of Japan Tobacco International (JTI). The GSD primary objective is to provide IT support services to JTI employees world-wide for all IT related issues. Located in three main hubs: Kuala-Lumpur (Malaysia), St. Petersburg (Russia), Montreal (Canada) the GSD operates on “follow the sun” principle being available on 24 x7 bases.
The three hubs of the GSD operate seamlessly using one standard set of tools and procedures. The process of handling incidents and requests is well automated and includes among others:
- Events management automation
- Automatic email forwarding to ServiceNow with incident creation;
- Automatic email distribution among analysts’ folders within a shared mailbox for further processing.
Nevertheless, GSD coordinators still had a lot of manual work to assign the approx. 10’000 incidents or requests per month to a team of 70 analysts. As a result, the Global Service Desk coordinators (up to 5, depending on their shift) were overloaded by routine job of assigning newly registered or reassigned incidents among all GSD analysts.
Automation was proposed to minimize that manual work and raise efficiency. The choice was either to develop a customized solution or to use an out-of-the box ServiceNow engine. This engine would then assign incidents and future tasks to analysts considering the following elements:
- Incident’s support model;
- Analyst’s skills (SAP, TME, Technical) and detailed skills (e.g. SAP P2P processes, SAP HR)
- Analyst availability, taking the analysts availability schedule into account;
- Analyst’s workload: they get less assignments if they already have more than the others;
- Wherever possible get incidents assigned to those analysts who processed them before
- Overlapping shifts of the various Service Desks locations;
- Allow as much configuration as possible by Service Desk managers without ServiceNow administrators involvement;
The solution should not impact the performance of the instance with any variation of the configuration in place. It must provide the right logging level for Service desk managers to decide about configuration changes. As well, it must preserve the ability to expand the auto-distribution to other tasks than incidents (Catalog Tasks); or to other teams who may want to auto-distribute incidents (tasks) between their members.
Two OOTB candidates have been reviewed in terms of functionality:
- On-call rotation: https://docs.servicenow.com/bundle/geneva-servicenow-platform/page/administer/user_administration/concept/c_OnCallScheduling.html
- and Skill management: https://docs.servicenow.com/bundle/geneva-servicenow-platform/page/administer/users_and_groups/concept/c_SkillsManagement.html
While going for any of out-of-the-box functionalities could have helped to achieve the goal (load-balanced incident/task assignment), they would have required a lot of maintenance of the analysts’ schedules and still some manual assignment.
Therefore, after a review of the OOTB functionalities, Fruition team advised JTI to go for a custom engine that could handle 100% of the requirements.
The Fruition team suggested to activate the Skills Management plugin and enhance the out of the box Skills table with the following:
- A condition builder added to the out-of-the-box Skills table, to control how skills are assigned to a task-based tables. The filter in the condition builder focuses on any available incident (task) fields which adds a potential to filter by the keywords supplied by a requester during incident submission;
- Add a weight field to the User Skills table;
- Creation of geography-specific skills giving different weights to analysts from different hubs (e.g. Russian Service Desk analyst has a bigger skill weight for Incidents originating from Russian requestors;
- Introduce dynamic skills depending on a situation in the tool, e.g. count the number of incidents (task) that are assigned to each available analyst and give the higher weight to one who has less open incidents (tasks).
Incidents (task) can then be assigned based on a compound score that analysts receive during the incident evaluation against their skills. The one who gets the higher score gets the incident assigned.
The creation of skills and their assignment to is managed by the Service Desk managers or analysts themselves.
Performance is not impacted
To ensure system performance is not impacted by this challenging and complex calculation for each incident (150-200/h during peak hours) a custom task assignment processing queue has been built. The processing itself is a scheduled job that walks through the unprocessed records in the task assignment processing queue.
To tackle the challenge of individual service desk analysts’ schedules, a busy/available control has been put in place. It is quite similar to the controls you can find on the major IM services (e.g. Skype) that allow you to set your status as available or busy. On top of the ability for analysts to manually set their status as available or busy for automatic assignment, the system periodically checks if analysts executed any non-automatic transaction (e.g. viewed a list or loaded incident form) and marks them “busy” when no activity is detected for a certain period of time.
Logbook of assignments calculation
The calculation made for each incident (task) assignment is recorded in details to allow service desk manager to answer the question: why this analyst got an incident (task) assigned and what were the skills that brought him on the top or the assignment candidates among other available analysts?
The solution saves service desk manager’s time on maintaining complex on-call-rotation schedules and offers the required flexibility to adjust the system behavior (through the new skills, by managing the analyst’s weights or by introducing some dynamic weight calculation as in case of the incident (task) workload).
- Solution implementation from design to go-live took less than two weeks;
- Global Service Desk went live with 23 skills defining their operations in different areas (including geography specifics and analyst workload dynamic skill scores);
- No issues detected during intensive support;
- At least one full-time employee (FTE) saved per year using this automation;
- Incident assignments are automatically processed within 1-15 seconds depending on the load (queue).
Improvements done on top of the engine in one year
- JTI enabled an automated catalog task distribution for Global Service Desk analysts without Fruition team involvement (added new skills);
- With some help from Fruition team, JTI added a more sophisticated logic behind analyst’s control (now system counts how many tasks in total were assigned to an analyst from the beginning of a day to make a decision about his/her workload)
Shepovalnikov Roman, GSD TOWER LEAD (TECH.): I am glad that we have implemented the automatic tasks assignment for us. I see 2 main benefits that it gave us:
- Release of the team resources. We can invest time in more intellectual tasks, rather than routine incident assignments done by analysts.
- Simplification of the operational procedure. Previously management of the team members playing different roles was complicated. Now it’s easier for me and for my team members.
I also see that the bigger is the team using the automatic tasks assignment the higher is the value from it. In a team of 10 analysts and more – you really need automatic tasks assignment.
Atkin, Artem, GSD TOWER LEAD (SAP): Considering that in SAP we have process specifics without automation it would have taken us minimum 1 FTE to distribute workload manually. Implemented ITSP logic is competitive comparing to previously used mail distribution algorithm. There is no efficiency loss observed which I am happy about. We invested in previously used mail distribution algorithm for several years improving it gradually. I am glad that earned experience contributed to ITSP logic we use now. By moving from email to ITSP we got additional advantages of working with web interface vs outlook.