Skip to main content

Posts

Showing posts from May, 2012

Pair Programming: How To Do It Right

Pair programming is an XP practice of putting two people in front of a computer, and having them program together. If you haven't seen it work before, it sounds wasteful. It is wasteful if you have one person writing code while the other passively watches, but there are some practices that make it a lot more valuable. When done right, I consider "paring" to be vastly superior to solo programming.


The way I have done pair programming goes hand-in-hand with test driven development. Here are the techniques I have used.


Ping-Pong PairingThis is a beginner technique. It can get you in the groove for a day of pairing, and it's also useful as an introductory technique to pair programming.


Here is how it works:
Developer A: write a failing testDeveloper B: make the test passRefactor together Developer B: write a failing testDeveloper A: make the test passRefactor togetherRinse and repeatThe idea is to make a game out of it. Write the simplest possible piece of code to make…

Team Accountability: Be Courageous, But Don't Be A Jerk

I have been helping to lead an agile transformation / continuous improvement effort for the past couple of months.  It has been a great experience, and I want to capture some of the things that I'm learning as I go.

In yesterday's stand-up, one of the coach/developers brought up a problem he saw.  One of the team members appeared to have waited too long to ask for help, working on the same story for several days.  It went something like this:
We need to spend more time listening to each other and ourselves in stand-up.  If you find yourself saying "I'm almost done" two or more days in a row, or if you hear someone else doing it, that's a red flag.  For instance, I was pairing on a story with Bob last Friday, and I heard him say today that he was almost done with it.  He and his pair need to say "we're blocked", and reach out for additional help on their story. I thought it was well put, but Bob (not his real name) was pretty upset about it, and …