Pair Programming
An agile software development technique where two programmers work together at one workstation, sharing a single screen and keyboard.
Also known as: Pairing, Paired Programming
Category: Software Development
Tags: agile, collaboration, software-engineering, teams, programming
Explanation
Pair Programming is an agile software development technique where two programmers work together at one workstation. Traditional roles include: (1) Driver - writes code, focuses on tactics and syntax, (2) Navigator - reviews each line, thinks strategically about direction and potential issues. Pairs switch roles frequently. Benefits include: real-time code review, knowledge sharing, reduced bugs, better design through discussion, and improved team cohesion. Styles include: Driver-Navigator (traditional), Ping-Pong (alternating with TDD), and Strong-Style (navigator dictates, driver types). Research shows pairs often produce higher-quality code in similar time despite using two developers. Challenges include: pairing fatigue, personality clashes, and remote coordination. Modern variations include mob programming (whole team) and AI pair programming with tools like GitHub Copilot.
Related Concepts
← Back to all concepts