I recently read some articles on Paired Programming based on a recent conversation with a former Perot Systems’ colleague of mine.
To quickly summarize, paired programming is the concept that two minds are better than one. Two developers work together and share a console, which will ultimately produce the following benefits:
– Increased quality
– Increased knowledge sharing
– Stronger teams built through collaboration
– Increased productivity…decreasing time and costs over the project
As with any concept or practice there are also challenges.
– Developers have grown accustomed and comfortable to programming solo
– The amount of time required to complete tasks and projects may initially take more time as developers adjust
– Communications amongst immature developers/professional can lead to argumentative discussions
– Creativity can be lost during the process
There are many variants of Paired Programming that are worth researching. In my opinion, this is not a one-size-fits-all practice, but it is worth experimenting with some of the variations to find out what may work best with your application development teams.