Wednesday, August 4, 2010

Pair-programmer #WIN, Communication #FAIL

For a few minutes today, I thought I'd have to again single-handedly grapple with a zombie gremlin, namely one that didn't show up until after the code in question had been promoted to QA, spot-checked, and was actually being tested. As anyone who's had to fight zombies alone (minus regulation chainsaw-hand and boomstick) can appreciate, I was less than thrilled.

The backstory is that fellow programmer J. and I had narrowed said "gremlin" down to a scenario not likely in The Real World, but very likely in testing. (Seriously, how many users will access a website via Secure Sockets Layer, then arbitrarily doctor the URL to use plain-vanilla, unencrypted HTTP?) It's still a gremlin, per se, albeit an edge case rather than a show-stopper. No worries--just slap that beastie on its backside to get it moving up the trail to the prime-time server.

At the time, I thought that our pair-debugging was particularly brilliant: J. and I quickly nailed down why I hadn't been able to re-create the problem for the life of me--nor could anyone else I'd asked to hammer at it. Problem was, J. forgot to share that insight with QA before escaping for GenCon. And I didn't think to account for J.'s...errr..."level of preoccupation" when the IM popped up to let me know that the gremlin had returned. And thus I wasted even more time. (D'oh! Guess we were only half-brilliant...)

Moral of the story: As much as many gremlins reside between keyboard and chair, some also like to hole up in the spaces between cubicles.