In this article, Gunther Verheyen explains that pair programming is a good software development practice. Even if Scrum doesn’t prescribe specific engineering practices, Scrum fully supports the agile principle that says “Continuous attention to technical excellence and good design enhances agility”.
Pair programming is a good practices promotes by the eXtreme Programming approach. According to Gunther Verheyen, its main goal is software quality. Its success lies in the roles and the rotation of pairs. The article provides different type of roles implied in the pair rotation implemented by his company. There is the lead-partner association where the lead is the person that has the responsibility to implement a specific backlog item. The rotation occurs every half-day.
There is also the driver-navigator roles. The driver writes the code and the navigator minds respect for the overall direction and design. These two roles are switched frequently during the half-day. The navigator checks in real time the code for standards, duplicate or reuse. This should be done anyway and this is why Gunther Verheyen thinks that pair programming is not more expensive than programming alone. Instead doing some activities serially, they are now performed in a parallel.
Another great additional advantage of pair programming is knowledge sharing. This is why Gunther Verheyen concludes that pair programming should be part of a software engineer’s normal daily practice.