There it is. A pile of ripped up note cards denoting all the engineering tasks completed by my pair. This was an unusual day because it started at 7:30am with some white board modeling and brain-crunching a very, very tough problem. We wrote out some tasks to get us started, and we played the TDD game. It was such a tough problem that neither my pair partner nor I could imagine the complete solution, but we could imagine a few things that would be included. We wrote down the items to do on note cards and ordered them. The navigator manned the note card deck. In the course of completing some of the engineering tasks (all part of the same story), we uncovered new tasks that needed to be done. We wrote those down and added them to the bottom of the pile. We also ran into a brick wall and had to stop to do another task before we could continue. We wrote that down and added it to the TOP of the stack. We used these note cards as a true STACK. FILO. It helped us stay on track. We finally got through the stack, and when we did, the story was implemented. We didn't have the complete plan at the beginning, but we adapted and changed the plan along the way.
This pile of ripped up note cards is all that's left of that nasty story. It did take us all day, though, and at 6PM, we both were wiped out! It was the last day of the iteration, and we had committed to the story. We ate a quick lunch at our desks and worked straight through. It was great that we were able to meet our iteration through micro-adaptive planning.
I hope I don't have to do that again for a long time because that was the most difficult pair-programming I have ever done. We were talking through the problems _all day_. My brain was hurting on the way home.
My pair partner commented that it would have taken him 3 days if he had had to work through this nasty story by himself. Pairing on the entire solution cut the delivery by 2/3.