Pair Programming / Pairing
- Many of the agile best practices and techniques that software teams use can be modified and applied to hardware development to create more opportunities for agility along the value stream.
- Pair Programming is an agile software development technique in which two programmers work together at one workstation. One person writes code (Driver) while the other reviews each line of code as it is typed (Observer/Navigator) and strategizes about future work or improvement opportunities. The two are both capable of writing code and regularly switch roles.
- Because the two software team members pair together, bugs are less prevalent and the two are more accountable to efficiently complete work. Many studies have been conducted on the effectiveness of Pair Programming and the results show that pairs have ~15% fewer defects in their code.
- Pairing can, however, become overused if team members spend all day working together, and are unable to independently approach work.
- It can also be distracting to use pair programming for more complex code, for which solo work is typically better suited.
- The concept of “pairing” can be used to facilitate Development Team Members working together to complete stories for the purpose of shared learning, awareness of the “big” picture, collaboration, and increased knowledge saturation.
- Pairing is an easy way to start making gains towards a more cross-functional team.