This article is about pair programming, I have another article on TDD I intend to rewrite because the way TDD has been presented to me by the lackwits who practice it is nothing like the way Beck described it. They are the same sort of idiots who use throw to save a few minutes of editing.
When it comes to the utility of pair programming my mind is completely closed. It is stupid as anything could be and directly contrary to everything we have known for a half-century about the vitality of unbroken concentration in productivity and code quality. I can mentor people under similar conditions but actual get any programming done? No freaking way. Period.
The one time I did it was intended by my managers to push me into resigning. It worked, I resigned, so when Microsoft announced its first layoffs a few weeks later the numbers weren’t so bad because a lot of others had quit in disgust too.
I’m going to ignore your opening remark; polymorphism is a real concept, TDD and PP are fads. TDD may have some small utility but not in the way my manager described it to me, which ended up being writing new code completely outside the application that would only be called by the unit tests. If you call that real work then we cannot communicate.