페어 프로그래밍 (Pair Programming)은 두 배의 노력이 든다

Jeong Hoon Lee·2020년 5월 1일
0

Pair Programming Takes Double Effort

  • Published at DZone with permission of its author, Alexander Beletsky

해당 글은 DZone 사이트에 올라온 글의 자체 번역 글입니다.

페어 프로그래밍(☞ 일명 짝 프로그래밍이라고 함)은 코드 작성의 효과적인 기술로서 매우 잘 알려져 있다. 원래 XP(Extreme
Programming) 방법론의 키 포인트의 하나이고 많은 매력을 가지고 있다. 우리는 페어 프로그램에 대한 많은 인쇄물들을 찾을 수 있고 모든 사람들이 페어 프로그래밍의 가치를 아주 잘 이해하고 있다. XP 트레이너가 되고 엔지니어링 실습에 관계된 컨퍼런스에 방문하면서 나는 대게 그런 상황을 본다: 나는 방문한 사람들에게 이런 질문을 던진다 "페어 프로그래밍 사용하시는 분 얼마나 계세요?"
손을 드는 사람은 거의 없다. 거의 극히 소수만이 페어 프로그래밍을 사용하고 있다. 왜일까?

"페어 프로그래밍은 정말 어렵다!!"

거기엔 두 가지 상황이 존재한다.
첫번째는 페어 프로그램을 하는 두 사람이 완벽하게 다른 스킬 레벨을 가지고 있는 것이다. 더 경험 많은 사람이 항상 생각하고 코딩을 한다 또 다른 사람은 거의 코드에 문법 오류등을 찾는 것을 돕는다. 날이 저물때쯤 두 사람이 한 사람 분량의 코딩을 한것을 볼것이다. 쉬운 여행이다~~

두 번째는 다르다. 두 명이 완전히 같은 레벨의 사람이다. 이런 상황에서 페어 프로그래밍은 레슬링에 비유될 수 있다. 당신은 코딩을 해나가기 위해 반복적으로 싸워야만 한다. 항상 당신은 또 다른 사람의 의견의 압박을 받는다. 당신은 다른 주제들에 합의를 이끌어 내기위해 애쓴다. 당신은 항상 대화하고 논쟁해야 한다. 확실히 페어로 일함으로써 훨씬 더 빠르고 깔끔한 결과물을 얻는다.

그러나 거기엔 문제가 있다 - 3~4시간 정도 일한 후에 당신은 완전히 녹초가 될것이다. 내말을 믿어라! 당신은 4시간 동안 완전한 페어 프로그래밍 세션을 수행한 후에 아무것도 할 수 없을 것이다(피곤해서 -_-).
생각하고, 집중하고, 논쟁하고, 코딩하고, 테스트하고 디버깅하고 반복적으로 계속 이 같은 일들을 수행하는 것은 많은 에너지를 소비한다. 일주일에 집중적으로 40시간의(☞ XP에서는 주당 근무시간을 40시간으로 잡고있음) 페어 프로그래밍을 수행하는 것은 주당 80시간의 일을 하는 것과 마찬가지이다. 거기엔 또한 심리학적인 면이 있다. 각 각의 사람이 다른 사람과 어울리지 못하면 페어 프로그래밍은 둘다 지옥처럼 느껴질것이다.

페어 프로그래밍은 두 배의 노력이 든다. 당신은 하루종일 페어 프로그래밍을 하도록 계획은 잡아서는 안된다. 최대 반나절 정도가 적당하다. 내 의견으로는, 항상 페어로 일하는 것은 가치있는 일이 아니다. 간단히 말해 생산적이지 못하다.
가장 전문적인 사항을 요구하는거 가장 많은 리스크를 가지고 있는것, 가장 어려운 것 하나를 뽑아라. 문제가 잘 해결되면 나머지는 동시에 진행해도 된다
나는 정말 페어 프로그래밍을 좋아한다. 그러나 그것을 XP에서 제안하는 것 처럼 매일 매일 사용하고 싶지는 않다.
대부분 혼자 일하는 것이 더많이 효율적이다.

profile
연금술사

0개의 댓글