In the company I work at, developers also serve as internal tech support. This means we have to do three types of things:
- Development: writing actual code to implement new features and new products
- Maintenance: handle bugs and minor changes with existing customer-facing software
- Tech support: handle internal issues other employees have e.g. locked out of AD, network drive is missing, internet is down, new software installation, need permissions changes, etc.
The tech support aspect of my job is the most troubling right now. This is because:
- someone with a problem will likely interrupt you immediately, taking you away from development
- problems come in too many ways: email, google chat, phone call, post-it notes on your desk, etc.
- people often cannot or do not determine the severity or scope of their problem before asking for help, i.e. simple problems that inconvenience one person might come in the same way -- and often with the same urgency -- as major customer-facing issues that could affect thousands
My question is: What are the proven methods for dealing with internal IT issues?
Should we use software designed for this purpose? If so, how should it be separated from any software used for customer-facing issues or bug tracking software? How can the IT/development department ensure it's used properly?
Also, is it a problem that developers handle these internal problems in the first place? Would it be ideal to have a separate person or department to handle these types of problems?