Proposal to use GitLab issues as a means for support to request technical help from the development team
Problem Statement
Currently, GitLab support does not have a formal and scalable workflow process for requesting assistance from the various back end development teams.
What is the problem?
At present, if a support engineer has exhausted all avenues of investigation within the support team and they require further assistance they typically reach out to the back-end development teams via the various Slack channels.
Why is this a problem?
The above approach raises the following issues and concerns:
- This is an informal and untracked pathway for an engineer to elevate an issue.
- It provides no consistency in the content or structure of requests that are made to the back end development teams
- The current voluntary basis by which a member of the slack channel (support or development) provides help, introduces the risk of requests being left with either a slow response or no response.
- As we continue to grow, the slack channels become increasingly noisy and this impacts the ability to scale the current approach
- A lot of useful debugging information resides in slack which is then deleted after 90 days meaning that valuable reusable information is lost
- It is not possible to track the amount of assistance that development is affording to support
- It is not possible to track via GitLab which are potentially the problematic areas of product
Proposal
To address these problems I propose that we provide support engineers with a documented pathway to elevate tickets or any support-related requests that they are unable to progress, this approach is not intended to completely replace slack communication in the channels but to offer a more formal elevation process when the need arises.
The proposal requires support senior management to liaise with e-group and/or senior development management to get buy-in so we can begin the process of creating a new workflow that enables support engineers to elevate issues to development if they are unable to progress the issue and/or if there is ambiguity regarding if the issue is a defect or feature request.
The new workflow could then be broken down into the following iterations:
- Create a new GitLab project or use existing developer maintained projects to enable support engineers to request assistance from development
- Create templates to assist support engineers to ensure that support has performed the necessary due diligence (gather the necessary logs, have exhausted doc troubleshooting suggestions) prior to creating an issue.
- Add the appropriate labels to the templates for reporting and tracking
- Work with the support ops team so issues can be linked to tickets in Zendesk and vice versa.
- Create and document a workflow so that engineers are aware of the rules of engagement and how to follow the process.
Please note: I previously raised a suggestion to dog food and use GitLab to track these requests in issue 3507 a number of months ago but it never got off the ground, however since then and as noted below the "Geo“ development team have implemented a similar proposal so I believe the proposal is worth revisiting.
GEO Team Project
- The “Geo” development team have recently put a very similar process in place for support engineers that require development assistance. This could be viewed as a potential pilot project, and is documented in the handbook: How to ask for support from Geo.
- They have created an issue template and encouraged support engineers to log requests for assistance via this project.
- The following issue is an example of support and development collaboration
DRI
Potential Roadblocks/Things to consider
- We do not get buy-in from some of the development teams
- Such a significant new workflow approach would require bedding in time by both support and development
- Further iterations of this proposal would likely be required.
Desired Outcome
- There will be a clear pathway for engineers to obtain assistance for challenging tickets, this should reduce stress and increase collaboration between support engineers and developers.
- We will have central searchable issue repositories where valuable debugging information will be stored.
- If development help is required then we will have clear SLO's, ensuring that support engineers get help in a timely fashion and tickets are progressed quicker.
- This is a scalable solution for GitLab as a growing business
- It offers a reportable solution
Competition / Alternative solutions:
- Continue to use the informal slack approach
- Use a third-party issue tracking tool
- Investigate if Zendesk can be used to elevate tickets to development