Sounds dangerous. Wouldn't that suck the clues right out of your head?
What if you want to practice ExtremeProgramming but you are the only developer in your organization. Can some of the benefits of PairProgramming be realized by partnering with people who have little or no knowledge of coding?
Since I'm the only developer in the company, I decided to try this with our Director of Marketing (he fulfills the role of Customer) and it's been 'very' interesting.
(Obviously, I'm a little bent to even consider such a ludicrous idea... same goes for the marketing guy. I have a bit of a split personality; when I'm writing code, I'm thinking about what's going on on all these different levels inside the machine, but when I use someone else's software, I switch into DumbUserMode --and that's exactly the way I like it. I like clean and subtle interfaces that require very little conscious thought on my part -- in fact, in the rare cases where I have the choice, I prefer real knobs and levers over their screen equivalents. ReinventTheInputDevice? anyone?)
In any case, because of my "sickness", I might be better equipped to bridge a gap with "the enemy" ;) It doesn't hurt that my coworker spent some time in the trenches taking customer support calls for a large computer company. He's not running a huge surplus of clues, but it is a surplus, and my clue reserve is thankfully spared... ;)
Clearly, I do all the typing, and that at about half-speed since I'm describing what I'm doing at a level of detail that would be unnecessary for a programmer. Our "Customer" is now able to understand what I'm doing with little explanation on my part, he can read control constructs, understands the basic concepts of objects and classes, and always remembers to make sure I run the UnitTest suite.
Arriving at this point wasn't painless, and I doubt there are too many out there who would want to spend their time trying to train a marketer, nor would I blame them. For those who are curious; it takes patience, for sure, but here are some of the benefits we saw (your mileage may vary ;)
-BenSharp
BenSharp used to practice PairProgrammingWithMarketingTypes, could these experiences be shared? How to pair program with somebody who knows little or no programming?
There's no XP methodology etc in my company. But I do this with business people whenever there's opportunity. This way, they can visualize how difficult programming effort is. And from then, they're more realistic about requirements and forgiving about bugs, deadlines etc.
In fairness, I hope that you also accompany them from time to time on sales calls, meetings with the promotion agency, and presentations for the executive board. It helps you be more realistic and forgiving about ad buy lead times, sales closing techniques, managing board members, and so on.