I've been working in world of computers for 23 years, and I've learned a lot about problems during that time. I've found a few rules which, if followed, make it easier to find, understand, correct and verify problems.
Rule #1: Don't assume you understand problem. This is one of classic mistakes of problem solving - you think you understand what's going on, but you didn't look deep enough or get enough information to really get it. Before starting to solve any problem, be sure you spend some time and be absolutely sure you understand exactly what's going in.
Rule #2: Don't assume that person who reported problem understands problem either. In computer field, I've found that users will report problems in many different, often bizarre ways. Sometimes they will describe it in such a manner that it appears to make sense, but actually what they are describing has no relation to problem at all. Remember, most people do not understand computers and related technology at all, so they tend to piece together descriptions based upon what they have heard, what they think they know and what people have told them.
Rule #3: Duplicate problem. Always, always, always duplicate any problem before you start working on finding a solution. Why? See Rule #4. In addition, if you can make a problem occur again, there is a much better change that you really do understand what's going on (rule #1).
Rule #4: You cannot know you have solved a problem unless you followed Rule #3. The only way to be sure that a problem is solved is to fix it, then exactly replicate what happened. The sequence is simple: duplicate problem, fix problem, then try and duplicate it again. If you've exactly replicated issue, then you can be reasonably sure you've fixed it.
Rule #5: Don't assume someone else understands problem. If you need to delegate problem to another person, or if you are receiving instructions from another person to solve problem yourself, do not ever assume they understand what they are talking about. Always follow Rule #3 to be sure YOU understand problem. Do not take anyone else's word for it. If you delegate problem, make sure person you give it to follows Rule #3.
Rule #6: Don't assume you have just one problem. Sometimes things are more complicated than they seem. It's never a good idea to assume that there is just one problem to be solved. Throughout entire problem solving process, keep your eyes open and find any additional problems that you may see.
Rule #7: Don't assume there is more than one problem. Also, don't make assumption there is more than one problem either. How do you follow rules #6 and #7? Just base your conclusions upon what exists, not upon your assumptions or what others have told you.
Rule #8: Don't assume there is a problem at all. Just because someone reports a problem does not mean there is actually a real problem. I remember when I got very upset because my car was making a strange noise. I brought it to mechanic and had him spend hours checking my car to fix noise. As it turned out, noise was normal and was not a problem. Hours wasted when there was no problem at all. If mechanic had followed Rules #2, #3 and #8, I would have been out of shop in a few minutes.