From what I understand, you need a analogy, thus facilitate explain something complex, to a layman in programming (his boss).
Then I’ll try to explain in my own words your problem, if my boss was a layman.
Analogy 1 - Broken Bus
Fact
I own a public transport company.
Problem
I have a bus that always breaks the shock.
Debug
The bus driver always travels exactly the same route.
With that, I’ll go along with him, and so see what’s going on.
But "incredibly" the times I went along, the bus didn’t break! Why?
Solution
After suspicions, the problem was followed in a not so invasive way, putting a "spy" disguised as passenger, and bingo!
There’s a huge hole in one of the streets along the way, and the driver doesn’t even turn away from this hole, except that it’s being observed.
In short
Just the fact that I’m being observed, resulted in temporary correction of the problem.
Analogy 2 - Where’s my steak?
Fact
I work at XYZ and always I take lunch with lunch, where I leave in the community refrigerator that has in service.
Problem
How I make the second lunch break, every day is a "missing" steak of my lunch box.
Debug
Due to the problem, I started to walk past the cafeteria at the first lunch hour. And so, my steak stopped "disappearing". Why ?
Solution
There was an employee, who went to get his own lunch box, opened other lunchboxes and picked the steaks (outside of his correct "instruction"). That was discovered, observing and analyzing all the "resources" (employees), until arriving at the resource causing the problem, where the same, visually was not directly connected to the problem, but with a factor of "intervention" (eu) modified the final result.
In this case we have 3 solutions:
- Send the employee away (eliminate the appeal/process)
- Put cameras (create complementary feature that filters failure)
- Apply warning (correction, with the possibility of temporary solution)
In short
Idem a Analogia 1, with an example of 3 possible more concrete solutions.
Analogy 3 - In and out of the Beetle (true fact)
Fact
I have a 1947 Beetle!
Problem
Sometimes when I’m riding in my Beetle, it suddenly stops working. I pull over and try to start over and over again, but in no way works.
Debug
In the old days, you’d hear that when the Beetle gave you that problem,, you were to leave the vehicle for 2 minutes, enter again, start, and it would start.
Indeed, done and proven!
Solution
After better understanding the mechanical part (structural), it was discovered that the "coil" heated up and caused the electrical part to stop.
The fact of entering and exiting the vehicle and waiting 2 minutes, made it cool enough to start again.
In short
One more example, of a third key factor that was not imaginable and remarkable, and when we tried a solution out of logic but that worked palliatively, we ended up "by addicting" our reasoning to an incorrect "starting point".
This is an example of something that when we "turn it on" we have the problem, and when we "turn it off" when we "stop" to see, it is difficult to find the real problem. It is as if a "visible" problem depended on another problem to happen.
Dude, now I stop calling these bugs a magic bug. I really enjoyed :D
– Tiago Tiede
@Thiagotiede, has a whole classification of "quantum bugs". In fact what they suffer most where I work is with mandelbugs/fractal bugs, which to fix a bug you have to fix 3 bugs (and so recursively up to infinity). Worth a read on the references I put in the question
– Jefferson Quesado
I was interested on the subject. I will read more. Thanks for the tip.
– Tiago Tiede
Downvoter, could you help me improve this issue?
– Jefferson Quesado
I’m not the downvoter, but I think the problem with your question is that what you’re asking is "How can I explain to the boss [PHB] and to the heisenbug support?" - That from there tends to be a more opinionated than objective question. Also, there is a law of the universe (I just invented it) that says: "Anyone who Aventure trying to explain complex concepts to the eyes and ears of idiots will only have pain, misery and suffering as a result."
– Victor Stafusa
@Victorstafusa I would understand this question of the possibility of resulting in an opinionated/subjective response if was accompanied by a vote of closure for this reason. Btw, I loved this universal maxim.
– Jefferson Quesado
Oxi, my next Github label will be "locust from hell" when asked what is put the "heisenbug" link. Now seriously. How to explain something there is someone who clearly has no ability to understand? I believe that the approach should be to take to the top (even if it is an "ignorant") the issue to set standard goals for analyzing and discussing the (standard) approach when dealing with the client. In a work team monocratic definition is not the best way to treat the topic.
– Lauro Moraes
@Lauromoraes the focus should not be that it is something beyond the technical ability of other people, but rather that they are laymen, who would have difficulty in a purely technical explanation, without "softening" the content before
– Jefferson Quesado
@Victorstafusa, "Anyone who Aventure trying to explain complex concepts to the eyes and ears of idiots will only have pain, misery and suffering as a result" that would be a good answer if it did not generate conflict with a question statement: " Preferably explanations that don’t result in my dismissal" :-D
– Ricardo Pontual
The problem seems to be parallelism and asynchronous processing, right? So you already know what’s going on, you just don’t know how to solve the problem. What’s the real problem? Competition from lawsuits? Resource allocation? Inconsistent status change? I’m asking you this because as well as the @RBZ response I believe analogy is the best option to make the problem understood, I just think the examples of analogy.
– Fernando Leal
Downvoter, how can I improve the question? You didn’t schedule her for closing, so I understand you understood my question and considered her within the scope, so I interpreted your vote as poor quality. I am willing to try to improve my text
– Jefferson Quesado
@Fernandoleal, not all heisenbug comes from parallelism. I took one today that was related to a coincidence of values, and depending on my action in investigating, the bug stopped occurring. And, by the characteristic of being a heisenbug, I don’t know what is happening; I can’t be sure because every observation made changes the state of the system to the point of not reproducing that specific bug
– Jefferson Quesado
Downvoter, could you explain why I voted no? Since you have not scheduled to close the issue, I believe you have thought that she is in some trouble, but still welcome on the site
– Jefferson Quesado