Now you've got certainty and a starting point. But if you can ascertain that it did work at some point then you've got something you can work with. In most cases that's where the troubleshooting ends and it goes back to the designers, or if not, at least you know what you're up against. That's an engineering concern and the reason it doesn't work could be one or many reasons or even owe to a fundamentally flawed design. The first case means the development-debugging process was never completed. Your approach will be totally different if it's never worked versus the case where it did work and then something changed and it stopped working. When working with "one-off" systems the step, "did it ever work?", is vital or you'll waste massive amounts of time. This step is vital since troubleshooting is done by comparing how something is.
Sometimes asking the user is sufficient because they most familiar with the thing (they are the user aren't they?) If that leads you astray or into confusion then resort to the manual or use your own common sense. But get good at scanning quickly and picking out the relevant info. You don't sit there and read the whole manual. You can Google a manual or other information on practically anything these days. How would you get this information? Ask the user and verify it with a manual. You'd better know how something is supposed to work before you attempt to "fix it." It's really hard to fix something that's operating normally! Sometimes the design is so poor you assume it would never work that way, but that would be a bad assumption on your part.
Sometimes when doing this you discover something really is wrong with the system and not the user, which is a bit embarrassing, though productive. If the problem is how the user is using it, then this should become the target of the successful troubleshooter - education of the user.
But the troubleshooter should always assume full responsibility for the system and the person using it. Sometimes troubleshooters "blow off" the user as "using it wrong" or being "nuts" or something. if they say there is a problem, there is a problem. Take your time and get the whole description. The first step is to get a clear description of the problem - obvious, right? Yet, I have personally made the mistake of getting only a partial description to a problem and then taking off on a tangent (half cocked as they say), only to later have to back up and restart. The procedure shouldn't take very long - sometimes only minutes. The problem could be, and many times is, resolved on step one. Remember, the order of these steps is one of trying the easy things first. Here are the steps:ħ) Why do the affected outputs act this way?Ī little explanation about these steps is in order.
A frequent mistake is to dive into too much detail with too little information too early. The following simple questions are arranged in the order given so as to pick the low hanging fruit first. Sometimes it's just asking the right questions of someone who does have the technical knowledge. Anyone can follow this procedure up until the last step, even if the're not technical, and troubleshoot successfully. Troubleshooting procedure is very distinct from the technical knowledge of something. I recently realized it has broad applicability in other areas of our business here at Inductive Automation so I thought I would share the key points of it with you.
I created a training video over ten years ago called Guerrilla Troubleshooting Tactics which simplified and codified successful troubleshooting patterns.