Pair Programming

From AgileOpenNorthwest

Jump to: navigation, search

About a dozen people had a lovely discussion about Pair Programming. The notes are below:

Pair Programming

  • Productive
  • Fun
  • Team context - colocated
  • Cross functional pairing - can deliver great tests
  • Required for production code
  • Sounds indicates energized work - can be used as signal
  • promiscuous
  • can help move skill (not talent)


Skills for pairing

  • ability to swap pairs
  • talk first
  • can step back
  • idea gets into code via pair
  • ping pong (aka popcorn)
  • shared language
  • writing tiny
  • ability to learn


Pairing advantages

  • Faster/more productive
  • removes blocks fast
  • group better than individuals (eg. The Beatles)
  • think better together
  • pair flow
  • breaks down walls and stereotypes
  • shared ownership
  • removes fear of work
  • exposes bad apples and other problems quickly
  • more focused work per day
  • learning is effectiveness


Challenges of pairing

  • team coordination
  • core hours
  • early/late pair


Ideas for pairing

  • face to face pairing
  • 10 minute check-ins


Pair programming anti-patterns

  • passive pairing
  • distracted pairing
  • splitting for repetitive tasks
  • programming flow (brain hibernation)
  • individual ownership
  • pair bonds
Personal tools