No matter what type of application you are implementing, configuring or upgrading, there will come a time when...
something doesn't work the way you expected. Using your troubleshooting skills, you must carry out the software troubleshooting steps that will reproduce the issue, so you can then determine its cause and possible solutions.
To effectively and efficiently follow the right software troubleshooting steps, here are a few key tips to consider.
1. Keep it simple
There is often a good reason an application is not working as expected, and the problem may not be overly complicated. Start with simple, easy-to-execute software troubleshooting steps to identify the issue before getting into time-consuming and costly techniques.
If your car won't start, you don't assume that your motor is broken -- the most expensive issue. Instead, you start with simple things, like ensuring the car has gas and that the battery has power.
2. Don't rush
There is a tendency to just jump in and start clicking on things to try and duplicate the problem. Rushing like this may duplicate the problem, but you will likely be no further ahead because you won't be able to duplicate the issue consistently. A slow, methodical approach is much more effective.
3. Document your steps
This is critical in the troubleshooting process. Document your troubleshooting steps in enough detail to be able to retrace them if you are successful in duplicating the problem. There is nothing more frustrating than duplicating the problem, but not knowing what you did to reproduce it. Documenting adds time, but it's time well spent.
4. Go back to the last good point in time
If the application was working correctly in the past, revert to a good instance of the application, if possible. This will help you determine if the issue was also present in the past, and therefore not related to recent changes.
If this step confirms that the issue is new, you can compare the two instances to determine what is different to identify the possible cause.
5. Identify recent changes
Identify all the changes you've made since the application worked correctly, then try to narrow down which of them most likely caused the problem. Start with changes directly related to the functionality that is no longer working, before expanding your search to include unlikely changes.
It is common in the software development process that a change in one place causes a negative and unexpected change elsewhere.
6. Confirm if someone made a recent change
Changes are often made to the environment hosting the application. For example, someone may have installed a patch, upgraded a dependent application or uninstalled software they thought no one was using.
In addition, sometimes minor changes to close security holes can cause an application to require additional authentication without warning.
7. Start with a clean environment
Before you start trying to reproduce the problem, reset the application to a clean state or, at a minimum, clearly understand the data that is currently in the application. Ideally, any data you add or update should be easy to identify in a report or on screen.
For example, if you are troubleshooting an issue related to employee data, add a new employee so that you know exactly what has been entered.
8. Ensure no one else is making changes to the application or data while troubleshooting
If you are part of a large team, be sure you have the environment to yourself. Changes made by others may cause you to think there is a new or related issue.
9. Determine if you have run into a known issue
Spend some time researching the issue on the internet or in manuals. Often, someone else has encountered the same problem as well, and if you are lucky, a solution may be posted that you can use to fix the problem.
10. Ask for help
If you've tried duplicating the problem for an extended period and you are unable to, ask a colleague for help. It is very common for people to skip software troubleshooting steps unintentionally. A fresh set of eyes may be all that is needed to identify a subtle nuance in the way the data is being entered to reproduce the problem.
Troubleshooting is a skill that improves with practice. Over time, you will start to see commonalities in the types of issues that come up, and develop a set of quick software troubleshooting steps that help you zero in on the most likely causes, saving both time and money.
Document business processes before deploying software
Get started with lean software quality assurance
Don't forget to perform local tests of globally deployed software