우리 개발자의 행동을 통제하는 수많은 방법론들이 존재한다.
리더쉽이라는 것 하나만 보더라도 어떻게 인간을 내가 원하는 방향으로 가게 하는지에 대해 수많은 방법론이 존재하듯이 우리 개발도 이와 유사한 수많은 방법론(like 프로세스)이 존재한다.

군작전을 보아도 그러하다.
예전에 우리동네 순이를 훔펴간 옆동네 쇠돌이를 죽이고 그 동네 처자들 다 우리동네로 끌고 오려던 그 오래된 옛날 그 시절에도 아마 인간은 부족장이나 동네에서 쌈좀 하는 리더의 명령에 따라 자신들의 목표를 달성하였을 것이다.
(아마도 인간이 스스로의 능력의 한계를 경험하면서 분업화라는 프로세스를 발견한 그때가 인류사의 획을 긋는 그런 순간이었을 것이다.)
암튼 수억년 내려오던 전쟁 프로세스는 손자병법, 오자병법 등으로 정리되기 시작했다.
하지만... 또 다시 수천년이 흘러오면서 손자병법이 맞을 때도 있고 틀릴 때도 있다는 것을 깨닫는다.
로마가 망하자 중국의 춘추전국시대와 같았던 유럽은 중세와 르네상스를 거치면서 수많은 전쟁을 통해 클라우제비츠와 같은 인물에 의해 전쟁론으로 대표되는 전술, 전략을 포괄 정리하는 책도 나온다.

그러나, 로또 당첨 번호를 DB화 해서 가장 확률이 높은 번호를 찍는다고해서 로또에 당첨되던가?

인간들이 부데껴 사는 세상은 나는 작은 톱니바퀴에 불과하며 오히려 내가 가진 형상은 내가 만든 Ego라는 이름의 감목일지도 모르는 것아닌가?

지구라는 가이아를 이루는 수많은 Components중에 인간계는 불과 60~70억정도인데 그 중에서 하나의 인간이 얼마나 작은지를 비유하면 그 흔한 개미의 숫자에 비하면 턱없이 작은 세상에서 턱없이 작은 티끌에 지나지 않는 것이 인간인것이다.

즉, 예의, 예술, 방법론, 전쟁론과 같은 Field Manual은 우리가 세상과 소통하는 방법을 정리한것 뿐이지 그것을 넘지 말라고 하지는 않는다.

한때 최강의 전술로 추앙받던 독일의 전격전 교리나 구소련의 제파식 공격전술로 대변되는 종심전투교리는 핵폭탄이 발명되자 아무런 소용이 없어졌다는 사실도 우리는 종종 잊어 버리고 살며 한때 우리에게 가장 중요했던 그래서 돈과 같은 지위를 누린 쌀도 현재는 수많은 기술개발로 남아돌아서 처치 못하고 있다는 사실도 잊고 산다.

마치 엄청나게 훌륭한 집을 지어놓고 사고 위험이 있다고 집밖을 나가지 않는 바보 같다고나 할까...?
(그 집은 이순간에도 계속 무너지고 있는데...)

자신의 손에 들고 있는 그 무엇인가를 깨고나면 더 넓은 세상이 보일텐데 하는 생각에 머리가 복잡하다.
* Carrer(업)라는 Main Stream을 잘타고 가면 될 일이지 그보다 작은 Job(업무)에 연연할 필요 없지 않은가?

우리가 가진 개발 방법론도 마찬가지지 않을까?
개발을 분업화해서 잘할 수 있는 방법을 정리해놓은 것이 방법론이지 그 방법론을 그대로 따른다고 해서 우리는 승리할 수 있을까?

혹자는 대한민국을 원칙주의자들의 나라라고 칭하지만 나는 대한민국을 응용이라고는 눈꼽만큼도 못하는 나라라고 칭하고 싶다.

2010/11/06 17:22 2010/11/06 17:22

필라델피아의 9월 26일에는 비가 내려서 어디 가볼 생각은 못하고 코리언타운에서 매운 순두부로 속을 달래고 BestBuy가 숙소옆이라 들러서 MS의 Zune HD를 보며 Windows Mobile 7의 성공가능성을 점친뒤 차이나 레스토랑에서 식사후 박칼린 감독님의 최종화를 시청하였다.

모든 결과가 끝난뒤 합창단 프로젝트 팀원들이 스스로 만족감을 느끼며 펑펑 울때 같이 펑펑울었다.

그런데 생각한번 해보자.
단기 프로젝트를 마칠때 스스로 만족감을 느끼며 구성원들이 이별을 아쉬워 하는 그런 사례가 있었는가?
솔찍히 다들 프로젝트가 끝날때쯤이면 시원 섭섭이 아니라 그거 시원할 뿐일것이다.
속된 말로 PM 또는 고객 혹은 PL을 손가락질하며 "저쉐 내가 또 얼굴 보나 봐라"하는 것이 거의 대부분의 프로젝트 팀에서 공통적으로 나타나는 현상이다.

그런데 박칼린 감독님은 어떠했는가?
오합지졸의 노래는 조금 하지만 조화를 이룰수 없는 조직을 가지고 단 2개월만에 스스로 할 수 있는건 다했다라고 선언할 정도의 고효율 조직을 만든 그 이면에 과연 무엇이 있을까? 하는 생각을 많이 했다.

그 고민의 결과를 이제 풀어 볼수 있을 것이라 생각해서 이렇게 포스팅 해둔다.

먼저, 자신의 업무에 대한 Pride와 실력이 모든 팀원들을 합쳐 놓더라도 우월하였다.
대표적인 대한민국 뮤지컬 감독으로써 지금까지 흥행시킨 작품만 하더라도 블럭버스터 감독에 비견할 만하며 스스로도 미국에서 배운 서양 음악과 한국의 국악까지 공부한 경력에다가 20년간 다져진 실력으로 모든 팀원을 제압하는 카리스마에 그가 자주 하는 말자체가 "믿어달라"는 실력을 바탕으로 한 Pride가 흠씬 베여나오는 말이었다.

두번째, 팀원들의 전문성을 인정하고 업무를 분담한다.
전문가로써 스스로 인정하는 팀원들에게는 업무를 분담하고 개입하지 않는다. 단, 전체적인 조율과 백업은 항상 스스로의 몫이었다. 예를 들면 최재림씨에게 자주 의견을 묻는 장면이 나오고 팀원들과도 카메라에 비치지는 않았지만 카메라가 없는 곳에서 끊임없이 커뮤니케이션을 하며 "우리의 목표를 달성하기 위해 무엇을 해야 하는지"에 대해 공유하고 있었다. 여기에 더해 매주 목요일만 촬영하는 팀원들에 비해서 그는 매일 매일을 합창단에 어떤 안무가 필요한지 어떤 편곡이 필요한지 굉장히 많이 고민하며 적용해보면서 다시 수준에 맞게 조율하는 역할은 항상 그 스스로 했던 역할이며 이경규씨와 같은 큰형님, 감초의 역할은 과감히 분담해버리는 대신 배다해씨나 선우씨와 같은 디바의 역할은 호되게 가르친다. 즉, 팀원들이 개별로 다르다는 것을 인정하고 그중에 핵심적으로 자신의 관리 역량 만큼을 확실하게 챙기되 역량을 넘어서는 것은 전문가들에게 배분하였다. 그래서 자주한 이야기가 "~을 챙겨주시고" 였던것 같다. "~을 하라"와 같은 명령조의 말투가 아니라 "내가 믿고 있으니까 네 영역에서는 네가 잘 챙겨달라" 즉, 존중이 들어간 요청의 말을 많이 하였다.

셋째, 조직의 "긴장", "이완"을 적절하게 시킨다.
박칼린감독님의 조련 스타일을 보면 "긴장하세요"와 "사랑합니다."를 반복한다. 거기에서 조직에 속한 구성원들은 눈빛이 점차 달라진다. "긴장하세요"라는 말에는 눈빛에 빛이 나고 "사랑합니다."라는 말에는 미소를 짓는다. 이러한 적당한 긴장과 이완은 자신의 생각을 간단 명료하고 강하게 전달하고 스스로 생각하고 다른 사람들과의 의견을 공유하는 시간을 만들어 준다. 또한 긴장감 조성을 위해 말만이 아니라 과감하게 조직기여도가 낮다고 생각하면 퇴출시키기도 한다. 성대 결절의 팀원을 내보낸다던가 디바 경쟁을 의도적으로 부추긴다던가 각 파트별 경쟁시키는 방법으로 끊임 없이 조직을 긴장시킨다. 적당한 긴장의 시기가 지나면 모두 스스로 회고하고 깨닫도록 도왔다.

이러한 반복으로 구성원들이 어떻게 반응했는지를 보는 것도 재미있었다.
먼저 박칼린 감독님의 수준 체크하는 부분이다. 수준이 저마다 다름에도 그 다름을 인정하고 부족한 부분에 적절한 구원투수를 투입하여 전체적인 벨런스를 조정하는 부분에서 각 파트들은 사기가 올라가기도 하고 스스로의 문제점을 찾기도 하며 구원투수로부터 무엇인가를 계속 배우려 하였다.
MT갔을때도 파트별 경쟁을 즐기는 모습을 보이며 더 잘하려고 노력하였다.
가장 인상적이었던 것은 처음 노래할때 각자의 음색을 핸드폰에 담아 녹화하는 모습이었다.

즉, 리더의 명확한 목표제시(우리는 9월 3일 거제로 합창대회 나갑니다. 그때까지 각자 ~~을 챙기세요.)와 함께 긴장과 이완의 분위기 조성을 통해 그리고 리더의 헌신을 몸으로 느끼며 구성원들은 스스로를 끊임없이 점검하고 타인으로 부터 배우고 학습하여 종국에는 수준에 올랐고 팀원들은 스스로 팀웤을 통해 무엇인가를 달성했다는 기쁨에 폭풍 눈물을 흘리고 말았다.

이전 부터 계속 주장하던 것이었지만 "애자일, 워터폴 등의 방법론이 중요한것이 아니라 리더가 가장중요하다"는 것을 한번 더 확인하는 순간이었기에 더욱 눈물이 났는지도 모른다.

ps. 박칼린 감독님을 SI PM으로 임명한다면 분명히 훌륭한 애자일 리더가 될것이지만 워터폴을 한다고 해서 그가 훌륭한 PM이 안될수 있을까?

2010/09/27 21:45 2010/09/27 21:45

애자일 경험담 4

Developer 2009/08/13 23:22

지난번에 Wiki를 통한 커뮤니케이션을 했었다고 회고한적이 있다.
우리는 이것을 "성과평과회의"라는 이름으로 2주에 1회씩. 릴리즈에 맞춰서 고객과 모든 개발팀원이 모여서 시행하였다.

다음과 같은 양식이었다.

성과평과회의일시 : 200X. X. X 00:00~00:00

1. 목표달성평가
목표 달성여부
개발웹서버설치설정(사용포트80) O
WAS서버설치설정(사용포트8080) O
WSDL정의 X

2. 개선점도출
개선점 개선방안 담당자
보안관련 퇴근후 정리정돈이 안됨 보안재교육 홍길동
SVN Source Commit 안해서 Conflict발생함 SVN재교육 홍길동

3. 다음목표계획
    1) 목표
목표 상세설명 중요도
WSDL정의 SOAP클라이언트가 인식할 수 있도록 Method를 WSDL로 정의한다.
클라이언트 I/F프로토타잎 SOAP 인터페이스 구현후 각 Method 작동 여부확인
    2) 리소스
      [WSDL 설정 매뉴얼 링크]
      [TRAC Ticket 링크]
    3) 일정계획

일자 업무내용 상세내용 필요시간 휴먼리소스
2009.X.3 업무회의 회의 0.5h 홍길동/개발팀
WSDL정의 워킹되는상태임 2h 홍길동
클라이언트 I/F프로토타잎 SOAP 인터페이스 구현후 각 Method 작동 여부확인 4h 고길동
SVN 재교육 SOAP 인터페이스 구현후 각 Method 작동 여부확인 1h 홍길동/개발팀
주간보고서작성 주간보고 1h 홍길동

4. 이슈
이슈 상세설명 중요도 담당자 해소일자
설계불명확 설계추가 개발 필요함 고길동 2009.X.X
개발협력사인력투입지연 K사 개발자 2명 투입일정이 3일지연됨 고길동 N/A
위와 같이 작성하였다.
먼저 목표 달성 평가는 이전 "성과평과회의"에서 목표로 제시된 2주면 2주 3주면 3주간의 달성 목표중 달성 여부를 표현한 것이다.
달성되지 않은 목표는 "3. 다음목표계획"에 추가해 놓는다.
여기서 중요한것은 합의와 투명성이다. 실재로 눈으로 보고 만져봐서 최종결정한다.

그다음이 "2. 개선점도출"인데 여기에서는 개발팀에서 잘안되는 점 또는 프로세스상 잘 안되는 점을 도출하고 개선 담당자를 반드시 Assign 한다.
개선 담당자는 개선점을 찾아서 고쳐야 하는 의무를 지니게 되고 PM에게 개선회의를 주관하여 개발팀원의 합의하에 문제가 개선될 수 있도록 한다.

"3. 다음목표계획"에서는 먼저 다음 iteration에서 달성할 "기능목표"를 명확하게 결정한다.
* 기능 목표라 하면 정확하게 "Feature" 다시 말해 기능 구현을 확인 가능한 형태이다.
너무 적어서도 너무 많아서도 곤란하다. 고객과 개발팀원, 담당자가 모두 합의하여야 한다.
그리고나서 "Resource"를 도출하는데 목표에 달성한 리소스를 모두 명시해두도록 한다.
사전에 TRAC의 Wiki 또는 issue Ticket을 사용하였다면 준비에 필요한 제반 지식공유 또는 커뮤니케이션 결과를 Link 해둘수 있으므로 TRAC에 존재하는 필요한 지식을 도출하고 링크한다.
마지막으로 앞으로 iteration의 계획을 수립하는데 시간단위로 도출하고 회의록 작성시간까지 정의해두자.

여기서 거의 모든 사람의 의문이 제기된다. 그러면 iteration 별로 이렇게 일정을 잡는건 알겠는데 프로젝트 전방에 대한 일정이 어디있는가?
그렇다. 그렇게 때문에 Mile Stone을 정의한다.

Mile stone에서는 언제까지 무엇을 하겠다는 단계별 큰 일정만 명시하고 합의하도록 하자.

이슈는 지금까지 발생한 이슈를 정의해두고 담당자를 지정해둔다.
해소 일자가 있는 부분은 해소가 된 정확한 일자를 기재하자.

* 여기서 또하나의 문의사항이 발생하는데 이슈란것은 무엇인가?
혹자는 고객의 요구사항도 이슈라고 표현하는데 우리는 단 3가지로 정의하였다.
바로 "일정","예산","인원" 이 3가지중에 하나에 영향을 주는 요소는 모두가 이슈이다.

오늘은 여기까지 썰을 풀고 또 다음에 ^^;;
2009/08/13 23:22 2009/08/13 23:22