부분적으로는 쌍 프로그래밍을 수행하는 방법에 따라 다릅니다. 일부 경우에, 쌍의 운전자는 코드를 작성하는 동안, 쌍의 제 2 구성원은 시스템의 설계 및 구현 세부 사항을 관찰하고 논의한다. 페어 프로그래밍의 또 다른 사례는 사람들이 동시에 코드를 작성하는 것입니다. 한 사람은 구현 된 기능을 작성하고 다른 한 사람은 단위 및 통합 레벨에서 테스트 코드를 적극적으로 개발 및 작성하여 시스템의 설계 및 구현 세부 사항에 대해 다시 논의합니다.
페어 프로그래밍 유형에 관계없이 지속적인 코드 검토 역할을합니다 . 코드에 대해 두 사람의 눈을 가지고 있으며, 나중에 시스템 / 수락 테스트 환경이나 현장으로 빠져 나가기 전에 오류를 관찰합니다. 또한 버스 요소 를 최소화하기 위해 중복 기능을 수행하기 위해 시스템의 특정 부분을 잘 이해하는 두 사람이 있습니다. 결함을 조기에 파악하고 팀 전체에 시스템 지식을 전파하면 시스템 구축 비용이 줄어 듭니다.
지식의 확산은 팀의 기술 지식에만 국한되지 않습니다. 쌍이 누구인지에 따라 코딩 스타일, 회사 문화, 기대 등 프로젝트를 초월하는 다른 것들에 대해 회사의 상급 멤버와 새 멤버간에 정보가 전달 될 수 있습니다. 또한 기술이나 도구에 더 익숙한 사람이 해당 기술이나 도구에 대한 지식을 실제 적용 환경에서 공유 할 수 있습니다.
언급했듯이 개발자의 집중력과 흐름을 유지하는 데 도움이 됩니다. 흐름 외에도 많은 개인이 여러 사람이 특정 작업을하는 것보다 여러 작업을 방해 할 가능성이 적습니다. 다른 사람의 책상을 걷다가 혼자 일하고 있지만 그들과 대화해야 할 경우, 두드리고 대화 할 수 있습니다. 두 명 이상의 사람들이 공동으로 작업하거나 토론하는 것을 보더라도 방해 할 가능성이 적습니다. 중단은 시간이 걸리고 더 많은 시간을 소비하면 비용이 높아집니다. 직원의 생산성을 극대화하는 것이 비즈니스의 이익에 달려 있습니다.
그러나 페어 프로그래밍을 실행 가능하게하려면 극복해야 할 몇 가지 과제가 있습니다. 성격이 충돌하거나 지식을 올바르게 분배하기 위해 쌍을 선택하는 것과 같은 것을 고려하십시오. 정확히 언제 쌍을 회전해야하는지 고려해야합니다. 아마도 페어 프로그래밍은 아마도 계획된 것만 큼 효과적이지 않을 것입니다. 팀 구성에 따라 사람들을 한 쌍으로 만드는 것은 효과적이지 않을 수 있습니다.