Programmers sit together at the same computer to develop software.

  • Pairs are created dynamically; all team members work with each other.
  • Enables knowledge sharing and learning; reduces overall risks when a team member leaves the project.
  • Not necessarily efficient.

It can be done in different ways:

  • driver and co-pilot; different roles
  • frequent switching