id: pair-programming-driver-navigator title: Pair Programming Driver-Navigator description: >- A software development practice where two programmers work at one keyboard, switching between the "driver" who types and the "navigator" who reviews in real time. Originating in Extreme Programming (XP), formalised by Kent Beck. source: Kent Beck, "Extreme Programming Explained" source_url: https://www.agilealliance.org/ tags: [pair-programming, xp, software, collaboration, agile] forked_from: null image: null steps: - headline: Assign roles description: >- The pair decides who will drive (type, focus on the immediate code) and who will navigate (review, think ahead, raise concerns). Only the driver types. - headline: Work the task together description: >- The pair works the task, talking continuously. The navigator questions and suggests; the driver implements and explains what they are doing. - headline: Switch on a timer description: >- The pair switches roles at a fixed interval — often 25 minutes — or at natural breakpoints, so both drive and both navigate. - headline: Negotiate the approach description: >- When the pair disagrees on approach, they discuss until they reach a shared way forward. If they cannot, they may test both approaches briefly and choose. - headline: Commit together description: >- The pair commits the code together, with both names on the commit. The work is owned by both. outcome: >- Code is produced with continuous review and shared understanding, owned by both programmers, with knowledge transfer built in. practice: >- The timer-driven switch is what keeps it from becoming one person watching another type. If the navigator goes silent, the pair has broken — name it and re-engage.