Subscribe by Email

Friday, May 18, 2012

What is meant by pair programming?

With the advent of the agile software process development, so many agile software development methodologies also came in to the scene and one of them is the pair programming which has been discussed throughout this article. 

What is meant by Pair Programming?

- Pair programming is a commonly deployed agile software development process.
- It involves two software programmers or developers working together on a single work station. 
Out of the two programmers or developers one is called the driver and the other one is the observer. 
- The work of the driver is to type in the program code in to the compiler.
- The observer has to review the typed in code line by line for any discrepancy. 
- There is another quite familiar term for the observer which is the “navigator”. 
- At regular intervals of time, the two programmers or developers keep changing their roles. 
- While carrying out the review process, the observer also takes in to consideration the strategy that is being used for the work.
- Both the driver and the observer work for the improvement of the software system or application and try to identify all the potential problems that can take root in the future. 
- Most of the problems are addressed in the earlier stages of the development so that extra work burden is cropped up in the last and also to minimize the rewrite expenses.
- Such a methodology like pair programming helps the driver to concentrate only on the typing work.
- It does not focus up on each and every tactical aspect of the current task of the software system or the application under development. 
- Here we can say that the observer acts like a safety guide or net who tells the driver of the fault he makes while typing in the program code. 

Benefits of Pair Programming

Pair programming has got many benefits. A research was conducted regarding the benefits of the pair programming and it was found that:
- Following the pair programming, programs with shorter code length are produced. 
- These programs were found to possess better designs and lesser number of bugs as compared to the programs that are produced by individually working programmers. 
- Depending on the experience and skills of the programmers as well as the complexity of the task, the defects rates were found to get reduced surprising from range of 15 – 50 percent. 
- When two programmers work together, it is obvious that they will consider many design alternatives as compared to the programmers who work individually.
- This is so because the when two people think together, the scope of thinking widens and they arrive at simple and better working and maintainable designs, are able to catch defects early. 
- They are able to complete the programming work well within the stipulated period of time. 
- On the other hand the individually working programmer will take much longer time to complete the same task. 

Few drawbacks of Pair Programming

"An analysis conducted in the year of 2007 suggested that the pair programming is not wholly beneficial and effective since it identified many other factors that have large affects on the results of the programming tasks."
- It was observed that though the development time was reduced by the use of the pair programming and some marginal effects were induced, it required more developer effort! 
- Therefore if we see overall it tends to be more costly than the solo programming. 
- Though the coding of the programming took place at a faster pace but the time spent got doubled. - In some of the cases a drop in the productivity is observed while implementing the pair programming. 

Throughout the process of pair programming there is a knowledge flow between the two developers.

No comments:

Facebook activity