Please help me understand what is meant by pair programming in XP? My understanding is:
Pair programming means two programmers working togther at the same time on a same computer for the same component/module. One is probably writing the code and other is reviewing the code simulteneaously, working on the logic, writing unit test cases, etc. Essentially dividing the coding task between two people so that work gets faster.
Seems pretty accurate for me. Although I never worked in such an environment.
Just a notion. Some people think that since 2 people is working on one machine, they automatically think 50% productivity. This is so far from reality, and in some cases you actually get more productivity than 2 people working on separate machine. (but this is of course dependent on the skills of the pairs programming)
There is pairs programming and pairs testing: Where two testers sit at the same test station and walk through a test effort. It is used to teach, to compliment testing skills, and frankly it is very efficient at generating some great defects.
In my experience it works best in exploratory testing or non scripted testing, (test cases that are documented but general in nature or offering hints and suggestions as to what the tester was thinking when he wrote the test) but doesn't work so well for straight verification.
If the two parties can click, the testing not only goes faster but is more profitable (higher PS value defects) and you are bound to learn something you didn't know when you sat down with the other tester.
Don't mean to thread hijack but thought it was an important distinction.