특정 클래스(이해 K class)를 사용하기 위한 Adapter interface를 만드는 작업을
같은 회사의 그레이스(저희 회사는 닉네임으로 부릅니다.) 와 짝 프로그래밍으로 수행하였습니다.

스톱워치를 옆에 놓고 10분 단위로 키보드를 바꾸어 가면서
한 사람이 코딩하고, 옆의 사람은 잔소리ㅎㅎ 를 하는 형식이었습니다.

만들어야 하는 interface의 과제는
K class의 메소드를 사용한 바이너리를 에뮬레이터에서 실행시키는 것도 필요한데,
K class의 메소드를 사용한 바이너리를 Dev phone에서 실행시키면 죽어버린다는 것입니다.
바이너리는 에뮬레이터, Dev phone에서 둘 다 실행시킬 수 있어야 하구요.
해서 상황에 따라 K class를 격리(?)시킬 수 있는 구조를 만들어야 한다는 것이 가장 중요한 핵심이었습니다.

짝 프로그래밍 전에는
'격리시키는 구조를 만들어야 한다',
'exception class도 K class의 일부이기 때문에 exception class를 재정의 해야 하나?'
라는 막연한 생각밖에는 없었습니다.

짝 프로그래밍을 진행하면서
우선, 그레이스의 제안으로 인터페이스 하나에서 클래스 2개를 상속받고
하나의 클래스에서만 K class를 사용하자는 생각이 나와서 실행에 옮겼습니다.

그리고, 뭔가 확실한 상황을 알기 위해서 테스트를 진행하였습니다.
둘이서 작업하는 것이라서 테스트 하는 상황을 끊임없이 말로 상대에게 알려 주면서 진행하니 20분 만에 정리가 되더군요
그 결과 'K class를 import/선언만 하고 사용하지 않는 경우에는 Dev phone에서 실행시킬 수 있다' 는 사실을 알게 되었습니다.

클래스, 메소드 naming 도 비교적 원할하게 이루어졌습니다.
한 사람은 생각만 하고 있는데, 다른 사람은 naver 영어사전을 뒤져보는 등의 스킬을 발휘할 수 있었구요

Exception 관련된 내용도
'K class를 사용하지 않기 위하여
별도의 Exception class들을 정의하고, 이 Exception class에 errorCode를 설정하여
사용자가 errorCode에 맞게 handling을 하도록 하자.' 라고 정리가 되었습니다.

약 1시간 30분 정도 이와 같이 진행되었습니다.
이제 전체 클래스의 구조는 완성되었고,
각자 작업을 나누어서 하기만 하면 되는 상황이 되었습니다.

약 3시간 후에 완성된 작업 코드를 보니,
(당연하게도) 두 명이 각자 한 작업의 코드 형식이 거의 똑같았습니다.
마치 한 사람이 짠 것처럼...

이상이 어제 진행되었던 짝 프로그래밍의 시나리오(?) 입니다.

제가 생각하는
어제 했던 짝프로그래밍의 의의(?)는 다음과 같습니다.

- 위의 작업을 혼자서만 진행하였다면,
  두 사람이 사용한 시간(1시간 30분 * 2 = 3시간)을 훌쩍 넘겨 4시간 이상 걸렸을 것이라는 생각이 들었습니다.
  상대방의 생각으로부터 영감을 얻고, 내가 머릿속으로만 생각하고 있는 것을 말로 풀어내는 과정 속에서
  해야 할 것들의 우선순위가 드러나고, 일이 지속적으로 진행이 되더군요.

  게다가, 두 사람이 하나의 모듈에 대한 완벽한 이해도(자기 자신이 직접 만들었으므로)를 가지게 되었습니다.
  이것은 추후에 비상 사태(둘 중 한명이 없다던지, 수정해야 할 양이 많다던지)가 발생하였을 경우에
  상당한 시간 절약 효과로 나타날 수 있습니다.
 
- 짝 프로그래밍 때에는, 옆 사람이 지켜보고 있으므로
  혼자서 일할 때 보다 집중도가 두 배 이상이 됩니다.
  짝 프로그래밍은 빡셉니다. 지치더군요 ㅎㅎㅎ

- 짝 프로그래밍 때에는
  키보드를 안 잡은 사람이 마구 딴지, 수다를 떨어 주어야 도움이 많이 됩니다. (어제는 그랬습니다 ㅎㅎ)

- 무엇보다도 가장 인상 깊었던 것은...
  짝 프로그래밍이 여유있는 상황이 아닌 급한(Extreme한) 상황에서 진행되었다는 것입니다.
 
  짝 프로그래밍이 시작된 시간이 오후 4시, 종료되더라도 6시에 가까운 시간,
  그 이후에 약 3시간 정도의 작업량...
  다소 마음이 급한 상황이었습니다.

  그 상황에서 짝 프로그래밍은 위와 같은 성과를 보여 주었습니다.

  애자일 방법론에서 제시하는 여러 practice들(Scrum, TDD, 짝 프로그래밍 등...)은
  널럴한 상황에서 여유있고 재미있자고 적용하는 것이 아닌,
  급하고 빡센 상황을 대비하고, 헤쳐 나오기 위해서 위해서 시작되었습니다.

  저 개인적으로는 이러한 방법들이 급하고 빡센 상황에서 개발 기간을 단축하는 데
  일조할 것이라는 확신이 있습니다.

한줄로 요약하면
"짝 프로그래밍은 재미있고 유익했다" 입니다. ^^

Trackback Address :: http://dreamjr.org/tt/trackback/127

  1. 청하 2010/02/09 09:44 댓글주소 | 수정 | 삭제 | 댓글

    정말 재미있게 짝프로그래밍을 진행하신것 같습니다.^^
    혹자는 짝프로그래밍을 "노동 착취"라고 할 정도로 스태미너 소비가 큰것 같습니다.
    저도 짝프로그래밍을 즐겨하는데 스태미너는 많으 소비하지만 결과는 정말 만족할 만한것 같습니다.~
    좋은 후기 감사합니다~

    • 충스 2010/02/10 14:42 댓글주소 | 수정 | 삭제

      스테미너 소비가 장난 아니지요
      뒤에서 한 사람이 지켜보고 있으니까요 ^^;

      저는 주로 스터디할 때 짝프로그래밍을 해 봤는데
      그때에도 얻게 되는 것이 아주 많았던 것 같습니다.

  2. 이동인 2010/02/10 12:43 댓글주소 | 수정 | 삭제 | 댓글

    스톱워치 켜놓고 10분단위로 하는 짝 프로그래밍이라...
    흠. 저희 팀은 거의 모든 작업을 페어로 하긴 하는데.
    코딩 시간 보다 말코딩시간이 많은 관계로 대부분 한명이 키보드를 놓지 않습니다. ^^
    10분마다 교체하는 룰을 건의해 보아야 겠습니다.

    • 충스 2010/02/10 14:47 댓글주소 | 수정 | 삭제

      거의 모든 작업을 페어로..대단하네요 ^^;
      공유하는 내용도 많고 서로 배울 점도 많을 것 같습니다.

      10분마다 교체하는 것도 괜찮을 것 같습니다.
      코딩 스타일로부터 툴 사용 팁 등 서로에게 배우는 점이 많았습니다. ^^

  3. 클리블랜드 2010/07/21 09:33 댓글주소 | 수정 | 삭제 | 댓글

    (핫뉴스)발기부전 남성들의 수명단축및 당뇨,뇌졸증의 위험이 50%이상 증가합니다
    "MSN 메인 홈에 (2009.12.6)"

    **미국 클리블랜드에서 세계최초로 30분대 초기발기력/80시간 효과지속 발기부전제 제조 공급"

    ■발*기력과 강*직률을 3배 이상 증가!! 강력한 즉*효성 (30분내)
    ■기회를 놓치지 마십시오! 당신을 반드시 폭발시킵니다!
    013-0298-1495
    한글문자가능/ 한국에서 시내요금)
    ■하룻밤에 7번이 불가능 한가요? 아니요. 가능합니다!!
    -지금 보다 2, 3 인치 커지기가 불가능 한가요? 충분히 가능합니다!
    -100% 천연 생*약성분, 부작용 없이 3일간 효력 지속!!
    ■한국인 체질에 맞는 허브 고농축 성*기능 강*화 제품 (미국FDA분류)
    -초강력 새벽 발#기 가능!! 30분 이내 발#기 강력 유지!! *부작용 제로!!
    013-0298-1495한글문자가능/ 한국에서 시내요금)
    ■폭발적 오*르*가즘, 더 이상 남의 얘기가 될 수 없습니다!!
    한국내 최저가/ 발기력,강직성 최고
    15정10만원
    23정13만원
    34정18만원(은행잎 추출물 20일분 무료제공)
    52정25만원(은행잎 추출물 30일분 무료제공)

    ■■■■ 은행잎 추출물 120mg을 아침 저녁으로 2회 복용과 동시에 3일에 허브발기부전제 1정을 복용하여
    당뇨환자를 비롯하여 모든 경우의 발기부전자들에게 확실한 효과를 가져다 주고 있읍니다




    ■■■■ 복용자들의 체험담 ■■■■
    !. 불임 10년만에 얻은 꿈같은 내 아이를 !! ( 38세 )
    2009/09/06 (08:31)
    작성자 : 문경 돌쇠네 조회수 : 55
    결혼 10년만에 임신!! 5개월째!!
    결혼후 10년만에 아들을 얻었읍니다
    감격스럽습니다
    38살입니다
    ***를 안지 6개월이 돼 갑니다
    처음에는 정말 안믿는 맘으로 긴가민가?
    너무 속아서..
    그렇다고 발기가 완전히 안되는것도 아닌데..
    물론 몸도 약하고 회사 작업환경이
    유해환경이라서 아이가 안생긴다고..
    2. 너무 쎈데 이거 갠찬나요? (61세)
    2009/09/14 (13:13)
    작성자 : 해바라기 (fghjklsd@nate.com) 조회수 : 108
    샘플/ 빳빳한게 좋은데
    새벽에 소식오는게
    너무 쎈데 이거 갠찬나요?
    내가 나이가 61인대
    무슨 문제가 있는거 아인가요?
    적당한게 조은대
    겁시나서요 ...
    3.?아지는데 주체를 못하겠데여 (41세)
    2009/09/19 (10:03)
    작성자 : 누리꾼 (dgfsjkyut1@hotmail.com) 조회수 : 110
    지난주 구입한 골드쓰는데
    부드러우면서도 1시간 지나자
    쏱아지는데 주체를 못하겠데여
    아직 40초반인데 벌써 3년째 발기부전을 겪는지라
    안겪어 본 사람은 몰라요
    진짜 먹고 싶은 떡 앞에 두고 못먹는 심정
    진짜 말로 못하지요 .....
    4.아직도 벌렁벌렁!! (54세)
    2009/10/26 (13:12)
    작성자 : 돌팔이 조회수 : 78
    와이리 아렛도리가 아직도 벌렁거리노?
    이거 무슨 성분 들어 있읍니까?
    정확히 어제 밤 11시반에 먹고
    행사는 12시반 경에 치뤘는데
    한번 하고도 안죽어서
    1시간 이따가 또 올라갔더니만
    또 되데 ....
    5.거실에 나와서 진정시키느라고 팔 ?혀 펴기 10번 하는데
    도저히 안죽어요 (46세)
    2009/10/19 (11:53)
    작성자 : 구름따라 조회수 : 67
    정확히 40분있으니께 발동이 걸리는지 느른하게 아래동네가 뻐근^^
    따스한 온기가 순간 거시기하게^^
    기냥 자는 ** 기습 공격^^
    내리치는데 음메 팍팍 코쳐서리
    길게 가데예
    한10분여 했을까?
    아참 내일 출근이제?
    기냥 자려는데!!
    죽어도 잠이 안오길래
    꼬냑 한 잔 때리고'잠을 청하는데
    잠깐 눈 붙였을까?
    뭔가 꿈에 아랬동네가 뻐근해서 잠이 확 깼느데? .....
    (013-0298-1495한글문자가능/ 한국에서 시내요금)

    부작용 제로!!
    발.기.부.전에 획기적인치유력!!
    30분이내 직효성 발.기/ 4일간 지속효과!!
    조루 치료!!

    노인성및환경성등 모든 발.기.부.전에 획기적인치유력!!
    1천여명의 검증결과 확실한 효과보장!!

    문자로 성함과주소 함께 주문해주세요 바로 1시간이내에 전화연락드립니다.

    013-0298-1495 문자요금은 국내 요금과 같습니다. 부담갖지마세요^^

    **판매를 원하신다구요? 지원해 드립니다..연락주세요"


◀ PREV : [1] : [2] : [3] : [4] : [5] : .. [96] : NEXT ▶