generic troubleshooting process
January 23, 2010
I make quite a lot of money using this.. ;)

Below is the technique I use to fix the large majority of problems I encounter in the field. All I'm doing is searching the web - but it's a little more complex than that:

  1. Identify the problem, correctly. The solution to the problem will not be found if the problem is misidentified.

  2. Determine keywords that can be used to locate the problem on the internet, as uniquely as possible. For example if the problem is with a component labelled XYC404, search on that, not on "problem with component". This will narrow the search results down.

  3. Search. On the results page, first look at the content snippet, then at the site serving it. Try and click results that not only show a promising snippet, but ALSO are from a site known to give good information. Avoid clicking results served from lame sites.

  4. Match the problem described on the sites visited with the problem you have. Is it the same? Is it similar? Allow for variations in the environment as used by the poster. Ensure that the problem matches before using the information presented.

  5. Short-list the proposed solutions. Do they make sense? Do they look lame? Do they do anything silly? Do they explain why the problem exists? Does anyone agree with or criticise them? Does more than one poster suggest them?

  6. Research the short-listed solutions. Can more people be found with the same problem and solution? Are they the accepted methods of fixing the problem?

  7. Select a short-listed solution. Ensure you understand the problem, and why the solution will fix it, before continuing.

  8. Apply the solution. Test, before and after. If the problem is not fixed, return to step 1. :)

  9. Document, preferably on the site that provided the solution, and/or somewhere else on the internet. Also update internal documentation if needed.

If this is a tricky problem, take notes at each stage. As you describe the problem to yourself, in your notes, you will identify the exact areas that you are unsure about; this may help you deduce the solution.