Techniques
Ask questions
Be curious. Wonder “what does that do?”
Refine your problem statement: make sure that you have an accurate understanding of the problem that is being reported to you. Work to improve the quality of the problem statement by asking good questions, reading the documentation and working to reproduce the problem that you are troubleshooting.
Increase verbosity
Error messages can be confusing, terse and vague. If it’s possible to increase the verbosity of the thing you are troubleshooting, it is highly recommended to do so. By increasing the verbosity or running the thing in debug mode, you will increase the amount of information that is displayed about the problem you are attempting to troubleshoot. Many programs have different levels of verbosity. Some tools can be extremely verbose. You will need to strike a balance between collecting enough information about the problem to proceed and collecting too much information. Becoming skilled in filtering through log files and error messages will help to increase your efficiency at troubleshooting.
Reduce complexity
Examples
Ask questions
Increase verbosity
Let’s take a look at what it looks like to increase the verbosity in a few common tools.
Reduce complexity
A common approach to reducing complexity that I am fond of is getting the client out of the way. This is a technique that can be applied when troubleshooting a problem that is somewhere on the client, the server or somewhere in between. To reduce complexity, we will remove some of the components in the chain and observe if the problem still happens.
Something I do often is try to eliminate interference by the client. For example, if I am troubleshooting a problem someone is having with sending email in Outlook, I might find out what happens if they attempt to telnet to the SMTP server. If that works, that suggests that there is a problem with the email client. (Alternately, it is possible that the problem is intermittent.) If it does not work, it suggests that the problem is not on the machine that Outlook is installed on. I would then want to know if other people are having trouble using the same SMTP server and I would attempt to reproduce the problem.
Is it spreadsheet time?
Every now and then, I am troubleshooting a problem with enough moving parts that I decide it’s spreadsheet time.