The Troubleshooting Method
Introduction
Sitting at the desk in the morning, you attempt to sharpen your computer science knowledge when tragedy strikes! It looks like codecademy.com doesn’t seem to be loading!
Calamities like these feel common in the tech industry, so a solid strategy for troubleshooting is critical for those interested in IT. The non-profit trade association, CompTIA, recommends the following steps when a problem arises:
- Identify the issue.
- Research the problem.
- Establish a theory of probable cause.
- Test this theory to determine the cause.
- Establish a plan of action and identify possible issues.
- Implement this plan of action.
- Verify full system functionality and implement preventative measures.
- Document findings, actions, and outcomes.
In this article, we’ll break down what each step entails!
Identify the issue
A good start is to fully identify the problem as it will form the foundation for all the steps to come. This can be done by comparing the current behavior and how it differs from the expected behavior.
For example, when attempting to connect to codecademy.com, a blank screen appears instead of the expected result — a screen filled with your wonderful code.
The key here is to verify that an error actually occurred. Can the issue be duplicated or is it just a fluke that doesn’t require further escalation? Run a quick check: do other websites exhibit this same behavior?
If so, then continue on to troubleshoot the solution.
Research the problem
It is time to dig deeper into the issue. This step is all about understanding the issue as completely as possible.
Brainstorm what may have changed within this system since this behavior was last working correctly. Was there a recent software update? Were there any major changes to the system’s configuration?
Collect as much information as possible on this behavior for future reference, especially when attempting to solve this issue for someone else. Use these notes to ground future steps and make sure that any recommended solution is solving the correct issue.
Establish a theory of probable cause
Now that all the necessary information has been collected, the root cause can be pinpointed. Start by creating some hypotheses on what could be the cause.
Not able to connect to codecademy.com? Perhaps the main server that is hosting the site is down. However, a more likely scenario is that the computer being used lost its connection to the Internet.
It is important to begin with the most obvious causes first. For a machine that cannot connect to the Internet, an unplugged Ethernet cable or shut-off network router are likely candidates.
Make a list of these causes from most common to the most abnormal. This will make a great punch list for solving the issue!
Test the theory
With a list of possible causes in hand, it is time for the most straightforward but also most time consuming step: testing each of the likely causes to find the one true root cause!
It is important to begin with the easiest potential causes as they will cover the most ground the quickest and give further insight into the feasibility of other causes. Make sure to still document the tests that don’t end up working, as it will provide a better understanding for future incidents.
Once a theory is confirmed by finding the appropriate cause, steps can be taken to resolve the issue.
Establish a plan of action and implement it
With the specific cause of the problem in hand, a resolution to the issue can be planned.
For a lack of Internet connectivity caused by an unplugged Ethernet cable, the plan of action can be as simple as just plugging the cable back in.
However, for complex causes in larger corporate settings, more steps will likely have to be taken to account for compliance measures, corporate policies, and the impact on the business.
Possible solutions to the issue can be found in a wide variety of places such as device manuals or an Internet search. After a solution is found and all considerations are in place, all that is left to do is to take action!
Verify system functionality
With the plan of action implemented, now is the opportunity to test that the system works as expected.
It is important to verify both that the solution has actually fixed the issue as well as that this solution did not introduce any other regressions to the system. If this fix is done on someone else’s behalf, make sure to confirm with them that the issue is fixed and the system is working as expected.
This is also a good time to implement preventive measures to make sure that this issue does not happen again. For example, if the cause of the Internet disconnection was an unplugged Ethernet cable from tripping over it each morning, taping the cable down could be an appropriate preventive measure.
Document findings, actions, and outcomes
Whew! Everything should be running fine now, so it’s time for the home stretch. Push through to save yourself a lot of hassle in the future!
With the issues resolved, compile any and all notes created during this process. Make sure to include the original bad behavior, the expected behavior, all suspected causes, all tests performed, and finally the complete solution including the plan of action and how the solution was verified.
Wrapping up
And with that the Internet connection has been repaired! Here is an overview of the main questions for each step of the troubleshooting method:
- Identify the issue: What is not working as expected?
- Research the problem: What exactly happened when the error occurred?
- Establish a theory of probable cause: What are the most common reasons this issue could have occurred?
- Test this theory to determine the cause: What is the root cause?
- Establish a plan of action and identify possible issues: What steps need to be taken to resolve the issue?
- Implement this plan of action: Execute the planned steps.
- Verify full system functionality and implement preventative measures: Does everything now work as expected? What can be done to prevent this issue in the future?
- Document findings, actions, and outcomes: Leave your future self and any other interested parties notes on this issue and its solution.
Author
The Codecademy Team, composed of experienced educators and tech experts, is dedicated to making tech skills accessible to all. We empower learners worldwide with expert-reviewed content that develops and enhances the technical skills needed to advance and succeed in their careers.
Meet the full teamRelated articles
- Article
Project Management: Issues and Projects
Learn about issues and projects on GitHub, two features that make it easier to track tasks! - Article
Tutorial: GitHub CLI (Command Line Interface)
In this article and tutorial, learn about how to interact with your repository's GitHub Issues and pull requests, right from the terminal!