Eli Lopian recommends one to rotate the support roles among developers:
Have the developers take turns in being dedicated to support, example, have each developer pre-allocated for support one week per month. This gives a good way to measure the amount of support and allows other developers to develop the tasks of the iteration. We are still fine tuning the way that issues get handles from one developer to the next, but it seems to be a good way.But there isn't much discussions on the specifics. I do have some questions regarding the above approach, however:
- More often than not, the developers have their different domains of expertise. What if I receive an issue which I am not familiar with when I am wearing the technical support hat? Should I get to the developers in charge or I try to solve the problem myself? I may not be able to solve the problem even if I want to. Or if I pass the issue to the developers in charge, then it becomes his problem. This, seems to me, is defeating the purpose of rotating the technical support. The very point of rotating the technical support hat is to let only one person worry about answering customer's call and let the rest focus on development tasks.
- What if an issue requires a long time to solve? Then multiple developers may be involved, and there is a waste of the developer's time because each of them need to update themselves with the latest development. But if you have a dedicated person to follow through a problem, then you do not have to spend time passing the cases around and updating everyone involved all the time.
- Developers like coding, disdain technical support. They may not excel on answering customer questions although they are good coders. How to evaluate these developers? Answering customer's questions require a good balance of technical skills, people skills and language skills. Developers may not have problems on technical things, but some may have a hard time expressing their ideas in terms of English or any other languages; some may not have the patience to be a good tech support guy. How do you deal with these people?