Teaching troubleshooting skills is one of the most challenging tasks in IT. Figuring out why a piece of software is misbehaving or underperforming is a challenging endeavor without the right mindset or tools. In circumstances like these, I have seen IT workers simply have users reboot their computers to resolve such issues. A week or two later they get a call with the same problem, and they repeat the procedure. Kicking the can down the road does little to instill much confidence in IT from users and leads to lost productivity.
Shooting in the Dark Troubleshooting
If the person troubleshooting the issue does not immediately lose patience and give up as in the previous example, they usually subscribe to what I call ‘shooting in the dark’ troubleshooting. Essentially, a practitioner of this type of troubleshooting thinks up some arbitrary actions and performs them until the issue is resolved. Regarding application issues, I have seen workers add more memory to a computer, at a cost, and it has not fixed the problem. Others disable startup processes and programs or start randomly uninstalling other applications or use a temporary files cleanup tool such as CCleaner to remove cookies and browser cache. While these things often improve computer performance, they should not be a starting point for figuring out the cause of an issue.
On one occasion, I had a ticket escalated to me because a computer in HR was underperforming. So, I left my basement dungeon of an office and went out into the world of the users to see what the issue might be. Apparently, desktop support had been working on this issue for a few days and tried an assortment of things to resolve it and came up empty-handed. Not due to any genius of my own, I set foot on the scene and fixed the issue within a few minutes by going into Task Manager and seeing that the hard drive activity was at 100% due to an operating system update that was failing to install completely. I then stopped the task went into the update cache on the computer and cleared it out. Subsequently, the update installed successfully, and the computer’s performance returned to normal.
- Reproduce the issue to determine what it is. Sometimes problem reports are inaccurate or incomplete. Ask the user for a demonstration of the issue if possible. If the user cannot reproduce the issue, teach him or her to capture an image or video if the problem returns.
- Find out when the problem started. Ask questions of users to guide you to the proper troubleshooting steps. Look to see when the device last updated. Ask yourself, what changed?
- Try to understand the scope of the issue. Are multiple users affected? Whether or not should guide you toward different troubleshooting steps.
- Look for indicators of possible causes of crashes, abnormal behavior, or performance related issues (Task Manager, Process Monitor, Process Explorer, ping, nslookup, etc.)
- Look at logs or capture real-time data as the problem occurs (Event Viewer, Wireshark, Syslog)
- Collect all relevant data (IP, MAC Address, username, asset tag). You or another working the problem may need this information later on.
- Document! Record all steps taken to reproduce or remedy the issue. Again, this is helpful if the problem is escalated or picked up by someone else.
- Take ownership of the issue. Do not escalate the issue without expending all options. Also, do not just make the user live with it.
Learning how to troubleshoot methodically is a useful skill that will carry one through their entire IT career. It is not something that one learns in a classroom but is developed through repeated exposure to computer issues. That is not to say that classroom instruction is pointless, but developing troubleshooting skills requires practice in real scenarios. Although IT issues have a myriad of causes, how we come to find such causes and develop solutions are few. Everyone has used Google as a resource to find answers, but not all solutions provided are easily applicable to complex issues, and Google will not tell you what questions to ask. Only by utilizing a methodical approach to troubleshooting can we get to the root cause of issues quicker to provide complete solutions.
4 steps to troubleshooting (almost) any IT issue
Windows Sysinternals Tools
Troubleshooting in the Command Line: Tips for Linux Beginners
Network Troubleshooting Tools