What is it?
- An agile practice where two team members work together on one workstation (one keyboard and mouse) to implement a feature.
Why use it?
- Enable knowledge sharing between team members.
- Increased quality of work as it is reviewed and improved simultaneously.
- Building of trust between team members.
It is not for:
- Teaching domain
- Showing code
- Getting confirmation
- Finding bugs
How to do it?
- The team member behind the keyboard and mouse is the driver. The driver is focused on performing the actual work.
- The other team member is the navigator or observer. The navigator is focused on the strategic outcome of the work being performed.
- The navigator reviews the work being performed by the driver as it is done.
- While reviewing, the navigator keeps in mind the end goal and ensures the current task is working towards it.
- Switch the roles often, for example every 15 minutes, for the team members to experience the different aspects of the work.