When I think about pair programming in Agile, what I really think about are several facets, not just the usual: 2 Developers, 1 keyboard.
I think Agile developers should not only pair in some sort or fashion, but I believe that testers should pair with development as well. The benefits of pairing developers and testers in my mind are so valuable for an Agile team, here are some of my favorite reasons:
Agile Pair Programming and Testing
- Testers and developers will learn from each other through ‘promiscuous pairing‘ (pairing with many different developers and testers throughout a development cycle)
- Testers learn programming techniques – Such as how to better do automated testing
- Developers can go through testing tasks earlier with a tester to give guidance
- Test cases are covered earlier through developer pair reviewing
- Testers and developers create a shared language, a common vernacular that helps with communication and collaboration
What other benefits do you suggest comes with pair development?