Agile methods recognizes and readily enables a project or development team to build in quality in their software product. It has introduced many methods to further improve the software development experience. Pair programming is one such method.
It basically means 2 persons will work on the same piece of software at one time. An extra set of eyes and brain will surely help. They will help to identify each others' blind spots. They can be instant discussion partners for difficult and complex code.
It may take a while for new comers to productively bring this into practice, may be a few iterations. But once the team becomes used to it, the productivity gain may exceed the cost of having 2 persons working on the same code.
Code reviews can be greatly reduced or totally eliminated. Testing effort may be reduced as well as it is expected the pair- programmers have built a good piece of module or software.
Other side effects of practicing pair programming are each other can learn one or things from his/her partner. And guess what ?? If one programmer became unavailable due to any reason (has to be assigned to a higher priority project or leaves the company), the other person can still continue with almost no effect to project schedule !!
It may take a while for new comers to productively bring this into practice, may be a few iterations. But once the team becomes used to it, the productivity gain may exceed the cost of having 2 persons working on the same code.
Code reviews can be greatly reduced or totally eliminated. Testing effort may be reduced as well as it is expected the pair- programmers have built a good piece of module or software.
Other side effects of practicing pair programming are each other can learn one or things from his/her partner. And guess what ?? If one programmer became unavailable due to any reason (has to be assigned to a higher priority project or leaves the company), the other person can still continue with almost no effect to project schedule !!