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

Pair Programming.

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

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

수행하는것을 말한다.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

짝프로그래밍을 시도해 볼까?”에 대한 4개의 생각

  1. 바보님

    페어프로그래밍 하는 두 사람이 실력이 그래도 어느 정도 수준이 맞아야 제대로된 프로그래밍이 가능하지 -_-;;
    실습생하고 할 생각을 하다니 …
    개인 과외 정도가 되지 않을까 심히 염려스러움 … ㅋㅋ

    응답
  2. 낭창

    페어 프로그래밍을 할때 꼭 두 사람의 실력이 동등할 필요는 없다고 생각하는데…
    "제대로된" 이라는게 머를 말하는지는 모르겠지만…
    실력 차이가 나면 배울 수 있는 기회를 제공하는 효과도 있고,
    한쪽이 무뇌아가 아닌 담에야 두 명을 합친게 혼자서 하는거 보다는 낫지.
    모 회사에서는 인턴 사원하고, 페어 프로그래밍을 해서, 인턴이 거의
    네비게이터(맞나? 암튼, 한쪽이 프로그래밍할때 지켜 보고 조언하는 역할)만
    했는데, 생각지 못한 아이디어를 내거나 문제를 지적해 주는 등 많은 도움이
    되더라는 얘기도 있지.

    그리고, 이 경우에는 오히려 그 개인 과외(?)를 노리고 하는 케이스 인데..-_-
    남은 기간이 짧아서 충분히 실력을 키우지는 못하겠지만,
    나중에 신입사원 등 에게 적용해보기 위해 실험적으로 해보고 있는 거거든..

    게다가 실습생이 혼자해 놓더라도 어차피 나중엔 내가 유지보수해야
    되는 코드고, 혹시나 사고라도 쳐 놓으면 내가 수습해야 하니…
    실습생 한테 일은 안 시킬게 아닌 다음에야 내가 봐두기도 하고,
    제대로 구현하도록 하는게 훨 낫지.

    ==

    그나저나… 내가 아는 놈 중에 ‘바보’ 라고 하고 다니는 놈은 하나 밖에 없는데…
    네놈은 언제 부터 여길 드나든게냐-_-

    응답
  3. 바보

    수준이 맞다 != 실력이 동등하다

    말그대로 페어프로그래밍할 정도의 최소 수준차이를 말 하는 거였지.
    뭐 자네 말대로 실습생에게 어느정도 교육효과를 노리는 것이라면
    가능할 수도 있겠네.
    당장 생산성 증대를 바라는 것이 아니라면 : )

    응답
  4. 낭창

    쩝… 안타깝지만 시도는 실패… 랄까.. 여러가지 사정상
    한번 밖에 시도를 못해 봤다
    강약 조절이 중요하다는 교훈을 얻긴 했다만… 아까워라..

    응답

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다