Find here a quick overview of my 7 favorite advantages of pair programming:
Every developer is accompanied in every step by a colleague who can spot errors immediately. The later a mistake is spotted the more costly it can get, Pair Programming can prevent this from happening.
For a discussion about the implementation of a feature a developer can easily use his sparring partner. He is already involved in the topic and is available without hesitation. The pair spends their time in continuous pair thinking and discussing.
Both pairing-partner constantly learn from each other: first this concerns little tips and tricks they see on the side, like shortkeys or mouse gestures.
Furthermore a technical knowledge transfer takes place. To support this, experts and novices can deliberately sit together. Besides the risk of the project is reduced if two persons are familiar with an important topic. The development can be continued despite an unexpected absence of a team member.
The saying “Four eyes see more than two” alludes to the problem we have finding our own mistakes. Developers also find it difficult to debug their own code after finding a mistake. With Pair Programming there is always a colleague at their side who can help with finding and debugging errors faster.
Honestly: what do you do if a task doesn’t work as we want it to? You try and try but it doesn’t work and you can ́t find an error… I would then get distracted, go have some Coffee, make a phone call, check my emails or surf the web. Only when I don’t have anything else left to do I try again to solve the problem. And if I don’t find any more distractions, I continue with the problem. I have to familiarize myself with the task to continue my work at where I was before I got distracted.
Pair Programming helps to keep the focus. And this works
❏ inside: in delicate situations developers continue working on their topic, proceed focused and finish their task completely. Thanks to the presence of their colleague they don’t get distracted easily because they want to support their colleague and don’t want to leave him alone or distract him.
as well as
❏ to the outside: when two people are engaged in a conversation we usually don’t interrupt them. This is how our society raised us. Which means that a Developing-Pair deeply engaged in their workflow is interrupted less frequently and can keep their focus better than a single developer.
What do you need courage for in software development?
Imagine a young developer finds a mistake in the source code of an older, more experienced colleague. He will need a lot of courage to mention this lack in quality of the product. He will probably spend a lot of time to verify his assumption to reduce his personal risk. Maybe he won’t speak up at all. This would be a pity because a high quality of the software should be our goal.
Now imagine a development pair that found the mistake in the Code together, tries to understand it but fails at it. They can approach their colleague together with the mindset of learning or improving code quality together.
Courage in the team supports quality and learning.
When two people work very close together every day, share one keyboard and one mouse, they get to know each other very well. Same for people who spent many hours of their workday in a 1-on-1 video call together: they establish a basis of trust that is difficult to reach otherwise in the team. Teams that do Pair Programming on a regular basis build many trusting pairs and go through a very intensive and close team experience.