간만에 책을 하나 다 읽었습니다. 작년 Working Effectively With Legacy Code 원서의 마법에 걸려서 지난 일 년간 처음 잡아서 끝까지 시원하게 읽은 책이 없는 듯 합니다.
채수원님이 진행하는 작은 모임에 10월 18일 작게 발표에 대한 답례로 받은 책입니다. "엔터프라이즈급 애자일 방법론(Scaling Software Agility)"

1부와 2부는 소프트웨어 공학에 대해서 깔끔하게 군더더기 없이 정리가 되었습니다. 그간 읽었던 소프트웨어 공학 관련 내용들에 대해서 잘 정리할 수 있었습니다. 책에서 인상적인 부분은 3부였습니다. BMC라는 글로벌 회사와 같은 광역 조직에 애자일을 접목시킨 경험을 잘 정리해 놓았습니다.

가장 마음에 남는 것은 개발 조직 외의 다른 영업 조직, 마케팅 조직과의 릴리스 이슈에 대한 접근법입니다. 그리고 저는 한참 남은 지위인 의사결정권 계층인 경영회의의 애자일 적용 방식에 대한 가이드입니다.

개발팀은 회사에서 손발과 같은 위치인 경우가 많습니다. 그 회사의 서비스 전략은 개발팀 외적인 팀에서 만들어지는 경우가 비일비재합니다. 때문에 머리가 나쁘면 손발이 고생한다고 개발팀에서 일어나는 많은 이슈들이 다른 연관부서의 전략적 헛점 때문에 발생하는 경우도 많습니다. 가장 빈번하게 예를 드는 것이 전산화로 업무 혁신을 이루겠다고 하면서 프로젝트를 열었지만 조직 내의 업무 프로세스를 정의하지 않고 멍 때리는 경우가 될 것입니다. 이런 경우 프로젝트는 네버엔딩스토리가 됩니다. 월급 밀리지 않는다고 평생 짤리지 않는다고 좋아할 일은 아닙니다.

개발자도 봐야하지만 소프트웨어 프로젝트 연관된 사람들은 다 읽었으면 좋겠습니다. 특히나 CEO, CIO, CTO, CFO 이런 분들이랑 전략기획, 사업부 같은 전략적으로 고민을 많이 하는 팀들에게 권하고 싶은 책입니다.

손발이 아무리 이뻐봐야 머리가 비면 소용없습니다. 회사의 비즈니스는 조직 전체의 유기적이고 경량으로 빠르게 전달되는 의사결정의 속도에 달려있습니다. 지금 필요한 것은 뭐일까요. 커뮤니케이션 스피드입니다.

사용자 삽입 이미지
먼저 얘기를 꺼낸 것은 올 초여름으로 기억됩니다. 바캠프서울과 난상토론회, 그리고 데브데이나 데브나이트를 참여하면서 외부와의 소통이 얼마나 가치있는지 알았습니다. 팀브랜드를 높이는 데 좋은 방법이구나 생각되었습니다.
이러한 행사를 통해서 얻어지는 긍정적인 효과는 여러가지가 있겠지만, 열린 팀이라는 생각과 꿈을 꾸고 실행해 볼 수 있는 환상을 심어주기에 충분합니다. 사실 회사 생활은 밖으로 보여지는 것 보다 많은 일들이 내부에서 일어나게 됩니다. 이러한 소문이 나게 되면 신규인력 채용 등에서 좋은 영향을 더하게 되죠. 그리고 유명무실이 되지 않기 위해서 내부의 인력에 대한 역량을 강화하려는 자극제가 됩니다.

가을, 팀장님의 본격적인 실행지시가 내려졌고, 예산도 타내고, 장소도 알아보는 등 대략 2~3개월의 준비기간을 거쳤습니다. 내부 강사의 세션 준비도 쉽지는 않았습니다. 높은 팀장님의 수준에 맞춰서 다들 10여 번 정도 수정 발표하면서 발표내용을 다듬어 갔고, 그 수준은 다른 세미나 못지 않는 내용들이 되어갔습니다.

행사 운영팀으로 또 조직되어서 저녁 간식거리로 무엇이 좋을까 고민도 하고, 안내는 어떻게 할 것인가, 뒷풀이 장소의 좌석 배치는 어떻게 할 것인가, 사진은 누가 찍을 것인가, 등 수십여가지의 경우의 수를 다 고려해서 준비했습니다. 정말 고생들 많이 하셨지요.

등록페이지를 직접 만들어서 접수를 받고, 120명이 차기를 기대했었습니다. 다행히 등록 개시 4일만에 넘긴 것으로 기억합니다.

행사 당일 많은 분들이 와 주셨습니다. 아는 분들이 대략 25% 자리를 차지 하신 것 같더군요. 이 분들이 제가 썰렁한 농담을 해도 웃어주신 것으로 생각됩니다. 정말 고마워요. ^^
19시 10분에 정확히 시작해서 21시 15분에 모든 강의가 마쳐졌고, 뒷풀이 장소에서는 11시를 쉽게 넘겼습니다. 초대 강사였던 mepay님은 간만의 서울 행차로 선배 호출에 인사만 하고 헤어졌습니다. 강의시간이 짧아서 워밍업만하시다가 막바지에 속얘기가 나오시려했는데, 강의 하신 분이나 들으시는 분들에게 짧은 시간 때문에 누를 끼친 것 같아 미안했었습니다.

행사 마치고 야후!코리아의 정진호님이 번역서를 제가 선물로 주고 가셨습니다. Flickr Mashup 책인데, 많이 땡깁니다. ㅎㅎ

행사를 잘 마친 듯 해서 다행입니다.

그래서 기분 좋습니다. 자기 자리에서 열심히, 즐겁게 수고했던 우리 팀원들이 자랑스럽습니다. (아부 조금 섞어서) 소팀장님 좋은 기회 만들어 주셔서 감사합니다.

베스트 팀, 우리도 그거 할 수 있습니다.

파레토의 법칙이라고 하죠. 우월한 20% 그렇지 못한 80%
하지만 20%는 80%가 사라지면 다시 4:16 으로 나뉘어집니다. 세포분열이죠. 거기서 다시 우열이 만들어지죠.

20:80 원칙에서 20과 80 사이에는 부정할 수 없는 연결고리가 있습니다.
프로젝트에서 진보적인 20과 보수적인 80 사이의 연결고리를 잘 이어야 원만한 프로젝트로 이끌 수 있겠지요.
팀을 최고로 이끌기 위해서는 외부에서 인정하는 사회적 가치와 내부에서 동의하는 상향 타협점을 위한 노력이 있어야 합니다.

협업을 장려하는 많은 IT시스템이 있지만, 그것과 아울러 함께 일하는 동료간의 공명이 있어야 하겠지요. 어울림입니다.


그것을 고민하고 삽니다.

어제 모임에서 재미있는 얘기를 들었습니다. 프로젝트의 공통 모듈팀을 없애야 코드들이 깨끗해질 수 있다고 합니다.
개발자 중에 똑똑한 사람들이 주로 들어가는 공통팀입니다. 이 팀의 코드들은 예술적이고 환상적입니다. 아키텍트가 될만하고 아파치 등의 오픈소스 커뮤니티 활동도 열심히 합니다. 신기술은 모두 꿰차고 있고, 정말 훌륭한 개발자들이 모이는 팀이 주로 공통팀입니다.

하지만 프로젝트에서 비즈니스 로직과 프리젠테이션 레이어의 삽질(HTML 태그 미아)을 하고 있는 일반 평범한 개발자들은 이런 좋은 코드들을 잘 모릅니다. 그렇게 똑똑하지 않고, 그렇게 부지런하지 않고, 그렇게 개발에 재미를 붙이고 있지 않은 경우가 많습니다. 그냥 먹고 살기 위해서 프로젝트에 들어와 일하는 중입니다.

여기서 괴리가 발생합니다. 공통으로 짜놓은 것이 있지만 찾기 귀찮습니다. 샘플이라고 있기는 하지만 이렇게 짜나 내가 원하는 방식으로 짜나 그 시간이 그 시간입니다. 납기가 코앞입니다. 자기가 익숙한 대로 코딩을 합니다. 공통을 적용하려 하니 이런 경우는 안 된다고 합니다. 금방 안된다고 합니다. 또 자기가 익숙한 대로 코딩을 합니다.

어제 들은 바로는 구글은 개발방법론이 없다고 합니다. 오히려 개발 방법론이 교복이나 유니폼처럼 속박하는 것이 아닐까. 창의력 말살이라고 할까요. 많은 개발자들이 일할 때 필요한 것은 과연 무엇을까요. 그렇다고 아무런 제약도 없이 풀어놓고 개발하라고 한다면 코드 저장소는 돼지우리처럼 될 것 같네요. 진퇴양난입니다.

사용자 삽입 이미지
단 한 가지 희망이 있다면, 소통입니다. 커뮤니케이션. 문화가 발전하는 곳은 커뮤니케이션의 제약이 없는 곳입니다. 원하는 자원을 가져다 쓸 수 있고, 원하는 요구사항을 정확히 들어서 알 권리가 있고, 원하는 바를 다른 사람에게 이해시킬 자유가 있습니다. 개발팀내에서의 소통은 마지막 희망입니다. 옆 동료가 개발하는 것이 무엇인지 공유하고, 막힌 곳을 혼자 고민하는 것이 아니라 짝 프로그래밍 등을 통해서 공유하면서 풀어가는 문화.

개발팀엔 개발 방법론, 개발 표준이 필요한 것이라기 보다 개발팀 문화가 필요합니다.


증거

1. 가장 오래 다니는 회사임. 하루하루가 신기록 2004년12월 이후 현재까지 계속

2. 내가 GS이숍 EC정보팀을 공공연하게 드러낸다.

3. 회사에서 OJT 교육할 때마다 "잘 오셨습니다." 라고 거리낌 없이 얘기한다.

4. 팀 내의 기술력에 대한 한 없는 신뢰가 있다. DB는 누구에게, Flash는 누구에게, flex는 누구에게, 업무A는 누구에게, 업무B는 누구에게, eclipse는 나에게 ㅎㅎ

5. 현업과 말이 통한다고 착각(?)하고 있다.

6. GS이숍과 GS이스토어 분위기는 다르지만 둘 다 좋다.

7. 어제도 ant 버전 1.7로 올리고 전체 메일 날렸다.

8. 팀 블로그 보고 입가에 미소가 번진다.

+ Recent posts