| I have been hearing a lot about paired programming | | | | different people have different coding styles and there |
| recently. I've done some research on the net about this | | | | may be potential conflicts. |
| to find out what exactly "paired programming" involves. | | | | I have found that the biggest objection to this idea is |
| First off, here's one of the better descriptions of Paired | | | | the lack of scientific research into comparing the |
| or Collaborative Programming from Wikipedia: | | | | productivity/quality of paired programming and the |
| Description: | | | | traditional approach. |
| "Pair programming requires two software engineers to | | | | I must admit over 11 years of my programming, |
| participate in a combined development effort at one | | | | personally, I have produced better results when |
| workstation. | | | | programming with another person. My second ever |
| Each member performs the action the other is not | | | | professional project never had any bugs from the |
| currently doing: While one types in unit tests the other | | | | testers or the field and I was working very closely with |
| thinks about the class that will satisfy the test, for | | | | another programmer. Can it be a coincidence? Maybe |
| example. | | | | I am more suited to working other people. |
| The person that is doing the typing is known as the | | | | FutureEspecially due to the following reasons, I see a |
| driver while the person that is guiding is known as the | | | | lot of potential for the collaborative programming in the |
| navigator. It is often suggested for the two partners to | | | | upcoming years:- A very significant amount of |
| switch roles at least every half-hour." | | | | software programming in the USA, UK and other |
| Pros/Cons | | | | countries have been outsourced to India, China, Russia |
| That are people for and against the idea for different | | | | and similar countries. One of the biggest challenges |
| reasons. The supporters of the idea argue that the | | | | that have been well publicised is for the Western |
| paired programming- increases software quality for | | | | companies training up the outsourced partners and |
| various reasons.- increases morale and team work- | | | | having enough control over the software that is being |
| speeds up the software delivery- improves hands-on | | | | produced.- Broadband technology has had a giant leap |
| training of the junior programmers- and spreads the | | | | within the last few years. The analysts predict that the |
| code knowledge reducing the dependency on a single | | | | dial-up technology will be history very soon.- Google is |
| person for an area of the code. | | | | now trying to by-pass the whole dependency, created |
| Other people object that- some people are more | | | | by Microsoft in the 80s, so that everything can be |
| productive when they work on their own- senior | | | | done over the internet without having to need anything |
| people may find it frustrating work with people who | | | | but a browser. |
| are still coming up to speed. Also, the new people may | | | | So, the way I see it is that the paired programming can |
| find it frustrating if the senior people have a tendency | | | | be and will used to have tighter relationships with the |
| to take over the whole programming process.- | | | | outsourced partners in the upcoming years. |