Remote pair programming is an Extreme Programming (XP) methodology which is a part of the Agile software development model. It takes the principle of pair programming to the remote workplace. Pair programming leads to higher quality code and fewer bugs by making continuous code reviews and synchronous collaboration possible. In traditional pair programming, two programmers sit side by side in front of the same computer. Remote pair programmers share the same workspace remotely by using real-time collaboration tools.
Benefits of remote pair programming
Two programmers approach the same problem from different angles and most likely have different skill sets and knowledge as well. Giving real-time code reviews to each other and separately discussing each problem can result in higher quality code and fewer errors, plus being in constant contact with a peer can also help programmers avoid distractions and keep focused while working. As there are already several real-time collaboration tools you can choose from, there’s no reason not for trying this new form of distributed development.
Measuring pair programming
One way you can put metrics to your remote pair programming efforts is how many bugs you create vs. how many get resolved. You must be capturing all errors from your software so you can discover and fix the problems in your app before your customers do. Error counts and performance are a good measure of software quality, so if you can correlate better software (i.e., fewer bugs) with your pair programming efforts, you can put a value to your efforts.
Areas to measure are:
- Development time: Are you spending less on development resources?
- Time to resolution: How much time is spent resolving software problems?
- Employee satisfaction: Are employees happy?
- User satisfaction Are users having a better experience?
- Money: There should be an economic value placed on remote pair programming
You can get all these metrics and more from Raygun Crash Reporting, Real User Monitoring, and APM.