Extreme Flow

Oft-times I have participated in PairProgramming. Sometimes I have been paired with someone lesser experienced, and sometimes with someone more experienced. These days I'm considered one of the more experienced programmers, but I frequently have occasion to "buddy up" with one of the other more experienced programmers.

We have a nice arrangement with our keyboards. While we do have cubicles (yuck) we have it set-up in the cube where we can both sort of "curl in" to the corner where the workstation is (on swivel-chairs with wheels), and the keyboard is on a swivel-plate as well. So we can each sit in front of the monitor and literally just slide the keyboard back and forth between us, without either of us having to shift positions in any way. He types for awhile, then gets stuck and says "you take the wheel" and slides the keyboard over; I fill in some things that were needed and flesh out some more and then he starts getting an idea and I say "why don't you drive for awhile" and slide it back. It feels very "streamlined."

Often (but not always) we will have very similar thoughts at the same time about how to code/design the piece of the puzzle we are pondering. When this happens, we both need to fly the plane at the same time! He is a better typist than I so he "mans" the keyboard while I take the mouse and we both sit in the cockpit at the same time, flying the "plane" in concert together.

When this happens, it truly feels like we are four arms and hands attached to one head of single mind. People who watch us and have never seen it before think it is really spooky! But we are amazingly productive. We are both staring ahead at the screen (rather than looking at each other), while verbal dialogue shoots back and forth, but I know exactly where the mouse needs to be and when and what menu to pulldown or what button to click on, all the while without pulling away the cursor-focus from the keyboard when he is trying to type. Before the cursor even starts to leave the typing area he is already anticipating the mouse movements I am already starting to make.

We get a lot of high quality work done in a very short time this way. We are in a highly productive and collaborative flow-state that I have decided to dub ExtremeFlow.

When ExtremeFlow starts to take hold of us, we can feel it coming on, and then carrying us through, and we silently know we are in the ExtremeZone. Afterward, we have to detach ourselves a bit, and take a step back in our heads (outside the code) so we can go over and review what we've just written when we're no longer so viscerally entrenched inside of it. That's how we try to ensure we didn't get too carried away with something, or wander way off in the wrong direction. Then when we start to RefactorMercilessly, saying things OnceAndOnlyOnce.

Do any of you XPerts "have this one" in your vocabulary?

-- BradAppleton


Cool! I've done something similar a couple of times and it felt very spooky! And we weren't even as in sync as you describe. The funny thing was the barely audible sounds and very small gestures we used to synchronize. A rising sound meant go up to the menu bar. A glance to the right meant "Let's scroll" (and we usually had the same direction in mind). In fact most of this communication was literally synchronizing when to take the next step. -- KielHodges


You guys are on drugs! Fun, isn't it? ;-> -- RonJeffries

And, more importantly, where can we get some? ;) --LeoBighetti?

Hey, didn't someone describe WardAndKent as SiameseTwins?? -- KielHodges

The word to describe this experience is Harmony. -- PeterMerel

Bingo! But harmony of what? More on this in ExtremeZone -- BradAppleton


EditText of this page (last edited March 18, 2007) or FindPage with title or text search