Glad You're Ready. Let's Get Started!

Let us know how we can contact you.

Thank you!

We'll respond shortly.

  • Blog Navigation
Pair Programming Matrix

(Update 07/17/2012: Added link to Pair Programming Matrix Google Doc)

(Update 08/06/2015: Fixed the Pair Programming Matrix Google Doc Link)

At Pivotal Labs we consider ourselves to be expert pair programmers, but sometimes even we need help. We identified (thanks to a retrospective) that we were being very unbalanced in our pairings: some developers seemed to pair with each other often while rarely paring with others. We wanted a lightweight means of enforcing balanced pairing. That’s when someone remembered the pairing matrix.

Pair Programming Matrix

A blog post titled “Pair Programming Matrix” inspired us to try our own pairing matrix. It’s a grid with a cell intersecting each pair of developers. Here’s a photo from the original article:

We thought we would give it a try, only using a Google Spreadsheet with some fancy conditional formatting instead of a whiteboard


Overall the pairing matrix serves it purpose: it helps us have much more balanced pairings. We’ve been using it for several months and will likely continue using it so long as it seems useful.

It strikes me that a pairing matrix would be a good way for team new to pair programming to add a bit of helpful structure. I would hesitate to add this structure if it’s unneeded: “if it ain’t broke, don’t fix it.”


  • Exposes “holes” and “hot spots” when developers are not pairing together or pairing too often
  • Easy to use, reset
  • Can be a simple way for teams new to pairing to get started


  • Time off skews the matrix
  • Does not work well when team structure fluctuates often
  • Becomes unwieldily with larger teams


Here are some screenshots of pairing matrices at different stages. Team structures changed and thus the featured developers were not always the same, but you get the idea.

Early in the process. We already have a hot spot!

Pairings are starting to even out.

Over time we were much more balanced.

Eventually we needed to reset.

Too big!! We abandoned this and made the team smaller.

Make Your Own Matrix

By popular demand, I have made a blank, read-only copy of our pairing matrix, complete with conditional formatting. Feel free to duplicate it and modify the copy. Please post your own modifications and optimizations in the comments.

Link: Pair Programming Matrix Google Doc

  1. Hugo Barauna says:

    Could you share the spreadahwet with us, so we can see the conditional formatting?

  2. Joe Moore says:

    Hugo — Here you go! I’ve also updated the post with a link to a read only, duplicatable copy of the pairing matrix. Enjoy!


  3. Ryan says:

    Why do you strive to equalize pairing? People will determine on their own with whom they are most efficient. Why break up productive pairs?

  4. […] Sei es, indem er im Daily explizit fragt, ob jemand Hilfe braucht oder zusammen mit dem Team eine Pairing Matrix […]

  5. […] This can be done either by explicitly asking if someone needs help during the daily or he creates a Pairing Matrix together with the […]

  6. […] Pairs will rotate frequently – the more you switch partners, the more knowledge gets spread around. Some folks even keep track of pair frequencies in a pair matrix. […]

Post a Comment

Your Information (Name required. Email address will not be displayed with comment.)

* Copy This Password *

* Type Or Paste Password Here *

Share This