Even though I havent followed the above idea ( I will try to do in sometime ), I have followed this way, which have helped me a lot.
I used to make guess when I debug my day to day problem. Say for example, when I run selenium, and the browser doesn't open up:
1. Does the jar is valid? 2. Safari has selenium plugin? 3. Have custom installation rather than default installation location?
Then the smart you make the guess, the smart you can solve the problem.
Its about removing the un-wanted space ( by making smart guess ) and debugging the right space.