A Debugging Manifesto
jvns.ca
jvns.ca
If the theory doesn't explain the evidence you see, reconsider it — e.g., if you are observing bad symptom A, the theory should explain the existence of A. If it doesn't, then why are you observing A?
This is a should, not a must: sometimes there are two bugs/problems, and the symptoms cross-talk. But this is rare, IME. But it can be confusing when it happens.
Also, pay attention to evidence that refutes the theory. In particular, check this before suggesting a theory. I've had many a production outage where someone is the third person to ask "What if it's X?" when there's a symptom, already noted, that makes X impossible.
Also a bonus one: the theory must obey causality.
In incident mode, when there is a major prod incident, often the process is to fix quickly the bug by any work-around you can find in order to restore the service, takes some logs, and debug / fix cleanly the problem later after the incident have been fixed.