Thursday, January 10, 2013

Thrashing

No, I'm not talking about fast and loud heavy metal of the 80s, I'm talking about that state you get into when things just don't work. When you get stuck. when you feel like you are going around in circles. It's a great term, and I heard it for the first time yesterday in regards to testing. Some context. I was looking at some outside of the box tests related to how we do upgrades, and while I was doing that, I was finding just about everything that could go wrong indeed was going wrong.

No matter how hard I tried, I could not get things to settle down. As I was getting more and more frustrated, I was communicating with my Quality Director via irc, and during the process, he calmly said "you seem to be thrashing. Give me a minute and I'll take a look with you." Sometimes it just needs a sympathetic ear and another pair of eyes to help you spot something you hadn't considered before, or to clue you in on a key piece of information. Often, though, we don't avail ourselves of these opportunities. This hearkens back to my post of a couple of days ago in that we do not want to, really, admit our ignorance. We'll figure it out. We'll work through it.

Sometimes, that's a very good answer. We learn a lot by "going to the house of broken hearts and bloody toes" (and ten point for anyone who gets where that one comes from ;) ). Some of my best lessons have been learned by stumbling through, making mistakes, and applying them to move forward. However, if we find ourselves in a cycle of "thrashing", there usually isn't any learning or benefit. There's a lot of frustration, and we get mired. At this point, really, reach out and ask someone for a life line. It's not wimpy to do so, especially if you can say what you have done to get you to that point. It's possible something is missing, or has been mis-configured, or a build/upgrade that was supposed to happen actually didn't. If you know how to figure that out, then great. If you don't, go and ask someone. Sure, they may roll their eyes and wonder what's wrong with you, but most of the time, at least in my experience, real and tangible issues are often at the heart of thrashing, and getting unstuck becomes a team effort.

Thrashing is a part of every testers life, and it's genuinely not fun. The good news is, we can get out of it, and as long as we provide some learning and education to others to help them prevent being in a similar state, then all is good. If you find yourself thrashing, ask for help, don't just try to desperately swim. Ultimately, those who desperately try to swim get exhausted... and drown. Not at all the desired outcome, for anyone.

For those wondering if today's post has been inspired by recent events... oh yes, indeed (LOL!).

1 comment:

Kelby Zorgdrager said...

I think a lot of programmers and developers can relate to this. How often have you stared a problem in the face for hours and gotten no where with it? Nothing worked, no trick made any difference and you just got more and more frustrated with it. But the minute you asked for help suddenly it's like a light bulb goes off and things make sense again.