Pairing

Pairing is most commonly associated with pair programming as defined in the concerning wiki. However, pairing can be used more broadly than that. Pairing is a technique in which two members of team work together on one topic. Pairs typically consider more program, design, test, etc. alternatives than team members working solo, and often arrive faster at results and catch faults early. Besides that, pairs often find that seemingly "impossible" problems become possible to solve when they work together.

Examples of pairs:

  • Business Analyst - Business Analyst
  • Programmer - Business Analyst
  • Programmer - Tester
  • Tester - Business Analyst
  • Tester - Tester

Some benefits of pairing:

  • Better requirements
  • Complete work faster
  • Faster feedback
  • Knowledge sharing
  • More communication
  • More confidence
  • More creativity
  • Reduced risk

Instead of traditional pairing, where the person who has an idea takes the keyboard and the other watches and assists, there is "strong-style pairing". This means the person who has an idea and/or wants to try something, has to vocalize their thinking while the other person handles the keyboard.

This fosters communication and learning a lot better than traditional pairing due to its more explicit communication and collaboration. Mob programming/testing is an extended version of strong style pairing, with a larger group.