Pairing Stations are the Love Den of Code Creation
1 May 2009 in Agile PracticeAt Integrum, we practice pair programming as part of our development process. This means we always work in twos. There are many possible benefits to doing this - the main being that two sets of eyes on the code are better than one which can have a big impact on focus as both developers hold each other accountable. We have had problems in the past with people using laptops and cell-phones for personal use at pairing stations instead of focusing on the code. So after a retrospective one day, we implemented a ‘no laptops at pairing station’ standard. We tend to backslide on this standard pretty easily, which is very understandable. There are many reasons a developer might use a laptop (lets forget about phones for now) that are focused on the project. For example, all of our clients are off-site so we use chat as a way to keep our communication flowing throughout the day. It seems like having chat open on a third display is very convenient. Another work-related reason for having another computer at the pairing station could be to keep some documentation open while working. One more: maybe we just need a short break - i mean, were professionals after all. So on some level, it seems rather heavy handed to have a strong rule like, ‘no laptops open at pairing stations’, just to keep a few bad seeds from taking advantage of the situation.
But that’s not the whole story. Have you ever heard the advice to not set up a television in your bedroom? The idea is that bedrooms are for sleeping and intimacy - a den to escape the pressures and overwhelming details of the day. A bedroom should be a place to relax, to make love, to feel safe rather than a place to watch Joe Rogan encourage a dim-witted contestant to eat more bull penis. Over time, removing distractions from the bedroom can have a really positive psychological benefit because upon entering the room the mind is conditioned towards rest instead of being entertained. This advice is very helpful for people who suffer insomnia. Which brings me to my point.
Pairing Stations are the Love Den of Code Creation. Pairing stations are for two things - work and pairing. Laptops can adversely affect pairing because bringing a laptop into that environment increases the possibility of distractions. When one of the pair-mates (is there a better word for this?) is reading something on their laptop, they can’t really be said to be pairing. Laptops also can have a big effect on work - Let’s take the example of the client chat - instead of suffering distraction and having to constantly re-engage our code (which is a big time waster, i tell you), wouldn’t it be better to check that chat after completing a task, so one does not lose focus? After completing a task the pair could look together at the chat and see if there is some feedback that the client needs. And finally, there is the psychological benefit of using the pair-station only for work. In time, focusing only on pairing and working at the stations, one’s mind shifts into work mode much more quickly which further increases focus on the task at hand.
And let it be said - Integrum does not discourage goofing off. We have two game systems, a pool table, an air hockey table, and a pony. Also we have Jade’s faux-hawk! Its just that we don’t want to mix work and play - when we are working we should have 100% worker mind. When on a break it is 100% break mind.
That’s my two cents. Will work for comments.
1 Comment to Pairing Stations are the Love Den of Code Creation
Leave a comment
Tweets
- @jaymcgavren cool to hear you mentioned on the ruby show #131 - Networked Drawing Canvas in DRB http://bit.ly/b8mKb3 (link)
- "It's not about Buddha, it's about you, duh" - Lama Surya Das (link)
- @soonalighton It's like a reverse coming out of the closet. I knew it, though, you never had me fooled. (link)
- I just figured out that i could use Facebook chat with chat clients. (link)
- study: "In 2 years, work perf of high school recruited devs indistinguishable from more experienced peers"(paraphrase)http://tcrn.ch/daXoHA (link)
- Introducing netrecorder, my first ruby gem.
3 January 2010 - How to build a ruby gem and host it on gemcutter
3 January 2010 - DEMO!
18 December 2009 - It puts the lotion on its skin
14 December 2009 - Cucumber Code Ratio
14 December 2009
- Tobi:
^^ shit, ok now I see it's not your fault, its (my... - Tobi:
Thanks for this great writeup! btw. you missed... - Chris Young:
Thanks for letting me know. I updated the link.... - maxjgon:
The link of the project in Github is broken!... - Chris Young:
Oh I see . . . Maybe I should check out this so-c...
Great post.
It seems to me that the more I learn and practice agile techniques, the more it is about the little things. Small things, like a simple laptop open when it shouldn’t be, have a big impact on results.
My difficulty is getting people to see and understand the power of small. But, it’s what I choose to do!