XP Model Pair Programming: Pros and Cons to Consider
Extreme Programming is an Agile methodology that has, perhaps, the largest amount of means for its realization. Like any other Agile-styled method of software development, it requires strong communication and cooperation inside the team and between the team and the customer. XP has lots of tools and techniques to make this communication more efficient. The main goal of Extreme Programming is to provide the customer the final product within the shortest time. It is also focused on the quality of a product. XP developers perform the most difficult and unusual projects.
In this article, we will tell you about a popular means of XP projects performance called Pair Programming.
XP pair programming practices
Actually, there is only one Pair Programming practice. It is quite simple, but its implementation requires special knowledge. Pair Programming is a type of work organization that requires two developers to work with one computer. The main idea is to improve the efficiency of project’s performance. Two heads are better than one. And two people can perform one task more effectively than a single person.
Pair Programming in XP is a cooperation of two developers who have different levels of experience. Usually, one of them is more experienced than the other. However, it is not a teaching practice. Pair Programming is used to improve the efficiency of project’s performance, but not to teach young employees. Nevertheless, it will provide a good experience to every developer willing to work in pair.
XP and pair programming
Pair programming was invented as a means of Extreme Programming methodology. Like every method of software development, it has both advantages and disadvantages. All of them are connected with the main theoretical and practical issues of Pair Programming. Let’s look at them in detail to figure out how they impact the activities of an XP development team.
Advantages of the pair programming method
First of all, it is necessary to mention that Pair Programming really improves the efficiency of working process. Two people can perform one task faster than one person. Experience exchange between them is also very important. It impacts the quality of the final product strongly. If one of the developers is unable to notice a bug or some other flaw, the other will figure it out and it will be fixed or even prevented.
While working in pairs, the employees will have less time for unnecessary entertainment (like social networks or others) in their working time. The discipline in your team will rise and you will save time for other necessary tasks. Considering that time is one of the most important criteria in the Extreme Programming methodology, we should appreciate this advantage of the Pair Programming method.
Disadvantages of pair programming method
Unfortunately, Pair Programming is usually connected with some loss of productivity in the short-term. That is because of the fact that you need to have two developers performing one task instead of giving them two separate pieces of work. Of course, if they work as a pair, they will save some time and start working on a new task faster, but it will be still incomparable with the productivity of two developers who work on two separate tasks at the same time.
The second disadvantage of Pair Programming is that it requires strong coordination inside of the pair. If two developers have different opinions on the issue of the future product and cannot agree, the team will waste lots of time and decrease its productivity.