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.