Essential Service Desk Capabilities
## Goal
1. Re-invest in GitLab Service Desk (after several years of non-investment) to fulfill the Service Desk Vision over the next 2 years (2023-05 to 2025-05)
## What's In Scope

[Mural Link](https://app.mural.co/t/gitlab2474/m/gitlab2474/1682111093329/18cdc98a6928af5646f75897795a81bdf232de89?sender=kchu5624)
### Service Desk
<table>
<tr>
<th>Maturity Plan</th>
<th>Target Use Cases</th>
<th>Compare To</th>
</tr>
<tr>
<td>
Viable:
* Ticket Management
* Queue Management
* Flexible Email Configuration
Complete:
* Reporting & Analytics
* Service Level Agreements
* Workflows & Automations
* Improved Intake Capabilities
* Chat tool integrations
* Approval workflows
Lovable:
* Customer Relationship Management
* Automated responses
</td>
<td>
* **\[Consumer\]** When using a software product or service and I run into a problem, I need an easy way to request and receive support, so that I can resolve the problem that I'm experiencing.
* **\[Agent\]** When triaging requests for support, I need to quickly determine the order in which I need to process tickets, so that I can provide timely customer service.
* **\[Agent\]** When responding to a support request, I need to understand additional context about the consumer and their problem, so that I can provide the most effective solution possible.
* **\[Agent\]** When handling a large volume of support requests, I need tools to help me automate ticket workflows, so that I can maximize my efficiency in providing support.
* **\[Business\]** When dealing with a large volume of support requests, we need to define service level agreements, so that we can set expectations with the consumer and provide quality support promptly.
* **\[Business\]** When managing a service desk, we need to understand request and resolution trends, so that we can appropriately staff and manage the service desk.
</td>
<td>
[Zendesk Service](https://www.zendesk.com/service/), [Happy Fox](https://www.happyfox.com/), [Intercom](https://www.intercom.com/)
</td>
</tr>
</table>
### Links
- [IT Ops GitLab use cases](https://docs.google.com/spreadsheets/d/1kUed4OcSHCNyEh0p1fF5R1UxdPEp4UFqhdnViY7Vf84/edit#gid=247529688).
## What's Not In Scope
<details>
<summary>
### Service Management
</summary>
<table>
<tr>
<th>Maturity Plan</th>
<th>Target Use Cases</th>
<th>Compare To</th>
</tr>
<tr>
<td>
Viable:
* Incident Management **\[In Progress\]**
* Service Catalog
* Asset Management
Complete:
* Problem Management
* Change Management
* Configuration Management
* Approval Rules
Lovable:
* Custom Data Objects
* Custom Permissions
</td>
<td>
* **\[Consumer\]** When I need to access a service to accomplish my daily responsibilities, I need to request access to the service, so that I can complete the tasks for my job.
* **\[Agent\]** When there is a service access or hardware request, I need to ensure that the team member is authorized, so that I can maintain compliance with company policies.
* **\[Business\]** When there is a problem or outage with a service, we need to quickly understand the root cause, so that we can mitigate the problem efficiently.
* **\[Business\]** When we need to change an existing service, we need to appropriately collaborate and schedule the change, so that consumers of the service experience as little disruption as possible.
* **\[Business\]** When managing a large number of services, we need a way to document the service details and configurations, so that we can effectively manage all of our assets from a single source of truth.
</td>
<td>
[Jira Service Management](https://www.atlassian.com/software/jira/service-management), [Zendesk Sunshine Platform](https://www.zendesk.com/platform/), [SnipeIT](https://snipeitapp.com/)
</td>
</tr>
</table>
- Workforce Optimization
- Process Optimization
- Employee Portal
- Environment, social, and governance (ESG) Solutions
- Business Continuity Management
- Operational Risk Management
- Third-party Risk Management
- Telecommunications Service Operations Management
- Operational Technology Management
- HR Service Delivery
- Legal Service Delivery
- Supplier Lifecycle Management
- Financial Service Operations
- Healthcare and Life Sciences Service Management
</details>
## IT Ops Business Case Priorities
<details>
<summary>
View table :star:
</summary>
| Priority | Challenge | Related work items |
|----------|-----------|--------------------|
| 1 | CMDB/Asset Management/Service Catalog | https://gitlab.com/groups/gitlab-org/-/epics/235+ <br>https://gitlab.com/groups/gitlab-org/-/epics/8284+ |
| 2 | ITIL/ITSM Certification | https://gitlab.com/groups/gitlab-org/-/epics/8820+ |
| 3 | Ticket Management & Productivity | https://gitlab.com/groups/gitlab-org/-/epics/8829+ |
| 4 | SLAs | https://gitlab.com/groups/gitlab-org/-/epics/8828+ |
| 5 | Contact Experience | https://gitlab.com/groups/gitlab-org/-/epics/8830+ |
| 6 | Technical | https://gitlab.com/groups/gitlab-org/-/epics/364+ |
| 7 | Knowledge Management | https://gitlab.com/groups/gitlab-org/-/epics/8831+ |
</details>
## Customer Support Business Case Priorities
<details>
<summary>
View table :star:
</summary>
| Actual Persona (in Support) | GitLab Persona | Story | ZD Equivalent Feature | Complexity | GitLab Analog Feature | NOTES |
|-----------------------------|----------------|-------|-----------------------|------------|-----------------------|-------|
| Support Manager | Cameron (Compliance Manager) | As a manager I need to be able to to understand how quickly the team is moving through issues. | SLA Timers | High | https://docs.gitlab.com/ee/operations/incident_management/incidents.html#service-level-agreement-countdown-timer | Existing feature isn't mature enough - needs to measure time between updates, not time to close. |
| Support Manager | Cameron (Compliance Manager) | As a manager I need to be able to create adhoc reports based on labels applied to issues. For example, I might want to know how often issues with the label "important" are created and how quickly the team is closing them. | Explore | Medium | https://docs.gitlab.com/ee/user/group/insights/ | May be able to extend insights to be more finegrained |
| Support Operations Specialist | Devon (DevOps Engineer) | As an operations engineer, I need to be able to automate common tasks based on various factors. For example, if a ticket is raised using a certain template I might want to automatically assign a group of individuals, ping a Slack channel and set an SLA timer. | Triggers, Automations | | GitLab Triage | |
| Support Engineer | Sasha (Software Developer) | As a person directly responsible for taking action on issues, I need to be able to solicit more information quickly when things aren't clear or work on meta-data depending on context that is exposed while working in an issue. To do this I should be able to automate common responses and set/remove ticket labels. | Macros | | Templates | |
| Support Engineer | Sasha (Software Developer) | As a person directly responsible for taking action on issues, I need to be able sort issues that need replies by SLA times | Views | | Boards | |
| Support Operations Specialist | Devon (DevOps Engineer) | As an operations engineer, I want to be able to create custom views that expose some information and hide other information. For example, I might want a view for tickets with a certain label that are awaiting reply, sorted by SLA times remaining. | Views | | | |
| Support Manager | Cameron (Compliance Manager) | As a manager, I want to solicit after-action feedback from customers so that I can understand how to improve my team. | CSAT Survey | | | |
| Support Manager | Cameron (Compliance Manager) | As a manager (and customer) I need to be able to ensure that only the customer and allowed team members can view tickets | | | | |
| Support Manager, Support Engineer | Cameron (Compliance Manager), Sasha (Software Developer) | As a manager and person responding to tickets I need to be able to communicate internally through private comments; posting summary and relevant information without the ticket submitter being notified | Internal comments | | | |
| Support Operations Specialist | Devon (DevOps Engineer) | As an operations engineer, I need to be able to synchronize data (such as users, organization names and SLA policies) from one or more 3rd party systems to ensure tickets are handled with the right priority. | | | | |
| Support Operations Specialist | Devon (DevOps Engineer) | As an operation engineer, I want to grant a subset of users permissions to coment internally and view issues, but not edit or change other properties such as public replies, tags or other metadata. | Light agents | | | |
| Support Operations Specialist | Devon (DevOps Engineer) | As an operation engineer, I want to perform automated actions (such as posting to a webhook or changing metadata) based on some metadata present in an issue. For example, I might want to send a notification when a ticket is first opened, but halt such notifications on subsequent replies. | Triggers/Automations | | https://docs.gitlab.com/ee/user/project/integrations/webhooks.html#comment-on-issue | |
| Support Manager, Support Engineer | Cameron (Compliance Manager), Sasha (Software Developer) | As a manager or agent, I need to be able to open a request on behalf of a 3rd party | | | | |
| Support Manager, Support Engineer | Cameron (Compliance Manager), Sasha (Software Developer) | As a manager or agent, I need to be able to view, add and update additional CCs ("watchers") on an open request | CCs | | Subscribe | |
| Support Manager, Support Engineer | Cameron (Compliance Manager), Sasha (Software Developer) | As a manager or agent, I need a visual indicator to now if someone else is composing a reply or viewing a ticket | | | Assignment | |
| Support Operations Specialist | Devon (DevOps Engineer) | As a operations engineer I need to be able to guide a ticket submitter to provide specific information during the creation of a ticket through a structured form | Ticket form | | templates | |
| Support Operations Specialist, Support Engineer | Devon (DevOps Engineer), Sasha (Software Developer) | As an operations engineer or agent, I need to be able to report and handle spam, autoresponders and other automated ticket creation strategies | | | | |
| Support Manager, Support Engineer | Cameron (Compliance Manager), Sasha (Software Developer), Devon (DevOps Engineer) | As an agent, operations person or manager I need to be able to create custom ticket views that sort/group issues by meta data such as form used to create the ticket, SLA time, keywords or tags | Views | | tags, templates seem to fit this too | |
| Support Operations Specialist | Devon (DevOps Engineer) | As an operations engineer, I need to accept submissions of issues from a variety of sources; including email, ticket form or other sources that populate known metadata automatically | Ticket Channels / Organizations | | | |
| Support Manager, Support Engineer | Cameron (Compliance Manager), Sasha (Software Developer), Devon (DevOps Engineer) | As a human who interacts with issues via email or through a support view, formatting should be preserved across mediums. If I email back markdown, this should be translated properly | | | GitLab issue comments would do this | |
## Use Case Sequencing
1. Queues & Routing
2. Centralize Intake
3. CMDB integration (place holder) (IT is looking at an external asset management platform.)
4. SLA
5. CMDB API hooks
6. Slack integration for intake (IT FSEs could take this on potentially?)
7. Advanced routing/queuing
</details>
epic