How to Get the Most Out of Pair Programming

Liza Cordero
Character Obsessed: The People Factor
2 min readJun 14, 2024
Photo by Markus Spiske on Unsplash

Scaling an application sometimes requires growing your team of engineers within a short period. A successful on-boarding process, extensive training, and product improvement are necessary.

If you adopt an agile method, you are not new to the concept of pair programming. The original practice involved two developers sharing a workstation. One writes the code and one reviews it as they go.

We had to redefine our version of the process for our unique situation.

The Process

Being a remote team, we often discussed the task on Slack or a video call with our partner.

We worked out the solution together and both parties have to agree before we code.

The non-coding developer does an initial project review before sending it for further assessment.

In the absence of reviewers and for simple projects, the partner code review can serve as the final review prior to testing.

We took the concept further to reap more benefits. Combining developers met the extra goals of our process.

The Value

1. Pair a developer who knows the application with a new hire to provide product training while working on tasks.

2. Pair a developer with better mastery of the language needed to build the project with a developer who wants to improve his skills, and you have an in-depth training session.

3. Pair two developers with different ways of solving problems to get the best-of-both-worlds solution.

4. Pair two developers who have never worked together to have a mini team-building session.

5. With an especially complicated problem, putting two of your experts on the task would make it easier to tackle.

But is it more expensive to put two developers on one task?

The Cost

A paper by agile methodologies experts, Laurie Williams and Dr. Alistair Cockburn, on The Costs & Benefits of Pair Programming states that for a development-time cost of 15%, it improves design quality, reduces defects, reduces staffing risk, enhances technical skills and improves team communications. The technique is more enjoyable at statistically significant levels.

Personal Life Applications

Pair programming is a concept that can improve your personal life too. Sharing the burden makes solving a problem easier. Working with someone with more experience than you could improve any project you are working on. It is helpful to have someone proficient in logistics and another skilled in attracting attendees when organizing an event. Need quality time to improve your relationship? Work on a project together.

--

--

Liza Cordero
Character Obsessed: The People Factor

Software Engineer | Author | Creative Problem Solver | Stress Baker