A day with an outsider

January 19th, 2009 by ymendel 0 comments »

We’re kind-hearted people here at OGC. Sometimes we take in strays. Rick can tell you about his dog if you ask, and I’ve fostered more cats than I care to deal with again (3 or thereabouts). So when our neighborly friend Mr. Jeremy McAnally heard that his buddy Ryan wanted to try his hand at a Corey Haines-esque pairing tour, he naturally thought of foisting Ryan off on recommending him to us.

After some e-mail back-and-forth, we settled on a date for Ryan to come up and spend a day in the OGC lair. It kind of sucked because it made me get up and out of the house and seeing my esteemed partners and colleagues earlier than my norm, and it was also the day I finally killed my car, but other than that it was a very good day. Ryan has his take of the day’s events up, but I thought I’d try to put forth my own.

We met at Kevin’s a little early to talk over some final ideas while waiting on Ryan to show up, as he promptly did at our agreed-upon time of 10am. Then we went over the overview of what we’d be working on, including a bit of history of the people involved, where our data model came from, why we’re focusing on one particular part of the app to start it up. From there, we looked at the stories we’d collected, split into two pairs (I got Ryan to start), and got to work.

It may have felt to Ryan like he was slowing me down, but as I explained to him, sometimes being slowed down is a good thing. In my mind, one of the primary benefits of practices like writing stories, BDD, and pairing is that they slow you down and make you think about what you’re doing. They give you the time to design and code better. Paradoxironically, they speed you up by slowing you down.

And all the stuff he said he learned, I told him that our first 3-2-1 taught us much of the same. Just watching someone else with different practices, different knowledge, different ideas — there’s so much you can pick up. Actually getting to work with a person like that? Forget about it. And packing that into an intense day (or few) instead of just making it an every-now-and-then thing? Oh man.

As a three-man team, we have some mathematic disadvantage when it comes to constant and vigilant pairing. We also have other interests and personal lives that have us in a fairly common situation of developing separately but together, off in our own coding worlds with communication through various electronic means. It doesn’t have the same benefits of in-person pairing, as we’re reminded when we do get together and smack down a bunch of stories while talking to each other. It’s nice to carve out time and get into that groove.

Anyone else want a piece of this? Come on up. We’d like to have you. Just keep in mind that Ryan’s set a precedent of the guest paying for lunch.

Update: They say good news travels fast. Two local programmers have contacted us about pairing opportunities. Also, we’re working on a follow-up pairing session with Ryan in the next month or two. That, or he wants to kidnap my dog! –Kevin