달력

122021  이전 다음

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
어제 모임에서 재미있는 얘기를 들었습니다. 프로젝트의 공통 모듈팀을 없애야 코드들이 깨끗해질 수 있다고 합니다.
개발자 중에 똑똑한 사람들이 주로 들어가는 공통팀입니다. 이 팀의 코드들은 예술적이고 환상적입니다. 아키텍트가 될만하고 아파치 등의 오픈소스 커뮤니티 활동도 열심히 합니다. 신기술은 모두 꿰차고 있고, 정말 훌륭한 개발자들이 모이는 팀이 주로 공통팀입니다.

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

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

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

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

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


Posted by 케누 kenu허광남

댓글을 달아 주세요

  1. dazzilove  댓글주소 수정/삭제 댓글쓰기 2007.06.17 18:57

    공통관련파일을 몇십개를 만들어놓아도..
    아주 잘 정리해서 하나의 파일로 만들어놓아도..
    전파가 되지 않으면 무용지물이나 마찬가지 이더라구요..
    오빠 말씀처럼 커뮤니케이션이 중요하고..
    이러한 문화가 형성될 필요가 있다고 생각합니다.
    만들어 놓은 문서 보고 하는것도 제대로 못하냐라는 어정쩡한 훈계보다는
    새로운 이슈사항이 나타날 때마다 인식할 수 있도록
    제대로 전파해주는것이 더 중요하다고...
    다찌는 매번 이야기를 하지만..
    아직 5년밖에 안된 햇병아리인지라.. 잘 안통하더군요. ^^;;

  2. 알 수 없는 사용자  댓글주소 수정/삭제 댓글쓰기 2007.06.18 11:18

    공감하는 글이라 트랙백 하나 날렸습니다. ^^ 좋은 하루 보내세요~

  3. 알 수 없는 사용자  댓글주소 수정/삭제 댓글쓰기 2007.06.18 15:48

    역시 좋은글 -_-)! 언제나 많은 생각을 하게 해주셔서 감사해요 형 ㅋ

  4. kenny  댓글주소 수정/삭제 댓글쓰기 2007.06.18 18:31

    "오히려 개발 방법론이 교복이나 유니폼처럼 속박하는 것이 아닐까."

    사실, 예전에 잠시 놀러갔을때 본 거지만.
    사촌동생이 다녔던 학교(음... 미국 교포 2.5세이니까, 당연히 미국학교에 다녔죠.)에서도, 교복 혹은 유니폼은 있더군요.
    다만, 우리랑 다른건, 유니폼이라는게, 특정 색상을 지정하고, 그에 해당하는 거라면 기성복을 입건 뭘 입견 상관 안하더군요.

    개발방법론이라는게 말 그대로 유니폼/교복과 같은게 아닐까 싶네요. 여기까지는 Rule. 나머지는 편한대로. 솔직히 공통화된 어떤 코드를 위해서 필요하지 않은 곳 까지 강제하고 있는 것도 사실이니까요.

  5. codikim  댓글주소 수정/삭제 댓글쓰기 2007.06.22 17:29

    저는 말그대로 먹기살기위해 프로그램 하고 있는 사람입니다.^^
    프로젝트에서 반드시 필요한 팀인데...
    전파의 중요성....
    표준이 늦게 나와 삽질을 하는 경우도 있긴 하지만 드문예라고 생각하구요...

    암튼 그놈의 납기가 항상문제가 되는것 같습니다.

    • 케누 kenu허광남  댓글주소 수정/삭제 2007.06.23 06:09 신고

      time to market 과 납기는 불가분의 관계인데, 지난 webappscon에서 공감가는 얘기가 나왔습니다.
      time to market 에 맞춰서 오픈한 프로젝트 치고 성공한 것 보기 힘들었다.

  6. Max  댓글주소 수정/삭제 댓글쓰기 2007.06.22 17:48

    제일 쉽게 다가설수 있는것이 커뮤니케이션입니다.
    하지만 제일 어려운것도 커뮤니케이션 인것 같아요.

    특정기술에 대해 종속적인 기술을 사용한다면 배우면되지만,
    특정문서를 읽어야 개발을 진행할수 있다면 하겠지만,
    커뮤니케이션이 원만하지 않는 집단과 일하는것은... 불행입니다.

    커뮤니케이션의 중요성을 인식했다면, 그것을 잘하기 위해서 노력도 해야 하겠죠?
    그노력도 않한다면 밥먹기가 힘들어 질지도....
    그런데 그것(노력하는것)도 만만치 않은것 같아요.
    고로 세상엔 쉬운게 없는것 같아요.

    개발팀문화를 만드는것도 쉬운일이 아니고, 커뮤니케이션 잘하는것도 쉬운일이 아니니
    결국 '노력하는 사람이 되어야 한다'라고 받아들여집니다. ^^

    노력하는것 조차 하기 힘들다면???