Secret ingredients to quality software

Efficiency - Do you always try to work in pairs?

Last updated by Tiago Araujo on 10 Jul 2019 06:08 pm (about 2 years ago) See History

There are many good reasons why it's better to work in pairs.

ProjectManagement PairProgramming Luge
Figure: Do you always try to work in pairs?

For everyone:

  • Less time stuck on a problem - you have someone familiar with the project to help you work through the problem
  • You can keep each other motivated and you absorb knowledge from each other
  • Experience shows that people are more productive. As per Strengthening the Case for Pair-Programming

Extra for developers:

  • Your code will have less strange workarounds - because if something doesn't add up to a developer, he has someone to ask
  • Cleaner code - because you know someone else is going to be looking at your code
  • Support - when you need changes down the track, you have two people to call on

"I have found developers work better in pairs. I am not a fan of the classical pair programming - which is 2 developers working on the 1 PC. There are times for that especially during brainstorming activities, however on a day-to-day basis, I advise that developers work in pairs, but they each have their own PC."

- Adam Cogan SSW Chief Architect + Microsoft Regional Director

If you are not sitting next to a person working on the same project, then fix it. If you cannot then at least mention it to your manager.

Figure: Bad example - This is normal ‘pair programming’, two people working at one PC

PairProgramming02 Small
Figure: Good example - This is ‘working in pairs’, two guys working on the same project, with their own laptops, but sitting very close to each other

Is there an overhead?

Some projects are done quicker with two people - especially when they are complex. But on most projects there is an overhead, because of the extra communication between the developers - you now have to please someone else - not just yourself.

Estimates vary for the overhead, but say it is 20% extra, this is more than offset by the cleaner code and better solutions that come from two brains working together.

What if you are working remotely from each other?

If you are working with someone remote, you will be using an application like TeamViewer or another support toolto view one another's desktops so you can help each other out when necessary. You should have TeamViewer showing on a 2nd monitor.

What is the best code collaboration tool?

Visual Studio Live Share - See Video (3 minutes):

Please complete this survey on Working in Pairs.

Adam CoganAdam Cogan

We open source. This page is on GitHub