If it were not for DBC, I wouldn't have ever thought that paired programming might be a good idea. I grew up in the Bay Area. Lived through the tech bubble and crash of the 90s. My mother was part of the tech movement those days, and I remember being taken to her company and being put in the lounge room, fully equipped with a Sega Dreamcast. I would play with developers, black-box testers, quality assurance engineers all the time. I even witnessed a company-wide Doom marathon with the winner getting a cash prize. Yet the one thing that I never saw at these companies was paired programming. There wasn't really any collaboration back then, a programmer would be assigned a task within a project and when he was finished the black box testers and qa engineers would check his product, provide feedback, and have him redo certain parts. This would repeat until you had a finished project.
Understandably, I was hesitant when I had to meet for my first pairing session. I've done collaborative work in my previous career as a teacher, but collaboration is part of the teacher culture. And...it actually wasn't so bad. I actually enjoyed my paired programming session. It's not too different from the collaborative groups that I've worked with as a teacher. Over the next few weeks, I've come to see the positives and negatives of working on a problem with someone else. On one hand, two minds can solve a problem much quicker than one, but on the other, I keep wanting to try the problem for myself afterwards, as if I'm afraid that I didn't learn as much because I didn't have to struggle with the problem for a longer period of time. And there's also feedback.