Pair programming

Pair programming is a development technique in which two programmers work together at single workstation. Person who writes code is called a driver and a person who observes and navigates each line of the code is called navigator. They may switch their role frequently. Sometimes pair programming is also know as pairing.

Pairing Variations :

There are three pairing variations –

  • Newbie-newbie pairing can sometimes give a great result. Because it is better than one solo newbie. But generally, this pair is rarely practiced.

  • Expert–newbie pairing gives significant results. In this pairing, a newbie can learn many things from expert, and expert gets a chance to share his knowledge with newbie.

  • Expert–expert pairing is a good choice for higher productivity as both of them would be expert, so they can work very efficiently.

Advantages of Pair Programming :

  • Two brains are always better than one –If driver encounters a problem with code, there will be two of them who’ll solve problem. When driver is writing code, navigator can think about a solution to problem.

  • Detection of coding mistakes becomes easier –Navigator is observing each and every line of code written by driver, so mistakes or error can be detected easily.

  • Mutual learning –Both of them can share their knowledge with each other and can learn many new things together.

  • Team develops better communication skills –Both of them share knowledge and work together for many hours a day and constantly share information with each other so this can help in developing better communication skills, especially when one of members is a newbie and other is an expert.

  • Disadvantages of Pair Programming :

  • Team Fit –High-intensity communication of pair programming is not a good fit for every developer. Sometimes, drivers are supposed to speak loud as they write code. Some people may not agree on idea of sitting, literally shoulder-to-shoulder, with a colleague for eight hours a day. Some experienced developers are more productive in solo rather than in pair programming.

  • Newbie-newbie pairing problem –Newbie–newbie pairing can produce results better than two newbie working independently, although this practice is generally avoided because it is harder for newbie to develop good habits without a proper role model.