3 ms·
The author admits this is an ideal - to be a bit more pragmatic - I would argue we can reduce problems to one of three failure categories and thus have a soluti
by pizzafeelsright 3y ago
The author admits this is an ideal - to be a bit more pragmatic - I would argue we can reduce problems to one of three failure categories and thus have a solution based upon one of those three.
Failures are either expected, unexpected, or unknown. Wear and Tear is expected. Unexpected failures are physical damage or misuse. The unknown failure won't report a failure nor be predictable.
Code readability does not apply to user level. The user is concerned about error messages - these should be written in a way that is understandable to the human.
http for example has 3 digits - easy enough as learning 404 is easy.
Microsoft and the 0x000..... is nonsense and useless.
Generally problems exist in three possible realms.
Let's use a human infant as an example - one of life's most wonderful creations yet lacks a manual, proper logging, and useful errors yet require a Severity 1 response time.
The infant is crying because of one of the three: need, want, unknown. If the kid is clean, fed, rested - move onto want. If the child isn't bored or able to be satisfied, move onto addressing the unknown. This of course takes more effort, inspection, etc. That can be split into wait, advice, and emergency response.
With this level of abstraction I have helped new parents with addressing their child's needs. The details are not as important.
- kaycebasques 3y agoYou do a bit of implicit mapping between terms in your description. Is this correct? * expected => need * unexpected => want * unknown => unknown I think you're onto something with the focus on failure modes. It's interesting that your model and the author's model each have 3 layers. A few of the other proposed models in these comments also have 3 layers. It's quite jarring to try to map your model to the author's model: I guess they are just fundamentally different ways of looking at abstraction?
- pizzafeelsright 3y agoI often wonder if I should be more explicit. Maybe you can help me. There is a path, we are all on a path, linear in the sense that time moves in the same direction, without a pause or ability to stop, and on this path is a fork. We say a fork because it could be an intersection with near infinite courses but in reality we often limit the choice to ultimately two choices and while intentionally ignoring the third. At the fork there is either a Left or a Right. The third choice, intentional or unintentional indecision leaves us still to react to either making a panic choice or hitting the wall. The three layers or levels of abstraction allow for the This, That, and the Unknown. Back to the failure modes. In troubleshooting there are finite paths one can take to determine the problem and also finite problems that cause the situation.