개발자의 마인드

Joshua/직장 2011.05.24 댓글 Joshua95

   마침 내일 팀 회의가 있는데, 적당한 이야기 거리를 찾는 메일이 왔기에 편하게 주절거리는 개발자 이야기를 해 보겠노라 신청했습니다. 개발 프로젝트를 진행하다 보니, 일정 관리를 위한 공유에서 같이 가져야 할 생각들이 있는 듯 합니다. 기존의 멤버들이 업무 변경이 되기도 하고, 새로운 멤버가 들어오기도 하다보니 다시 한번 되돌아 보고 싶은 우리에게 필요한 5가지 마인드!

* 우리의 마인드
1) 최선 : 우리는 모두 나름 최선을 다한다.
   ; "일정을 왕창 잡아두고, 널널히 놀면서 해야지"
         - 이건 기본 신뢰의 문제. 이런 팀원 만난다면 동료가 괴롭습니다.
   ; "뭐야 하루면 될 일을 5일 씩이나 잡다니."
        - 그 사람의 역량으로는 5일치 일거라는 믿음을 억지로 가져보기

   프로젝트가 시작되면 개발자들에게 가장 먼저 답을 요하는 것이 바로 일정입니다. 일정에 대한 요청에 대하여 같은 프로젝트의 멤버들 일지라도 서로의 기준이 전혀 다르게 됩니다. 어떤이는 일정을 왕창 잡아두고 여유롭게 진행하고자 하는 사람이 있는가 하면, 어떤 이는 아주 타이트하게 일정을 잡아서 나중에 안되면 미루면 되겠지 라고 생각하는 멤버들이 있습니다. 이러한 각자 상이한 기준으로 일정을 잡다보면 결국은 프로젝트 구성원 간에 불화가 생겨 나기도 합니다. 어떤 Task에 대하여 한 5일이면 충분한 일정인 듯 한데, 그걸 부풀리고 있는 동료를 보게 되면 불신의 마음이 생겨나는 것이지요. 프로젝트를 시작하기에 앞서 각 개발자들은 서로 일정 산정에 대한 기준을 맞출 필요가 있습니다. 뭐 간단하게는 하루 8시간 최선으로 업무 했을 때의 기준으로 잡는다 정도면 되겠지요. 내 역량에 비해 대충 했을 때의 기준이 아니라 그렇다고 날밤 새서 하면 된다는 식의 기준이 아니라, 업무 시간 중 최선으로 임했을 때의 기준이라는 것이 키워드라 할 수 있습니다. 그리고 그렇게 각자가 산정한 일정에 대하여 서로가 인정하고 존중해주고 나가야 합니다. 
 

2) 정직 : 우리는 모두 나름 정직하다.
   ; 내 것 빨리 끝났으나, 빨리 끝났다고 말을 못하고.
   ; 자신의 몫을 빨리 끝내면 빨리 했다고 칭찬 받아야 하나, 일정 산정 잘못 했다고 구박 받아야 하나.
   ; "그렇다면 내 것을 천천히 해야지.." 
          - 서로가 정직하다고 믿어주고, 노력하는 분위기 조성이 필요하다.

   일정이 산정이 되고, 스펙이 결정이 되고 나서 개발이 진행됩니다. 하지만 개발 도중에 흔하게 발생하는 일 중에 하나가 도중의 일정 변경 입니다. 어떤 작업은 분석하고 보니 간단하게 끝나버리는 일이 있는가 하면, 또 어떤 일은 막상 들어가보니 수정할 코드가 산더미만한 일들도 있습니다. 개발자로서 일을 하던 중에 많아진 경우라면 울며불며 PM에게 일정 조정을 요청하게 됩니다만, 반대로 하던 일이 줄어든 경우라면 그냥 조용히 한 타임을 쉬고 넘어가고 싶어하지요. 뿐만 아니라, PM은 각 담당자의 일정 준수 여부를 평가하고자 하니, 초기 일정에 비해 빨리 끝날 수만 있다면야 나중에 생색 내기도 좋습니다. 이러한 상황에서 각 개발자들 간의 신뢰를 위해서 필요한 마인드가 정직입니다. 내가 현재의 내 일정에 정직하다는 것과 내 동료 또한 나와 같이 정직하게 자신의 일정을 채워가고 있다는 신뢰가 필요하다는 것이지요. 내 일 빨리 끝났으니 난 일을 너무 잘하는 것 아닌가 라고 흡족해 하는 사람이 있다면, 그건 당신이 일정을 잘못 산정해서 그런것 아닌가라고 반문해 볼 수 있습니다. 그렇다면 나는 억지로 초기 일정에 그냥 맞출란다. 널널하게 일정을 만들고, 놀면서 일정에 맞추면 평가도 좋겠구나는 생각이 들지요. 결국 구성원간에 서로 일정에 정직하겠노라 공감대가 형성되지 않으면 서로 불화감만이 생겨나게 됩니다. 그렇다면 내 일정을 만들고 진행하던 중에 일정 빨리 끝나면 우이해야 됩니까. 간단하게 다른 사람들 도와주면 되지요. 난 일 열심히 했는데 열심히 한 사람만 억울하지 않습니까. 아니 오버타임으로 도와주라는 것이 아니라 정시간 내에게 도와 주면 되지요. 그리고 다른 사람 도와주면서의 억울함은 참 기분좋은 억울함 아니겠습니까. 프로젝트 구성간의 정직함이 기본으로 만들어져 있지 않다면 그 프로젝트는 정말 곤혹이 될 것입니다. 그럼에도 불구하고, 우선 나는 정직해야 한다. 또 다른 이는 정직할 거라는 믿음이 필요합니다.
 

 3) 협업 : 우리는 같은 배를 타고 간다.
   ; 경쟁 구도가 아닌 같은 배를 타고 있는 심정으로. 프로젝트에 임한다.
   ; "우리에게 모 아니면 도를 달라?" 
          - 함께 평가 받을 수 있는 제도 마련이 필요하지요.
   ; "그러다 이걸로 평가하면 우야지요?"
          - 단순히 일정만으로 평가를 하게 되면 팀원간 협업에 방해가 됨. 지혜로운 평가 방법을 고민해야 함.
 
   같은 프로젝트를 성공적으로 수행하였다 하여도, 연말의 평가는 각자가 다를 것입니다. 이러한 이유로 인해서 프로젝트 내에서는 개발자들 간에 은근한 경쟁이 발생할 수 있습니다. 하지만 이러한 결정은 프로젝트를 위해서는 별다른 도움을 주지 못합니다. 다른 제품, 다른 회사와의 경쟁이라면 그건 건강하게 유익이 될 수 있겠지만, 같은 프로젝트 안에서 서로의 경쟁은 별다른 유익이 없습니다. 의외로 우리가 아군인지 적군인지 혼동하는 사람들이 많은 듯 합니다. 같은 배를 타고 있는 심정으로 같은 방향으로 노를 저어야 합니다. 경쟁 구도가 아닌 같은 배를 타고 있다는 동료 의식이 프로젝트 구성원 간에는 참으로 필요합니다. 이러한 의식은 개발팀 뿐만이 아니라 같은 프로젝트를 진행하는 QA,팀 기술지원팀, UX팀, 영업팀 등의 타팀 구성원들에게도 확대되어 져야 합니다. 그 우선은 개발팀 내의 동료 의식일 것입니다. 이를 보다 강화하기 위해서 프로젝트 멤버들이 모두 동일하게 평가를 받는 방법을 고민하는 게 어떨까 생각해 보기도 했습니다. 한 프로젝트 안에는 열심히 한 사람, 열심히 안 한 사람이 혼재되어 있어 기여도가 다 다른데 동일한 평가는 역 차별이 되지 않겠냐고 반문이 일기도 합니다만. 능력 없는 구성원을 제대로 이끌지 못해 프로젝트가 문제가 생겼다면 그 책임은 능력 있는 구성원도 같이 져야 하는 것 아니겠습니까. 


 4) 배려 : 남을 알고, 나를 알면 백전백승?
   ; "난 일정을 개발 끝나면 한꺼번에 갱신해야지"
          - 지금의 상황을 같이 알고, 같이 고민하는 자세가 필요하다.
   ; "최소 1일 한번씩은 갱신해자구요."
          - 나의 일정 관리 뿐만 아니라 다른 이들과의 공유를 위해서.
   ; 팀원 각자가 다른 팀원들의 현황을 파악하려고 하는 노력이 필요함.
   ; PL에 대한 충분한 배려
          - 이 분들 커뮤니케이션 일정을 고이 접어 드려요.

   일정을 세우고, 각자의 개발할 모듈을 분리하고 나면 이제는 각자가 자신의 일에 집중하기 마련입니다. 맡겨진 일정에 맞추자니 다른 사람들 뭐하는지 알고자 하는 마음 자체가 낭비라는 생각 때문이지요. 하지만 이러한 마음 또한 한배 정신이라면 이야기가 달라집니다. 내가 내 일정 열심히 맞췄더니 옆 동료가 일정이 느려져서 결국 프로젝트가 연기된다면 어떡합니까. 내 일을 하면서도 간단한 리뷰 시간을 가져가 각자의 현황을 파악하고 고민들을 들어보려는 마음과 시간이 필요합니다. 혼자가 한참을 고민해도 풀리지 않던 문제가 다른 사람의 지나가는 말 한마디에 해결되었던 적이 얼마나 많았던가 기억을 상기해 볼 필요가 있지요. 다른 동료들이 어떤 고민 속에 있는지, 혹시 내가 도와줄 수 있는 일은 없는지 함께 들어보면서 서로를 알고 도와줄 수 있어야 합니다.
 

 5) 여유 : 괜찮아유~ 뭐 우리가 남인가유~
   ; 개발하다 보면 좀 놀고 싶을 때도 있지요. 일이 안되서  음악만 들을 때도 있지요.
          - 개발 일정 안에서의 자유를 마음껏 누려보자.
   ; 그렇다고 자기 일정 못 지키기야 하겠어요. 알아서 잘 할겁니다.
   ; 내 빵 다 먹고, 다른 사람 빵 뺏어 먹는 기분에서 쾌감을 느끼자.

   일정을 중시하는 개발자는 다른 개발자들의 취향이나 스타일을 못내 못마땅해 하기도 합니다. 어떤 개발자는 하루종일 이어폰을 귀에 꼽고 음악을 들으면서 컴퓨터를 들여다 보고 있고, 또 어떤 개발자는 듀얼 모니터 한쪽 켠에 영화를 켜 두고 개발을 하고 있습니다. 일정은 촉박한데 집중하지 않고 놀면서 개발하고 있는 저들을 보면 얼마나 답답하겠습니까. 하지만, 이미 앞에서 들여 보았듯이 나는 물론이고, 내 동료는 자신의 일정을 맞추기 위해서 최선을 하다고 있다는 믿음이라면 별다른 문제가 되지 않습니다. 하루 8 시간 근무 중에 6시간을 놀아도 남은 2시간에 놀랍게 집중해서 맡겨진 일을 완수했던 적이 많지요. 그렇다면 8시간 모두 집중해서 일했다면 얼마나 좋았겠냐고 반문하는 사람이 있겠지만, 그 6시간은 2시간의 집중을 위해서 필요한 시간이었다는 것이 우리들의 답이지요. 앞의 6시간은 노는 시간이 아니라 초집중 2시간을 위한 준비 시간이었다 이겁니다. 자유로운 분위기와 스타일 속에서도 자신이 정한 일정을 지키고자 하는 마음만 있다면 무엇인들 문제가 되겠습니까. 일정에 대한 완수와 혹은 발생하는 일정 변경에 대하여 정확하고 객관적인 이유를 댈 수 만 있다면 문제 될 것이 없습니다. 우리에게는 좀 더 느긋한 여유가 필요하지요. 특히나 관리자에게는 그렇습니다.


* 결론

   "내 동료는 최선을 다하고 있다."
   "내 동료는 정직하게 일하고 있다."
   "내 동료와 나는 같은 배를 타고 있다."
   "나는 내 동료의 (업무상) 모든 것을 알고 있다."
   "내 동료도 사람이다."

 - 2011.05.24 괜히 팀회의 시간에 이런 주제로 발표 함 해 보겠노라고 했다가 후회하고 있는 Joshua95.
 - 2011.07.19 좀 더 풀어서 썼던 글이 아까워서 추가로 갱신. Joshua95 

'Joshua > 직장' 카테고리의 다른 글

사람 구하기, 사람 보내기  (0) 2011.09.02
커뮤니케이션  (0) 2011.06.20
직장 속의 그리스도인  (0) 2011.05.06
오랫만에 만난 대어  (1) 2011.04.27
업무 전환 시의 욕심  (1) 2011.03.22

댓글