Wednesday, December 1, 2010

Team Jazz Band

We had the following conversation yesterday:

1: "Hey, look! The mem option is a signed int. Whoops!"
2: "Oh yeah, 3 just logged one for the scanner that the object option is signed"
1: "Cool. Let me see..... oooooh that one core dumped. Mine just threw a bad error message."
3 walks in with some hot dogs (it's lunch time)
2: "3 wins!"
visiting dev: "what does he win?"
3: "hot dogs, apparently"
visiting dev: "you got him hot dogs for a core dump?"
2: "oh! business idea! core dumps spit out hot dogs. We'll make a fortune in the food court!"
1: "sweet"
random other dev coming in for the day: "how'd nightly tests do last night?"
visiting dev: "nightly did great. Those humans are making up for the gap by logging lots of bugs."
1: "Yup, option testing on the different binaries. It's producing kind of a lot."
1: "Hey, 2, did you ever figure out when that performance drop happened?"
2: "I know it was after the 28th, because I just dug up the test results and they were faster then. So I wanna say it was in early November. Still digging."
1: "Visiting dev, I think the boss said you thought it was the 5th of November or so. Was that based on anything or just speculation?"
Visiting dev: "Boss's speculation, maybe. Although the 5th of November sounds familiar."

And the conversation continued on from there. I felt like hanging a sign on the wall: "Serious testing going on here."

Were we having fun? Definitely. We're the laughing-est group in engineering.
Precision language? Nope.
All work related? Nah, but most of it.
Were we testing? You bet.

I like to think of this as the jazz band state for the QA team. We're all working on separate things, and if you asked us what we were doing we would say:
1: Testing options on the reader binary
2. Trying to track down a performance regression
3.: Testing options on the scanner binary

But we're doing much more than that. We're creating ideas and bouncing off each other while continuing to work on our separate things. It's like loosely coupled pairing. We're not really pairing, but by keeping an ear open to each other's conversation, we get ideas to improve our own tests and we answer each others' questions.

It's a great flow state for us when we can get there. Our tests improve, our speed improves, and our rhythm improves. So whenever we're all in the office testing (no meetings or other interruptions), we try to work on similar problems in different areas. For example, today most of us were working on testing the options to a binary (--verbose, --mem, etc.). That way our ideas actually make sense to each other for immediate use. We turn from individuals playing our instruments into a jazz band, bouncing solos and harmonies off each other and making great music along the way.

Of course, like all musicians, sometimes we need to practice on our own. That's what the team quiet room is for; we put a computer in the team room and each of us can shut ourselves away for some quiet focus time. But the real magic happens when we come together and play a tune.

Give it a try and see what wonderful music ya'll can play together.

1 comment: