This phrase, which the internet assures me was coined in the late 1940s by Dr. Theodore Woodward. Was a medical phrase I first heard on Scrubs (yes I’m a Scrubs fan). To quote Doctor Cox ;
Do you happen to know what a zebra is? It’s a diagnosis of a ridiculously obscure disease when it’s much more likely that the patient has a common illness presenting with uncommon symptoms, in other words, if you hear hoof beats, you just go ahead and think horsies and not zebras, mkay mister silly bear?
I quite like this term and often think that when people come across a bug they think Zebra.
Let’s say for example your application just crashed horribly or is behaving strangely, what do you think of first? That one line of code that once looked at you funny? The third party dependency that’s always worked in the past? Don’t change anything! You’re hunting a Zebra!
Step away from the computer, maybe watch an episode of Scrubs and gather some information first! Chances are you’re going to find a much simpler explanation to your problem and probably a simpler fix for it too! Here’s what I tend to look at when faced with uncommon symptoms;
- Is there enough memory/disk space for your application? An easy start, you’d be surprised how many times this comes up if there’s not enough load testing in place!
- The logs! Not just the error message, if there is one, what was happening before you hit problems?
- Are there clear reproducible steps? Can you ask for them or try it yourself?
- Has there been a problem like this in the past, check your issue tracker if you have one!
- Lastly try Stack Overflow, see if anyone else has experienced this problem. If you do find something don’t go off and try it straight away, it might be someone else taking you on a hunt for their Zebra! Try a few more posts to see if you can get information to validate the first piece.