Search
Duplicate
💽

Pair Programming

페어 프로그래밍이란?

애자일 소프트웨어 개발 방법론 중 하나다.
하나의 컴퓨터에서 두 명의 사람이 작업하는 것으로 네비게이터와 드라이버가 존재한다. 차 그거 맞다.
네비게이터가 전략을 제시하고 드라이버가 실제 코드를 작성하며 이 역할을 번갈아가며 수행한다.

네비게이터

문제 해결 방법을 논리적으로 생각하고, 그 과정을 상대에게 말로 설명하는 역할이다.
이때 코드를 직접 말하거나 키보드를 잡아서는 안 된다.
이 역할의 핵심은 '어떤 식으로 문제를 해결할 수 있는지 명확히 설명하는 것이다.
네비게이터는 드라이버가 코드를 작성하는 동안 관찰자의 입장으로 코드를 검토하고 지식을 전달하며 생각을 공유한다.
코드의 세부사항은 드라이버에게 맡기고, 드라이버보다 넒은 관점으로 설계, 구조에 대한 문제와 버그를 파악하는데 집중한다.

드라이버

드라이버는 키보드를 소유하고 있는 사람으로, 네비게이터가 설명한 논리적 방식대로 실제 코드를 작성하는 역할이다.
드라이버는 네비게이터와 논의 할 수 있도록 작성하는 모든 코드에 대해 말로 설명해가며 작업을 진행한다.
드라이버는 네비게이터의 질문과 의견에 적극적으로 응해야 한다.
네비게이터의 가이드를 이해하려고 노력하며 현재의 목표를 완수하는데 집중해야 한다.

장점

지식공유
목표에 집중
실시간 코드 리뷰
두가지 사고방식 연습

유의할 점

산만하지 않기
⇒ 당연하다.. 둘의 소통..
마이크로 매니징 모드는 금물
⇒ 사사건건 간섭하지마라..!
조바심 내지 말자
⇒ 아으.. 그거 그렇게하는 거 아닌데.. 금지!
키보드 정복자가 되지 말자
⇒ 어 내가 다 할거야~ 도 금지!