By Mike Jackson, Software Architect.
Software support can be a double-edged sword. On the one hand, requests for help prove your software has users. On the other hand, calls for assistance can come in at any time regardless of whether you’re busy or not. These top tips will help you manage support requests to the benefit of both your users and yourself.
1. Put yourself in the user's shoes
Users may have little, if any, software development knowledge or experience. Design your software and support materials from their perspective.
2. Treat each user as an individual
You can tell a lot about a user from what and how they compose their support request. Compare "I've got an error" to "I had a NullPointerException and here is my log file and parameter file". Tailor the advice you give to each individual and don’t rely on one size fits all responses.
3. Be responsive
No one likes to be ignored, especially your users, and this could earn you and your software a bad reputation. If your support queue can be read online then potential users may be deterred from using your software if they see lots of unacknowledged queries. Instead, always give a prompt response – you might not be able to solve the user’s problem straight away, but it shows them that you've heard their request.
4. Be specific when you ask for information
Always ask the users to give you the information you need and tell them where and how to find it. You know where to find the information - your user may not. This resolves the problem more rapidly, and it also shows the user where to find the information for themselves in future. On which note...
5. Help users to help themselves
Don't just give users the answer to their query. Take the time to explain the cause of the problem, its symptoms and where they can get further information The next time the user encounters a problem, they are more likely to invest more time in trying to solve it before they get in touch to ask for your help. Another way to resolve support queries before they arise is by turning resolved issues into case studies and publishing them on your web site. Any user that experiences the same problem can follow the solution in the case study.
6. Have the confidence to say "no"
You can't do everything, so if you don't have the time to address a problem then just say so - politely! If you can’t solve the problem until the next week or the next month, then just tell the truth. It's not a perfect solution, but it's many times better than ignoring the support request. You’re under no obligation to give technical support if your software is free.
7. Explain yourself if you say "no"
If you can’t fix a problem then explain why. Giving an honest reason as to why you can’t help is always preferable to a cold, hard "no". Whether the user accepts your reason is another matter, so...
8. Be firm
Some users won't take "no" for an answer, but – believe it or not – they can be an opportunity. Remind them that it takes time, effort, and money to make changes, and ask what they might be able to provide in return. You might find that they don't really need the fix after all, or will be willing to pay for or otherwise reciprocate your efforts.
9. Be polite
You should never forget that you represent yourself, your project and your organisation. Always be patient and polite, even in the face of rudeness. Never reply with anything you would not say to someone's face. Don’t ignore the possibility that your manual and support documents might not explain things well enough and be ready to rewrite them based on user feedback.
10. Recognise support as an opportunity
At their best, requests for support prove there is an audience for your software and help you to spot bugs and errors that you might otherwise have missed. They are a valuable contribution to your software and its development.
For further information please see our guide on Supporting open-source software.
The author would like to thank his EPCC colleagues Mario Antonioletti and Liz Sim who provided input into these top tips.