Pair programming

On teams, developers want to get more done. Less experienced developers need to learn from the more experienced developers. The organization needs to be structured to avoid needing n squared communication channels.

"Pair programmers: Keep each other on task. Brainstorm refinements to the system. Clarify ideas. Take initiative when their partner is stuck, thus lowering frustration. Hold each other accountable to the team’s practices. Pairing" - Kent Beck

Pairing allows developers to ...

  • Produce better solutions

  • Share knowledge and context on the fly

  • Mutual learning and skill development

Most forms of pairing involve taking turns typing. One person types (the driver) while the other person thinks through what is being done, and what needs to be done next (the navigator). These roles are frequently swapped.

Both members must verbalize their thought processes when pairing to be effective. Successful pair programming relies on successful communication as much as programming skill.

Pair programming, when done correctly is a powerful tool, but it can easily go wrong and:

  • Should never be forced.

  • Should not expect different results or speed than traditional development.

  • Is not about "showing off."

Last updated

Was this helpful?