Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Remote Pair Programming: How to Make It Work for You

DZone's Guide to

Remote Pair Programming: How to Make It Work for You

Do you work on a remote team? If so, read on to see how you can still do pair programming and reap all the rewards of this agile process.

· Agile Zone ·
Free Resource

The Agile Zone is brought to you in partnership with Techtown Training. Learn how DevOps and SAFe® can be used either separately or in unison as a way to make your organization more efficient, more effective, and more successful in our SAFe® vs DevOps eBook.

Image title

We’ve all heard about pair programming and why it can work so well: it increases productivity, decreases bugs, and makes the process of programming (even more) enjoyable.

But what if your development team is distributed? 

Can you still take advantage of pair programming

Is it as effective?

At Cronofy, our developers are based all over the UK, which means the time in which they can pair program in person is limited. 

Rather than only pair program when they’re in the same room, they take advantage of some of the great technology that’s out there so that they can pair program even if they’re hundreds of miles away from each other.

Call On Me (Or On Your Colleague)

As a company, we use Slack and Zoom daily to keep in touch with the rest of the team. 

Slack is good for the day-to-day stuff, while Zoom’s video chat allows for face-to-face discussions. These tools also mean that if you spend large amounts of time on your own, you still have someone to talk to.

Every morning our developers conduct a virtual stand-up where they discuss what they achieved/worked on the day before, and what their plans for the day are. This helps to keep them focused and gives them the opportunity to discuss any roadblocks they faced, get feedback, and find a solution as a team if they haven’t done so already.

It can be difficult for junior developers that haven’t been a part of the team very long to fully understand a product or find a solution to a particular problem. Having direct lines of contact with the rest of the team helps, but asking others for help makes us all feel self-conscious at times.

When a junior developer is working with a more senior developer, they have the chance to learn from their colleagues. It also means that they’ll be brought up to speed faster than if they were working alone.

We’re far more likely to discuss problems if we’re already working with someone and know that we’re not distracting them from their work. By discussing issues faster, we solve problems faster and are therefore more productive than when we go it alone.

Working from home also means that pairs can communicate without worrying about disturbing colleagues or being disturbed by them.

Screen Sharing Is Your Friend

Pair programming only works remotely when both developers can see the screen where the code is written. It’s therefore key to find the right screen sharing software for you and your colleague.

Screen sharing allows both developers to see the code as it's written and take control of the mouse and/or keyboard.

Some screen sharing programs also allow each of you to have a mouse so that you don’t need to mess about with permissions when trying to show someone something. If you pair program on a regular basis, this is a particularly useful tool.

Being able to screen share when you work remotely is paramount because it’s really the only way that you’ll both be able to see the code without the need for copying and pasting every line into Slack, or worse, an email!

But Does It Work?

Remote pair programming can be just as effective as pair programming in the same room. 

Except you’re not in the same room. 

You don’t have to squeeze around a desk or a monitor or find somewhere quiet so that you can hear each other. 

You can talk as loudly as you want — argue, if you really need to (although I’d advise against this, it’s not good for your mood or for team building) — without worrying about disturbing anyone but your pet cat.

Remote pair programming doesn’t have to replace pair programming in person, either.

It’s an effective way to make the most of working from home while still saving time and being more productive. 

It’s still important for teams to meet up periodically so that they get to know each other and can spend time working on projects in person, too. 

Sometimes the best way to brainstorm new ideas is still a good old-fashioned whiteboard.

Remote Pair Programming Doesn’t Have to Be Complicated

Much like anything else in life, you get out of it what you put into it. 

If you don’t like the idea of remote pair programming or aren’t willing to give it a chance, you probably won’t find it effective.

However, if you like the idea of something that breaks up the pace of working from home, helps you to write better code, and makes you more productive, well then. Why not give it a go?

Adopting a DevOps practice starts with understanding where you are in the implementation journey. Download the DevOps Transformation Roadmap, brought to you in partnership with Techtown Training

Topics:
pair programming ,agile ,remote teams

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}