페어프로그래밍이란?

페어 프로그래밍은 두사람이 한 컴퓨터를 사용해서 같이 작업하는 프로그래밍 방법을 말합니다.
최근에는 한 컴퓨터가 아닌 원격이나 화면공유를 통해서도 작업할 수 있습니다.


드라이버

키보드를 잡고 코드를 직접 작성하는 역할을 가지고 있으며, 네비게이터가 말하는 의견을 수용할 수 있는 태도를 가지고 있어야 합니다.

네비게이터

드라이버가 작성하는 코드를 보면서 관찰자입장에서 자신의 생각과 지식을 공유해주는 역할을 한다.
프로그래밍의 전반적인 방향에 중점을 둬야 합니다.

페어프로그래밍을 해야하는 이유?

지식 공유가 가능합니다

서로 가지고 있는 지식이 다르기 때문에 자신들의 지식을 공유할 수 있고, 부족한 정보를 채워줄 수 있습니다.
그리고, 내가 가지고 있는 안좋은 코딩 스킬을 발견할 수 있고, 동료의 좋은 코딩 스킬을 배울 수 있습니다.
또한, 코드를 바라보는 관점이 넓어질 수 있습니다.

버그를 줄일 수 있습니다

한 문제를 두 사람이 서로 다른 관점에서 바라보기 때문에 더 좋은 해결방법을 찾아낼 수 있습니다. 그리고, 코드의 실수를 줄일 수 있습니다. 예를 들면, 오타가 나거나 세미콜론을 적지않거나 하는 실수를 금방 찾아낼 수 있습니다.

커뮤니케이션 스킬을 기를 수 있습니다

드라이버역할을 가진 사람은 네비게이터에게 자신의 코드를 설명해주면서 코드를 작성해야하고, 네비게이터는 자신의 의견을 드라이버랑 논의하는 과정이 필요합니다. 이 과정에서, 소통하는 방법과 스킬을 기를 수 있습니다.

페어프로그래밍을 할 때 가져야하는 태도?

1. 사적인 일은 최대한 하지 않기

동료가 불쾌함을 느끼지않게 핸드폰을 사용한다거나 사적인 일은 하지 않고 코드에만 집중할 수 있어야 합니다.

2. 지나친 코드 간섭은 하지 않기

네비게이터 역할을 가진 사람은 드라이버가 스스로 생각하고 작성할 수 있는 시간을 주어야하고, 코드 관련돼서 너무 많은 지시를 하지않는 것이 중요합니다. 지시를 계속 받다보면 드라이버는 좌절감을 느낄 수 있으므로 조심해야합니다.

3. 한 역할만 하려고 하지 않기

서로 드라이버와 네비게이터 역할을 번갈아 하는 것이 페어프로그래밍의 진행방법이기 때문에 한 사람이 계속 네비게이터나 드라이버 역할을 하지 않아야 합니다.


사진출처 : https://martinfowler.com/articles/on-pair-programming.html
profile
백엔드 개발자 (ง •̀ω•́)ง✧

0개의 댓글