I will be speaking at this year’s CAS, the most important Agile conference in Spain, held yearly in a different city each time: http://conferencia2013.agile-spain.org/
My talk title will be “Effective Pair Programming“. The idea with the title (besides not being very original) is to emphasize that it won’t be yet another pair programming evangelism talk, but rather a talk about improving the way developers pair, targeted at those who failed, are struggling with, or want to improve their pair programming skills.
Below is the talk abstract/proposal. See you in Bilbao!
Pair programming is a central element in Extreme Programming (XP) and its correct practice dramatically improves software quality. The technique is however quite difficult to master, and not doing it properly will not only be frustrating for the developers but also a waste of the company resources. This talk introduces different approaches to the technique and shows the audience how to avoid the common pitfalls that developers will encounter in their path to effective pair programming.
In this presentation, I will cover the principles underneath the technique’s productivity gains and why it increases the amount of error-free code over solo programming without spending more resources. I will also show how its practice reduces the team bus factor, and how pair rotation distributes information, effectively eliminating knowledge islands in the team.
Different developers have different experience levels and personalities. I will talk about different combinations and how to overcome these mismatches to enable the pair to become greater than the sum of its parts, thus producing software of greater quality and maintainability. I will cover the classical XP driver/navigator roles but also tag-teams and less formal approaches.
Pair programming is a challenging practice, and though it is not a novelty, it is still surrounded by many misconceptions. I will step through DO’s and DON’ts based on both documented and my own grounded experience on the topic, how it tightly fits other agile development practices such as Test Driven Development, and what to expect when introducing this technique in a team.