Monday, December 17, 2007

The nurse who said, "You're going to die."

Elisabeth Hendrickson posted about a topic of conversation at this year's LEWT. It dealt with an item I'm very tempted by: problem diagnosis and debugging by the tester. My comment was appropriately passionate but may have been too lengthy for a polite comment. I've taken it and placed it here with only minor modifications.


One time, I went to the doctor. That is amazing in and of itself but is not the point of my comment.


I had gone to have a mole looked at. The nurse, who was busy running all the setup routines in anticipation of the doctor, quipped that it probably was cancerous. “Most people develop some kind of cellular anomaly in their lives”, she said with all the cold and callous concern a butcher might have for some hamburger meat.


Her “diagnosis” did not set well with me. Part of my proficiency for testing is my predilection for pessimism. It caused all sorts of undue stress and anxiety. My mind ruminated on all the tearful activities that awaited me; saying goodbye to friends and family, what music will they play at the service, etc. Mind you, the doctor hadn’t even SHOWN UP yet!!! When he did finally show up, he allayed my fears with a more educated diagnosis - “you’re just mole-y. Why are you crying?”


That nurse by virtue of her position/location brought to bear the air of authority. She certainly said all the educated words. But given the circumstances, all that my mind heard was, “you’re gonna die.” How was I to know?


I love to break things so I can see how they work. And when something breaks, I view it as an opportunity for me to observe the thing’s inner-workings. But I’ve been able to avoid freaking customers out by not doing such diagnosis in front of them. I save that conversation for the developers lest I come off as an authority. Or much worse - the nurse who said, “you’re gonna die”.

Saturday, November 24, 2007

I'm in ur base turning ur lights on....

Just finished "Are Your Lights On?" this weekend. I found an opportunity to try my solution-probleming when I read this forum post.

This individual was attempting to enforce a kind of subversive security to keep their younger sibling on the straight and narrow. As I thought more about the "problem" of solving problematic script logic, it dawned on me that there might be another problem behind it all; do we need to bring the computer in to solve a human problem?

I had originally posted my non-technical questions in my reply, but felt that it might come off a little "preachy". But that won't stop me from placing them here:

...I'd like to ask some questions about your situation ( seriously ):
  1. Is the problem your brother's insistence on playing games OR his insistence on not doing his homework?
  2. Why is your brother not compelled to do his homework? Is it boredom, frustration, or laziness?
  3. Is your brother really NOT doing his homework? For example, is he finishing it when your cousin's are playing or when you're not looking? Or is he being rewarded with play-time for having done his homework earlier?
  4. Is there a parental or guardian figure ( other than yourself ) who can enforce sanctions if necessary?
I ask because these kind of solutions can become unwieldy. In circumstances where he is allowed to play, you'll have to disarm the script. If he's around when you do this, consider security breached. It also would be pretty unfair for him if you were away when he was allowed to play.

One potential solution is to have your cousin's over more often. They'll definitely accept your invitation to play games and your brother will be "forced" to finish his homework before he can play. No passwords, no tattle-tale scripts.

Sorry this was so long, but I did my share of homework negligence. If I had to monitor a younger sibling like myself, that's what I'd do.

Tuesday, November 6, 2007

Stranger Than Fiction

If one were to obtain the "Stranger Than Fiction" DVD and played the "Making of a G.U.I." special feature, that person would be treated to a very different/insightful/interesting take on the form and function of User Interfaces.

Reverse-Engineered Overview of Excel 2007 Bug

Got this link from the good people over at "Joel on Software". VERY COOL.

Monday, November 5, 2007

Listen Before You Send

In response to the proliferation of useless software, I created a utility to read large chunks of selected text from the clipboard. I posted it here.

I now use it in conjunction with spell-check to "sound-check" my text. It isn't perfect, but it has caught many "bugs" in my correspondences. I even use it to check text used in applications under test.

Saturday, November 3, 2007

Painting

Tonight, I found myself busy painting my wife's niece's room.

Pink. Yep. Pink.

So in between wondering how I got here and singing Talking Heads under my breath, I let my mind ponder my surroundings. Specifically, how they remind me of my experiences in testing.

Easier Said Than Done
I'm easily sold on the idea that the effort will be easy. Then, when another pair of pants are ruined, I'm reminded why it is called 'work'.

Ignorance is No Excuse/ SPEAK UP!
Our host had planned for every contingency. He had procured just about anything and everything required to paint away. And, given my ignorance about most home improvement tasks, I did not question him. No sooner was the paint can almost pried open when I inquired, "Where is the stirring stick?" The frozen look of panic on his face let me know that we had none. What to do? Well...

Improvise
A quick survey of what was around yielded an item we could re-purpose. I chastised myself for using corporate lingo in what was strictly a blue-collar affair. It seems to be my MO as of late. Improvising, that is. When the whole team in trapped is the room and the customers are showing up in a few days expecting it to be done...well, these are the times when our best laid plans seem most vulnerable. And when ingenuity thrives.

You Can't Plan Everything
I felt paralyzed looking at the white wall. My admitted inexperience with painting gave me a feeling that one false brush stroke would spell disaster for this child's upbringing. It wasn't until someone actually broke down and started throwing paint up on the wall did I feel like moving forward. Otherwise, I would have stayed in suspended animation trying to figure out all possible paths. My dad always said, "Painting should never involve traversing trees". Now I know why.

Automation...My Favorite Carrot
Our host produced a whimsical device just as we got started. It was a paint roller attached to what I would only describe as an industrial straw. I guess its reason for existing was to allow the user to suck up all this paint in the "straw" and it would handle the job of keeping the roller wet with paint. Only it didn't. He spent so much time getting the apparatus to work that by the time he was able to put paint on the wall, I was 30% done with my wall using the old-fashioned paint roller. And even when he was able to, the device did not perform as it was supposed to. Splotchy and unusable. His progress was greatly hampered by another promise of our technological age.

Tools Should Fit the Environment
Because the furniture was moved to the middle of the room, our movement was greatly hampered. In fact, the miracle straw mentioned above required the user to back away from the wall due to its length - making mobility difficult. We were also forced to walk over each other in order to navigate our stations. Did it make for an inefficient effort? Perhaps. But what it did make easier was acting out on our frustrations because we were trying to work on top of each other.

Measuring Twice Does Not Guarantee a Good Cut...
...if you're not measuring the right things. As supplies began to dwindle, we recognized that we would not have enough paint to cover the rest of the walls, much less apply a second coat. Our host recanted his math, "The can says it covers 400 square feet. The room is 20' x 10' so we should be okay." He didn't take into account that 400 square feet is referring to surface area. In his defense, he'd been sleep deprived and I totally would have made the same mistake.

The Second Coat is Where the Magic Happens
Rarely does everything go right the first time. As it is in software, so it is with painting walls. My tendency was to use up all available resources in an effort to do it right the first time. Oddly enough, that seemed to waste MORE paint. Applying the first coat, allowing it to dry, and looking back over it allowed us to see more clearly the areas that needed more coverage. In other words, this was a context where my brand of simultaneous execution and analysis was a hindrance.

The End of The Matter is Better Than the Beginning
And patience is better than pride. The long story short is this: with all of us working together in concert, we got most of the work done in one night. When we have a lot of work to do, it is easy to be blind-sided by many difficulties. But nothing replaces rolling up your sleeves and getting it done...together.