페어프로그래밍

매일 수정하는 GNOSS LV5·2022년 2월 10일
1

AndroidStudio

목록 보기
45/83

애자일 방법론중 XP(extreme programming)이라는 것이 있습니다.
XP의 실무 관행 중 하나로 일명 짝 프로그래밍이라고도 불립니다.

기본적인 원칙은 한명이 코드를 작성하고 다른 한명이 실시간으로 리뷰를 하는 방식을 의미합니다.
그리고 역할은 주기적으로 교체하며 진행이 됩니다.
짝을 이루어 작업을 진행하며 각자의 작업을 점검하며 더 좋은 작업을 하도록 서로 서포팅해주는 작업입니다.

페어는 실제로 동일한 장소에서 함께 개발을 진행합니다.

방식

  1. 기본적으로 드라이버와 네비게이터로 나누어집니다.
  2. 모니터는 한개로 키보드와 마우스는 두개를 이용합니다.
    드라이버는 네비게이터의 조언을 귀담아듣고 코드를 작성하며 네비게이터는 코드를 지속적으로 관찰하며 방향을 잡습니다.

장점

  1. 페어 프로그래밍은 공동 소유권과 공동 책임을 지는 구조입니다.
  2. 코드의 모든 라인을 최소한 2명이 살펴보기 때문에 오류를 발견할 확률이 더욱 높아집니다.
  3. 두사람이 작업을 진행하므로 긴장도가 올라가 능률이 향상합니다.

단점

  1. 생산성이 저하가 된다. 특히 관리자 입자아에서는 한명이 하는 일을 둘이 함께 하는 것 때문에 생산성이 줄어든다고 생각할 수 있다. 연구 결과에 따르면 15%의 생산성이 저하가되고 15%의 결함이 줄었다고 한다.
    미래를 위한 투자라고 생각을 해야 한다.
  2. 실제 페어 프로그래밍에서는 시니어와 주니어가 같이 하는 경우가 많다.
    드라이버와 네비게이터의 역할을 번갈아가면서 작업을 진행해야 하지만 시니어가 키보드를 지배하며 작업을 하는 생기는 것을 항상 조심해야 한다.
  3. 근무시간 내내 페어를 하며 계속해서 집중을 하게 된다면 혼자 하는것보다 배의 에너지를 소모하게 된다.
  4. 서로 피드백을 주어야 하는 상황이다. 여기에서 필연적으로 발생할 수 밖에 없는 일은 감정 소모이다.
    피드백을 주다보면 계속해서 주의하지 않는다면 상대방에게 상처를 주는 말을 할 수 있고 이는 생산성 저하로 이어질것이다.

!주의!

  1. 시니어는 타이핑을 하기 보다는 주니어에게 어떤 일을 진행해야하는지 토론하는 방식을 채용하자.
  2. 문제가 발생한다면 어떻게 해결하는지, 어떤 방식으로 해결하는것이 좋을지를 이야기 해주자.
  3. 휴식을 주기적으로 취해주자.
profile
러닝커브를 따라서 등반중입니다.

0개의 댓글