How Rally Racing embodies Pair Programming and the lost art of timeboxing
In rally racing, you have a driver and their job is to … um … drive. As fast as possible, without always knowing where to go. Inside the same car is a psychopath co-driver (what’s the technical term?) that tells the driver where to drive, literally. Turn left, right, it’s this far again, the turn is this sharp, remind the driver he has 6 gears, and so on. This is exactly what pair programming should be. Also, you have stages, defined areas the team goes through that might not be exactly correct but close enough that you probably won’t crash. Take this clip for instance.
Language warning for the faint of heart https://www.youtube.com/watch?v=KmAS-U3AA4U
When a pair is good, they can be downright comical in their communication. To someone outside, this could seem like a very toxic form of ...understand but it isn’t -- and the progress is remarkable. They’re working as one, reacting to each other, sometimes going as far as knowing each other’s thoughts and pointing out problems as they go along. The focus is intense, by both people, the entire time. Once the finish line for that stage is met, it’s time to calm down, go over what happened, where they could be better, and so on. Unless they crash. Then they stand outside of the car and thank the stars they don’t have to fix it. Timebox over!
This type of team dynamic doesn’t happen immediately. It takes time to find the strengths (good car control), weaknesses (forgets 6th gear exists), where the comfort level becomes … not comfortable, all that. This also means that a pairing of people may not be a good thing -- and that’s ok. A group of 4 people might be horrible if A is paired with B and C is paired with D, then completely brilliant when C is paired with A and B is paired with D.
Out of this example is the supporting team - the guys that built the car, set it up a certain way, anxiously looking over the data, how well the team is doing, and so on.