Two Heads are Better than One – The Art of Pair Programming

“Two heads are better than one”

Pair programming a software programming practice popularized by eXtreme Programming is one that not only leads to higher quality and fewer bugs but it is a great way to share knowledge about the product, develop a shared ownership of code, and mentor junior team members.  In other words, it is a practice that facilitates cross-functional and self-organized teams.

Here are some things to consider while adopting this practice of pair programming

  • Work simultaneously on the developing the same code.  While one team member is responsible for writing the code, the other is responsible for the design.  These two roles should be rotated on a regular basis multiple times a day.
  • Pair programming is not immune to bugs.  Test early and test often.  Better yet, introduce Test Driven Development (TDD) to ensure bugs are caught early
  • Getting distracted when programming.  Pair programming as with individual programming requires discipline.  Agree on break times and take regular breaks throughout the day.
  • Collaborate throughout the process.  Don’t work in silence.

Reference:  Derived from an article on Pair Programming by Michael Smith