발로 뛰는 주니어 매니저
서로 하는 일이 다른 아주 많은 사람들이 한 팀에 모여 개발할 때 서로 무슨 일을 하고 있는지, 또 이 일이 어떤 더 큰 일을 위한 일인지, 그리고 내 다음에 누가 이어서 일해야 하는지 잘 모른 채로 일하면 모두가 열심히 일했지만 완성된 결과가 나오지 않기는 너무 쉽습니다. 가장 흔히 일어나는 일은 작업자가 자신의 일을 마치고 형상관리도구에 올린 다음 그냥 바로 다음 일을 시작하는 것입니다.
사실 이 개인 관점에서 보면 어떤 잘못도 하지 않았습니다. 그저 성실히 자신이 해야 할 일을 했고 그 일을 제출했으며 빈 시간 없이 바로 다음 작업으로 넘어가 열심히 일했을 뿐입니다. 하지만 전체적으로 보면 이 일은 다음 사람에게 넘어가지도 않았고 이 일이 기여했어야 할 더 큰 일이 진행되지도 않아 나중에 책임 소재를 확인하는 과정에서 사기가 크게 꺾일 만한 일을 겪을 수도 있습니다.
어떻게 이런 일이 일어날 수 있을지 이해가 안 되는 분들이 계실 겁니다. 그런데 실제로는 생각보다 많은 사람들이 자기 할 일에 집중해 성실히 일하지만 그보다 넓은 시야에서는 무슨 일이 일어나고 있는지, 또 내 작업은 어떤 계획의 일부이고 결국 게임에 어떤 모양으로 나타날 예정인지에 대해서는 별 관심이 없기도 합니다.
가령 특정 조건에 맞는 몬스터 목록을 작성해야 하는 상황을 가정해 봅시다. 이 명령을 내릴 때 관리자는 몬스터 목록의 조건과 완성된 상태 정의를 설명했을 수 있지만 종종 이 목록이 왜 필요하고 더 큰 어떤 작업 때문에 필요한 것인지 충분히 설명하지 않았을 수 있고 또 종종 설명하지 않곤 합니다. 그러면 목록을 완성해 제출했지만 그 다음에 일어날 일에 관심을 가지지 않는 것은 어쩌면 당연합니다. 이 결과로 결국 시간을 들여 목록을 작성했지만 일은 진행되지 않았고 실컷 시간을 썼지만 결국 시간을 버린 셈이 되었습니다.
이런 상황을 프로젝트 단위로 계속해서 겪다 보면 처음에는 모든 작업자들에게 자신이 하는 일의 의미와 자신 앞뒤에서 일어날 작업을 인지하고 작업하기를 요구하기도 하지만 팀이 커지면 이를 모든 작업자들에게 요구하기는 쉽지 않습니다. 극단적으로 이를 요구할 수 있는 사람들로 팀을 채우려고 하면 결국 인력시장에서 알맞는 인력을 구인할 수 없는 상태가 되기도 합니다. 그래서 개인에게 이런 기대를 하는 대신 이들이 자신의 업무를 성실히 수행하되 더 넓은 시야에서 일어나는 일에는 관심을 가지지 않는다고 가정하고 이들 사이를 연결하는데 어떤 시스템이나 사람을 사용할 생각을 하기 시작합니다.
이런 역할을 종종 이 업무를 전담하는 매니저를 따로 채용하기도 합니다. 이런 매니저를 채용할 때 종종 듣던 말은 ‘발로 뛰는 주니어가 필요하다’는 말이었는데 처음에는 그런가보다 하고 넘어갔지만 여러 회사와 여러 프로젝트에 걸쳐 비슷한 요구사항이 계속해서 나타나고 또 이 요구사항에 따라 인력을 채용해 운용해 봐도 전혀 성공적이지 않습니다. 발로 뛰는 주니어는 처음에 에너지를 쏟아 여기 저기 돌아다니며 단절된 사람들 사이를 연결해 보려고 하지만 뭔가 사람들이 자기 생각대로 잘 움직여 주지 않을 뿐 아니라 자신이 제어해야 할 사람들에 비해 스스로의 정보 수준이 압도적으로 낮음을 깨닫는 부끄러운 상황을 계속해서 맞이하게 되는데 이 상태로 그냥 두면 결국 이 인력은 지쳐 나가 떨어지고 발로 뛰는 주니어를 채용해 단절된 사람들 사이를 연결하려는 계획은 실패하게 됩니다. 왜 그럴까요.
발로 뛰는 주니어는 근본적으로 정보 수준이 낮고 아무 권한도 없기 때문입니다. 매니저에게 필요한 것에는 제품에 대한 결정 권한, 각 작업자들의 업무 우선순위를 조정할 수 있는 권한, 제품에 대한 높은 정보수준 등이 있습니다. 이 항목에는 발로 뛰는 주니어에서 주니어에게 해당하는 것은 아무 것도 없습니다. 이 역할을 담당할 사람은 최소한 팀에서 어느 정도 권한을 가진 사람이어야 하고 이 사람이 발로 뛰려면 이 사람은 높은 정보 수준을 유지해야 하는데 높은 정보 수준을 유지하기 위해서는 실무에서 너무 멀리 떨어져 있지 않으면서도 실무에 매몰되지 않는 사람이어야 합니다. 또한 우선순위 조정과 즉각적인 결정 권한을 가지려면 팀 내에서 어느 정도 수준 이상의 신뢰와 존경을 받는 사람이어야 합니다. 즉 발로 뛰는 주니어에게 요구되는 업무역량 중 그 어떤 것도 발로 뛰는 주니어에게 요구할 수가 없습니다.
먼저 발로 뛴다는 말은 서로 단절된 상태로 일하기 쉬운 작업자들 사이를 더 넓은 시야로 보고 이들 사이를 연결해 온전하게 동작하는 상태가 되도록 작업자들 사이를 조율한다는 의미인데 작업자에게 진행상황을 묻고 그 다음 사람의 상태를 확인하고 기능의 요구사항과 개발 일정을 확인하려면 적어도 이 과정을 몇 번은 경험해 본 사람이어야 제대로 정의되지 않은 작업자들 사이 파이프라인을 추측할 수 있음.
또 작업자들 사이의 일정을 조율하고 우선순위를 조정하는 일은 사실 말이 좋아서 조율이고 조정이지 정확히는 명령하는 업무입니다. 특히 주니어가 이 환경에서 동작하지 않는 가장 큰 이유가 이것인데 이 상황에서 매니저는 작업자들에게 사실상 명령을 해야 합니다. 그런데 위계질서가 아무리 약하다 하더라도 위계가 전혀 없지 않은 이상 위계 상 낮은 위치에 있는 사람이 그렇지 않은 사람에게 명령하기는 어려우며 이 명령을 수행하지 않을 때 패널티를 부과하기도 아주 어렵습니다. 패널티를 부과할 규칙을 만들어 둘 수도 있지만 종종 이는 매니저 개인에 대한 눈에 잘 띄지 않는 보복으로 연결될 수 있습니다.
명령을 내리기 위해서는 의사결정 권한이 필요한데 이 권한을 확보하기 위해서 프로젝트에 대한 높은 이해와 결정을 위한 경험, 그리고 작업자들이 결정에 따르게 만들기 위한 팀 내에서 일정 수준 이상의 존경이 필요한데 이번에도 발로 뛰는 주니어는 이 조건의 어디에도 해당하지 않습니다. 먼저 의사결정은 위계 상 팀의 높은 위치에서 이루어집니다. 명령을 위해 의사결정이 필요할 때 명령을 내리는 그 스스로가 동시에 의사결정을 할 수 있을 때 명령의 효과가 좋아집니다. 만약 명령을 내리는 주체와 의사결정을 하는 주체가 분리되어 있다면 사사건건 의사결정 주체를 찾아가야만 하고 이럴 때마다 명령을 내리는 주체의 신뢰가 떨어지며 이 주체는 팀에서 존경을 받기 어렵게 됩니다.
결론. 발로 뛰는 주니어는 관리가 잘 안 되는 상황을 싼 가격으로 아무 노력도 하지 않고 해결해 보려고 하는 아무 의미 없는 행동입니다. 서로 단절된 작업자들 사이를 인력으로 연결하기로 결정했다면 이 인력은 높은 정보수준, 명령을 내리기 위한 의사결정 권한, 명령에 순응하게 만들기 위한 팀 내 존경이 필요하며 이 조건을 모두 만족하는 사람은 팀의 위계 질서 상 아래쪽에 있지 않습니다. 만약 이런 조건으로 사람을 구하는 곳이 있다면 도망치세요.