2007년 07월 01일
Pair programming 에 대한 생각
프로젝트에 신입사원이 세 명이 왔다.
프로젝트 매니저가 내게 이 세 명에 대한 교육을 맡겼다.
나는 이를 정말 좋을 기회라고 생각했다.
왜냐하면 하나하나 설득하지 않아도 새로운것을 받아들 일 수 있는 사람들이라고 생각했기 때문이다.
난 이번 xp2007을 통해 씨드키의 Agile Adoption Framework 워크샵을 통해
나와 그가 가진 생각의 공통점을 찾게되었다. 아니 조금 더 정확하게 말하면,
내가 추상적으로 그리고 있던 그림을 그는 정말 구체적이고 체계적으로 그리고 있었다.
"Agile 은 강요 할 수 없다."
모든 이들이 각자 다른 개성과 달란트를 가지고 있다.
이 방법론이 모든 상황과 모든 사람에게 현재 방법론보다 낫다는 것은 어불성설이다.
10년간 한 프로젝트에서 레거시 시스템 부터 현재까지의 시스템을 맡아온 사람에게
어떤 컨설턴트가 와서 당신들은 지금 당장 Agile 을 해야 합니다. 라는 말은 10년간 동물원에서 산 코끼리에게 날아보라고 하는 것이나 다름없다. 코끼리는 분명 코웃음을 칠 것이다. '너 미쳤구나?' 라는 말과 함께
이를 위해서는 그들과 공감대를 형성하고 먼저 동물원 우리에서 그들을 끌어내야 한다.
그렇다면, 어떻게 움직이지 않는 코끼리를 걷게 할 수 있을까?
난 이 같은 질문을 정말 많은 사람들에게 했다. 하지만 어느 누구도 신통한 대답을 주는 이들이 없었다.
아니..어떤 대답들은 정말 성경같이 옳은 말이다 라고 그 순간에는 생각했지만 후에 생각해보면 현실과의 괴리감들이 있었다.
그리고 스스로 생각했다.
가장 좋은 방법은 보여주는 것이다.
몸으로 그리고 마음으로 느끼게 하는 것이다.
이를 위해,
신입사원 한 친구에게 이틀동안 한가지 간단한 기능을 개발하는 프로그램을 시켰다.
혼자서 끙끙 앓는 모습이 역력했다. 스스로 아주 답답해 할 순간에만 한 마디씩을 해줬다.
이틀간 혼자서 작업을 한 결과 소스 파악도 채 안되었다.
옆에서 지켜본 결과 문제는 일의 양이나 난이도보다 일에 대한 관심이었다.
답답하고 짜증이 나다보니, 밖에 나가는 시간이 잦아졌다. 웹서핑을 하거나 화장실에 가서 안나오는 경우도 있었다.
결국 3일의 기한동안 거의 아무런 작업도 하지 못했다.
다음 pair programming 을 시도해 봤다.
pair programming 방식에 대하여 설명해 주고, communication 방법을 설명했다.
기본적으로 한명이 코딩하면 한명이 의견을 이야기 하고, 프로젝트내 다른 일을 하는 사람들을 다른 pair 라고 가정하고 필요하면 언제든 pair 중 한명이 communication 하라고 말했다.
하루가 지나고 놀라운 발전이 발견되었다.
1. 관리자 측면에서 볼 때 일에 대해 집중하고 있다는 것을 확실히 알 수 있었다.
2. 소스 구조의 파악은 물론 다른 기능과 공통점을 찾았고, 더 발전된 방향에 대한 질문을 받았다
3. 채팅, 뱅킹의 시간이 현저하게 줄었다.
4. 무엇보다 즐겁게 일하는 것을 느낄 수 있었고, 자연스레 기존에 밖으로 나돌던 시간이 현저하게 줄었다.
5. 하루만에 새 페이지가 나왔다.
이 현상을 보고 프로젝트 내 다른 사람들에게 이것이 agile 의 pair programming 이며, 이렇게 하니까 이런 좋은 점들이 있더라. 어떻게 생각하느냐? 라고 물었다.
모두들 굉장히 긍정적인 반응을 보였다. 이 방법에 대한 장단점 및 보완해야 될 점까지 내게 말해줬다. 난 이 긍정적인 반응들을 모아 PM에게 보고했다.
아직 PM에게 답변을 못 받았지만, 이렇게 수차례 하다 보면,
곧 'PM님 우리 pair programming 이란 걸 해보죠?' 라고 말할 수 있게 되지 않을까...
되겠지? ^^;;
프로젝트 매니저가 내게 이 세 명에 대한 교육을 맡겼다.
나는 이를 정말 좋을 기회라고 생각했다.
왜냐하면 하나하나 설득하지 않아도 새로운것을 받아들 일 수 있는 사람들이라고 생각했기 때문이다.
난 이번 xp2007을 통해 씨드키의 Agile Adoption Framework 워크샵을 통해
나와 그가 가진 생각의 공통점을 찾게되었다. 아니 조금 더 정확하게 말하면,
내가 추상적으로 그리고 있던 그림을 그는 정말 구체적이고 체계적으로 그리고 있었다.
"Agile 은 강요 할 수 없다."
모든 이들이 각자 다른 개성과 달란트를 가지고 있다.
이 방법론이 모든 상황과 모든 사람에게 현재 방법론보다 낫다는 것은 어불성설이다.
10년간 한 프로젝트에서 레거시 시스템 부터 현재까지의 시스템을 맡아온 사람에게
어떤 컨설턴트가 와서 당신들은 지금 당장 Agile 을 해야 합니다. 라는 말은 10년간 동물원에서 산 코끼리에게 날아보라고 하는 것이나 다름없다. 코끼리는 분명 코웃음을 칠 것이다. '너 미쳤구나?' 라는 말과 함께
이를 위해서는 그들과 공감대를 형성하고 먼저 동물원 우리에서 그들을 끌어내야 한다.
그렇다면, 어떻게 움직이지 않는 코끼리를 걷게 할 수 있을까?
난 이 같은 질문을 정말 많은 사람들에게 했다. 하지만 어느 누구도 신통한 대답을 주는 이들이 없었다.
아니..어떤 대답들은 정말 성경같이 옳은 말이다 라고 그 순간에는 생각했지만 후에 생각해보면 현실과의 괴리감들이 있었다.
그리고 스스로 생각했다.
가장 좋은 방법은 보여주는 것이다.
몸으로 그리고 마음으로 느끼게 하는 것이다.
이를 위해,
신입사원 한 친구에게 이틀동안 한가지 간단한 기능을 개발하는 프로그램을 시켰다.
혼자서 끙끙 앓는 모습이 역력했다. 스스로 아주 답답해 할 순간에만 한 마디씩을 해줬다.
이틀간 혼자서 작업을 한 결과 소스 파악도 채 안되었다.
옆에서 지켜본 결과 문제는 일의 양이나 난이도보다 일에 대한 관심이었다.
답답하고 짜증이 나다보니, 밖에 나가는 시간이 잦아졌다. 웹서핑을 하거나 화장실에 가서 안나오는 경우도 있었다.
결국 3일의 기한동안 거의 아무런 작업도 하지 못했다.
다음 pair programming 을 시도해 봤다.
pair programming 방식에 대하여 설명해 주고, communication 방법을 설명했다.
기본적으로 한명이 코딩하면 한명이 의견을 이야기 하고, 프로젝트내 다른 일을 하는 사람들을 다른 pair 라고 가정하고 필요하면 언제든 pair 중 한명이 communication 하라고 말했다.
하루가 지나고 놀라운 발전이 발견되었다.
1. 관리자 측면에서 볼 때 일에 대해 집중하고 있다는 것을 확실히 알 수 있었다.
2. 소스 구조의 파악은 물론 다른 기능과 공통점을 찾았고, 더 발전된 방향에 대한 질문을 받았다
3. 채팅, 뱅킹의 시간이 현저하게 줄었다.
4. 무엇보다 즐겁게 일하는 것을 느낄 수 있었고, 자연스레 기존에 밖으로 나돌던 시간이 현저하게 줄었다.
5. 하루만에 새 페이지가 나왔다.
이 현상을 보고 프로젝트 내 다른 사람들에게 이것이 agile 의 pair programming 이며, 이렇게 하니까 이런 좋은 점들이 있더라. 어떻게 생각하느냐? 라고 물었다.
모두들 굉장히 긍정적인 반응을 보였다. 이 방법에 대한 장단점 및 보완해야 될 점까지 내게 말해줬다. 난 이 긍정적인 반응들을 모아 PM에게 보고했다.
아직 PM에게 답변을 못 받았지만, 이렇게 수차례 하다 보면,
곧 'PM님 우리 pair programming 이란 걸 해보죠?' 라고 말할 수 있게 되지 않을까...
되겠지? ^^;;
# by | 2007/07/01 00:24 | RU Agile? | 트랙백(1) | 덧글(1)
















☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : 개발팀 자리 배치 - 팀응집력 높이기
개발팀 자리 배치 - 팀응집력 높이기 연초에 조직 변화가 있고 해서 팀의 자리 배치를 새로 하게되었었는데, 한 팀장의 의견에 따라서 팀의 칸막이(파티션) 배치를 좀 달리 해 봤습니다. 기존의 자리 배치는 한 ......more