Definition
Pair programming is an agile development practice from Extreme Programming (XP) in which two developers collaborate closely at a single workstation. One is the 'driver' who writes code, the other is the 'navigator' who reviews in real time, thinks about design, and spots errors. Roles are swapped regularly. Research shows that pair programming produces fewer defects, better code design, and faster knowledge transferStructured process for transferring know-how from one person, team or organisation to another - important in system handovers and new partnerships. - even though it initially appears to be a waste of resources. In TvimenningOld Norse meaning 'two bound together' - one who solves a task shoulder to shoulder with another.'s working model, pair programming is used particularly during the onboardingStructured startup and integration - either of new developers to a project or of a new vendor with accompanying knowledge transfer. of new team members, complex integration tasks against ElhubNational hub for metering data and market processes in the Norwegian electricity market., and architectural decisions where two perspectives reduce the risk of blind spots. In distributed teams it is practised as remote pairing via shared screens and communication tools.