The Teamscale Customer Support Process
Dr. Lars Heinemann
A Growing User Base
In the early days of Teamscale when the number of users was still moderate, we used a rather ad hoc way of providing support to our customers. In most cases, support requests were directly handled by the Teamscale product development team. This worked perfectly fine at that time. Customers and evaluators got the most qualified help possible and the development team in turn received unfiltered feedback from Teamscale users.
Fortunately, the user base of Teamscale grew significantly over the past years and, as expected, we were facing an increased number of support requests with a broad variety of topics ranging from general questions regarding installation, configuration, and usage to feature requests and bug reports.
As a consequence, the work load on the product development team grew, occupying resources for further evolution of Teamscale as a product. We felt it was about time to rethink the way we do customer support. Right from the beginning, customer support was a key element in our strategy towards a successful commercial software product. To be able to keep up the support quality our customers were used to, we needed to introduce a more structured process for providing it. With the experience gathered from the support incidents we got so far, we developed a support process for Teamscale.
The Teamscale Support Process
In general, our customer support has the following high-level goals:
- Help customers who have problems using Teamscale
- Leverage knowledge across support incidents (users have similar questions and problems)
- Gather feedback on how to improve Teamscale
We use a two-level support model for Teamscale support: 1st Level and 2nd Level Support. The Teamscale 1st Level Support is the first point of contact of a customer who has a problem with or a question about Teamscale, i.e., needs support. In contrast to 2nd Level Support, the 1st Level Support is responsible for pre-filtering incidents and providing a quick resolution of simple or recurring problems via usage of an incident management system. In addition to helping the customer, the 1st Level Support is also responsible for updating the knowledge base with new solutions to leverage gained knowledge for future incidents.
The primary goal of 1st Level Support is to respond to the customer. This does not necessarily mean that a solution to the problem has to be provided instantly. This can for instance mean that in case of a more complex problem, the customer is informed that the problem is being analyzed and worked on. In cases where the problem cannot be handled by 1st Level Support (e. g. problem exceeds knowledge of support agent or in case of bugs), the 2nd Level Support gets involved. The 2nd Level Support is provided by the Teamscale product development team.
As a general requirement, the 1st Level Support is expected to answer the customer in a guaranteed time frame of one business day. The expected process of a support incident is as follows:
- Support request comes to attention of agent
- Agent sets basic information in ticket (e. g. incident type, customer, etc.)
- Agent analyzes request and tries to provide solution using knowledge base
- In case of unknown/new problems, agent gathers more information from the customer
- In case of a bug, the agent first checks if it is a known bug. If it is a new bug, a bug ticket for product development is created. The customer is informed that the problem will be fixed in a future version of Teamscale. If possible, a workaround is provided.
- In case the agent is unable to provide a solution or workaround, the 2nd Level Support is involved
- Agent enters knowledge gained during the support incident (e. g. workaround for issue) in the knowledge base depending on the estimated likelihood of other users having the same issue.
With this process we were able to free resources of Teamscale product development and at the same time still provide qualified support and short response times to customers.