Ask HN: What's the best way to handle internal tech support?
Currently, all this is handled via a simple Slack channel. This is actually great, since there's no bureaucratic cost to getting in touch, unlike with a proper ticketing system, and having actual public conversations is the fastest way to resolve issues.
But of course, we started seeing inefficiencies in other aspects. The same questions keep being asked over and over again. There's an FAQ linked in the channel topic and it's automatically posted in the channel every 12 hours, but it's still not enough, we still get tons of questions that could be self-solved without engineers' intervention.
So, that made me curious, how are other companies handling this? Could we somehow maybe auto-respond to Slack messages with the correct answer with some bot, or just come up with something that actually makes people check the FAQs before posting? Or is there some way better solution to replace all this?
30 comments
[ 2.8 ms ] story [ 69.8 ms ] thread* have more-experienced CS reps act as "expert reps"; they handle more of the triage & answering routine questions. They're also a valuable information source since they see more questions than any individual engineer.
* similar but different: have a point person from engineering responsible for answering & collating questions. This is a tricky role to hire for, since it's not a standard "pull ticket, ship code" setup. This person also typically carries the "user perspective" into engineering planning meetings.
* interpret the repeated issues as design feedback. If CS reps are "always getting stuck", figure out what about the UX is causing them to get stuck. If the problems are fixable by the user, can you add messaging to the interface that points them towards a resolution when they get an error? Even better, can you design the system so those errors can't be made? (see also Elm's "make invalid UI states unrepresentable" philosophy)
This is very good advice. Treat the support requests as also being bug reports.
The fact that CS reps are not reading the answers that already exist on the FAQ also show that there a system or process failure there. Either the reps don't know about it, the FAQ does not do what the reps need, or they have decided that asking questions is the easiest way to get what they need.
Working on tech support, I found that non-technical people are very rarely actually "stupid" (as some technical people are wont to say) but humans optimise for lowest short-term effort: "ask a technical person on Slack rather than read a big bunch of stuff or try to figure it yourself" might be the most efficient solution for them, so that's why they do it. In the worst case, you might have to make your engineers less available and deliberately be a bit less helpful to the reps if you can't offer a better solution and need to protect engineer time.
This comes with the collary that we now expect their team to ask them questions (as a designated deputy), and the delegating team will promptly redirect questions from the deputy’s team back to them:
hey how do I <do the thing mentioned in the FAQ>?
Oh hi, I think one of your team’s <whatever> deputies is <so and so>, check with them because they definitely know.
Instead of hiring someone extra, you could also rotate the assignment on a daily/weekly basis to one of the engineers.
My first thought is to look at the Slack stats and see which engineers seem to enjoy helping CS and make triaging Slack their job priority for a while with the goal of improving interdepartment communication processes. In my opinion, saying "read the FAQ" is about as helpful an answer as "read the manual" is on StackOverflow...over the long term it's a good solution, in the moment it's bullshit.
Good luck.
Information dissemination can be very tough, because a system that works for one person doesn't work for another, so two otherwise equally skilled persons may not find the same information in the same manner. It's very tempting to think you can engineer away this problem, but it introduces many more.
If you have repeat offenders who really are eating up a lot of time for everyone (I'm not getting from your description if other CS also participate in providing answers or if only Engineers do), then it's worth having an educational talk with them. "What did you try checking first? What search terms did you use? What information did you get on the problem first before coming to the channel to ask?" Often times the problem isn't the process in the information store (i.e., your FAQ and Engineers + more experiences CS reps), but in the way that the information is being processed by the CS rep, and how they try to feed that information in their available sources.
To clarify on the sources bit, different systems treat search differently, adding weight to different parts of articles and entries, etc. We switch our internal wiki system over a few months back, and it took awhile to get used to the search on the new system; it offered more granular search arguments, but people had gotten used to the relatively simple Title+Document Content > Title > Document Content search on our previous system. We had to retrain people a lot on how to "search" for information, and also had to really take time to structure the content in our new system to be discoverable by how our team was searching.
So, in short, figure out how big the issue really is. It's never going to be perfect, or even close. For your repeat questions/offenders, investigate - see what the people tried before hand, and figure out if it's an issue with what the CS reps are gathering/presenting or of there is an issue with discoverability in your FAQ/other information systems.
I'd love to setup one of those for a small group of researchers who use the HPC cluster that I administer.
There are so many repetitive questions about common errors in in-house scientific tools. It would be better to provide a search interface to a local knowledge base before those questions get to me..
We could’ve created an FAQ but thought it was cool to do something like that.
We might actually end up with a hybrid solution after giving the bot a go.
Their site is https://www.askspoke.com
Also your support process lacks of accountability and this is a huge risk: sooner or later you will need to allocate resources to support and you need both an estimate and a trend.
If you want to keep using slack, use it to record ans triage problems first. Then, use any channel you have to follow up and close.
They've discontinued it but there are a few software solutions. For example we're working on Wuha (https://wuha.io) which aims to address the problems you mentioned.
I like your own suggestion of a bot to try to guess the correct question/answer. The first thought that comes to mind to make that would is to build out a wiki and a bot that will try to match up questions to the information in that wiki. Engineers could start a process to put answers in the wiki, and send the link to the asker. The askers can start asking the bot, and the bot can provide a few possible questions and answers back, with an option to say, "None of these are right, ask the engineers".
A system like that would solve your problem, while building the knowledge base needed to self-service information gathering, without throwing your entire process into a big change cycle.
TLDR: Pay for quality.
They are conversing internally with it. You can also use Slack to get notified. If a conversation is worth it they then either use the Trello plugin to create a card there or link to a new conversation in Discourse.
Hope this helps.
Perhaps make a slackbot that tries to parse and question and return the relevant FAQ link.