짝프로그래밍을 시도해 볼까?

Pair Programming.

근래에 화두 중 하나인 애자일 방법론 중 대표격인 XP에서 제시 하는 실천 방법 중 하나다.

요지는 두 사람이 한 자리에 앉아서 같이 설계, 코딩, 디버깅, 리팩토링, 테스트 등을

수행하는것을 말한다.

두 사람이 한 사람 몫의 일을 하므로 효율성 등에서 부정적인 의견을 보이는 사람도

많으나, 두 사람이 같이 프로그래밍을 하게 되면 업무 효율면에서는 한 사람이 하는 거

보다 낫고, 잠재적인 문제를 가진 코드를 사전에 예방할 수 있는 등

품질이 좋은 코드를 생산 할 수 있으므로, 두 사람이 각자의 일을 맡아 하는 것보다

훨씬 나은 결과를 얻을 수 있다는 것이 일반적인 평가이다.

예전부터 XP에 관심이 많던 친구 덕분에 좀 일찍 부터 페어 프로그래밍에 대해 알고 있었고,

한 번 도입해 보고 싶은 생각이 있었으나 아직 한번도 제대로 시도를 해보지 못했다.

그러다 문득 이번에 페어 프로그래밍을 도입해보면 어떨까하는 생각이 들었는데…

일을 시켜 놓으면 항상 헤메거나 놀고 있는 실습생들 때문이다 -_-

이들을 어찌하면 좋을까 하는 생각하던 중 페어 프로그래밍이 떠올랐고,

페어 프로그래밍을 통해 얻을 수 있는 부가적인 효과들(실력차이가 나는 사람들 끼리의

페어 프로그래밍을 통한 자연스러운 학습효과라든가, 업무중 딴짓하는 것을 방지하는

효과 등) 때문에 꽤 구미가 당겼다.

사실 얼마전에도 비슷하게 시도해 보기도 했지만 내가 해야할 일들이 따로 있고 하다 보니

시간을 뺏긴다는 생각이 들어 한번으로 그치고 말았다.

하지만 이것 역시 내가 가지고 있는 페어 프로그래밍에 대한 오해(없다고 생각했지만…)

때문이 아닐까하는 생각이 들어, 다시 한 번 시도해 봐야 겠다고 결심했다.

페어 프로그래밍을 장시간 동안 지속하는 것은 권장되지 않으며,

대상이 두 명이고, 혼자서 따로 해야 할 일도 있으므로,

대충 다음과 같은 계획을 생각해 보았다.

일의 대상은 실습생들에게 할당된 작업으로 하고,

오전에 1명과 2 시간 정도 페어 프로그래밍을 진행하고 나머지는 각자 작업,

오후에 다른 한 명과 2 시간 정도 페어 프로그래밍을 진행하고 나머지는 다시 각자 작업.

각각과 페어 프로그래밍을 하는 시간은 좀더 늘릴 수도 있고,

잘 진행이 되면 그 두명이서 페어 프로그래밍을 진행하는 것도 생각해 볼 수 있을 거 같다.

좀 어중간하게 진행될꺼 같기도 하지만 처음 시도 해보는 거고, 여건도 썩 좋은 편은 아니니,

작게 시작해서 점진적으로 늘려가는 것이 좋으리라 생각 된다.

아무튼 내일 부터 시작이닷~