How Pair Programming has changed my Work Life
By: Kavya Babu
Tags: Development, Agile, Agile Methodology, Extreme Programming, Pair Programming

Quick resolution those solution hiccups

It’s quite common for you to get stuck in a problem for long. This usually creates stress and pressure to complete tasks on time. In Pairing, both can brainstorm, search and reach a conclusion in a more effective way. Navigator can search for solutions while driver tries them out. This approach has helped me personally to reach a solution mostly.

There are chances that either of you have encountered a similar issue earlier. That is already a happy path then. The experienced can navigate, and other can drive quickly to your solution.

No more wait for code-review

In my personal experience, code reviews are painful to both reviewer and reviewee. Reviewer has to think about why the other person added that code block there, is there any adverse effect in it, check its code quality all in one go. That’s one gargantuan task for someone. Especially when they are in parallel assigned tasks with impending deadlines.

Photo by Helloquence on Unsplash

On the contrary, Pair programming is like a continuous code-review. You incessantly review and improve each others code and design throughout the pairing phase. As pairs frequently swap their driver-navigator role, a person can look at a solution as a dev and as a reviewer. This can do magic in a new level.

You learn to communicate

Photo by Anna Vander Stel on Unsplash

Many at times in lives, we fail to communicate what we actually mean. Do i have to explain more about it ;) Key success to pair programming is to overcome those communication hiccups and to effectively communicate with your partner about what you meant with this logic or why you prefer using this method over that or very politely explain why your partner’s code might create a problem. Diplomacy can be your initial weapon during the initial phase. Once you get the hang of it, communicating with your buddy or as a matter of fact with anyone will be a piece of cake.

Lesser Bugs

Management usually hates pairing as it is costly. If you see from management perspective, they are spending double amount of money on solving a problem. Two people working at a single computer will add as much functionality as two working separately except that it will be much higher in quality. Pair Programming is slowly gaining its popularity as organisations are starting to realise that it is more efficient and makes lesser production defects.

Combined with other approaches of XP like TDD, pairing effectively reduces the bugs in your application.

Lesser procrastination

Photo by Pedro da Silva on Unsplash

Yes, devs are lazy. Procrastination runs in our blood. We wait till our estimate deadline to act on a task usually. This can be avoided to a greater extend while pairing. You will be considerate of each other’s time. More than getting yourself into trouble, you’ll be worried about your partner getting into trouble because of you. So you’ll hustle up, finish your work within estimate and be more agile.

You start listening to understand

We as humans have a thing to listen to argue. Especially when it comes to criticism or comments about something which you have nurtured yourself. The code you write or the logic you have introduced is your baby. When someone says bad about it, it’s like offending you. It has often affected me in the initial days. Even you can turn hostile to your partner.

But once you learn to calm down and think; about why is he saying that, is there any actual issue with my code which I overlooked and understand, you’ll get your answers. You stop being afraid to accept your mistakes. This welcomes you to a more open mind and open way of thinking.

Your buddy has got your back :)

Photo by NESA by Makers on Unsplash

Long gone are those days when your task and its bugs are yours and only your problems alone. It’s OUR bug we say. As a thumb rule of XP, When issues are found out, a pair creates test so that it doesn’t come up again. And you fix it together. Again brainstorm to find similar issues that can come up. This cycle continues.

A pair takes responsibility of an issue and not a person. Where you fail to express yourself, your buddy will act on your behalf. A feeling of being in a team usually strengthens through pairing. Pair rotation helps all the teammates to bond quickly. Helps to understand about how a person would think and act.