The fun of pair programming
Pairing up together to solve the problem
Pair programming is a practise of two people coming together and solving a problem. One is a driver and the other is navigator. These roles are switchable between the pair. Pair programming can not be so fun if not done properly. Some people love pair programming whereas for some it might not be. We should focus on the fun part of.
The fun part
Pushing each other
Working alone we tend to leave most of the part that could be refactored, or following TDD. With pair programming we push each other to make each other better at writing code.
Learning from each other
It a good opportunity to learn from each other and grow together. There is no limitation for senior, junior. There is always something to learn.
Better ideas comes with 2 minds together
With two people working to solve the same problem we can get different perspective of the problem and solution.
Faster shipping of feature
When we work together we get to solve the problem better with less bug, which reduces the testing time. Also the code review cycle can be done faster.
We are social animals we need some chitchats ;)
The not so fun part
Problem: Pair programming has a lots of fun when done well. Sometimes we might feel we don’t have personal time while doing pair programming. We need time to check our emails, messages and all.
Solution: For this we can take some break for few minutes and get back after some time. It is better to have short breaks every half an hour. You can use Pomodoro Technique in pair programming.
Problem: One of the pair might get bored if they loose context of what they are doing.
Solution: The role of driver and navigator must be switched. The switch can be made after the break for personal time.
We need to remember that pair programming is more about discussing together. If you are loosing context ask questions and communicate with your pair well. If your pair is loosing context discuss and explain about what problem how you are solving together. Getting thing done is important but make sure that both of you are in sync.
If You Want To Go Fast, Go Alone. If You Want To Go Far, Go Together
Pair programming also depends upon the culture of the organisation you are working on. If no one is that into pair programming, initiate it. Talk to a pair in your team and give it a try.