작은 게임 개발 업체의 팀장입니다.
약 5년간 지금의 회사를 다니면서 작년부터 야근을 거의 없애다 시피 했습니다.
물론 저 혼자의 노력은 아니고 사장님부터 전 직원이 모두 합심해서 이뤄낸 결과지요.
그 과정을 잠깐 설명 드리겠습니다.
우리 회사의 경영진은 개발 업무에 대해서는 전혀 모릅니다.
그래서 개발 담당 이사를 빼곤 개발에 관한한 전혀 간섭하지 않습니다.
그런데 사장님이 어느날 그러시더군요.
"다들 죽어라 일을 하는데 왜 우린 예정일도 못 지키고 만드는 것 마다 버그 투성이에
결과물에 대한 평가도 만족스럽지 못할까?"
다시 말해서 대체 열심히 일을 하는건 알겠는데 왜 성과가 없는거야?라는 거겠죠.
각 팀 팀장들이 이런 저런 이야기를 합니다.
그래서 사장님이 지시를 내렸습니다.
예정일을 지킬 수 있는 작업 프로세스 먼저 제시해봐라.
팀장들이 모여서 논의를 한 결과 다음과 같은 분석이 나왔습니다.
첫째,
개발 계획이 바뀌면 바뀐 순간부터 전체 예정일은 다시 산출해야 한다.
개발 담당 이사가 주로 일정을 잡는데 이사의 판단에 따라 개발 순서가 바뀌는 경우가 종종 있었습니다.
이 과정에서 많이들 헷갈리시는데 예를 들어서 A라는 3개월짜리 컨텐츠 개발 진행 중 2개월이 지나서 중단하고 B 컨텐츠를 만들면 다시 A컨텐츠를 개발하는데 1개월이 걸릴거라고 생각합니다.
천만의 말씀입니다.
B 컨텐츠로 인하여 게임 구조가 얼마만큼 바뀌었는가에 따라서 A는 개발 기간이 달라집니다.
그리고 처음부터 다시 만든다고 생각하지 않으면 어느 부분에서 버그가 나올지 아무도 예측 못합니다.
즉, 뭔가를 추가하거나 변경하고자 한다면 계획을 끝내고 다시 계획을 잡아서 진행해야 합니다.
그런데 게임 뿐 아니라 대부분의 IT 업계에서는 그렇게 안 합니다.
이 부분을 사장님께 이야기 드렸더니 앞으로는 무조건 승인된 것 먼저 완료 한 이후에 다시 계획 잡아서 진행하는 것으로 결정하셨습니다.
둘째,
개발과 테스트, 그리고 디버깅에 대하여 각각 일정을 별도로 잡아야한다.
아주 단순하게 스킬 하나를 만드는걸 예로 들어 보죠.
기획이 나오고 기획팀은 완료 보고 합니다.
기획서를 보고 프로그래밍 하는 동안에 그래픽 리소스 나오고 그래픽팀도 완료 보고 합니다.
그래서 다 얹어서 구동합니다.
구동 완료 되는 것을 보고 프로그램팀은 완료 보고 합니다.
전 팀이 다 완료 보고 했지만 업데이트는 못합니다.
왜? 그래픽 싱크가 안 맞고 밸런스 수치도 이상한데다가 가끔 클라이언트가 튕깁니다.
사장님은 묻습니다.
다 작업 끝나다면서 왜 업데이트 안돼?
그래서 다음부터는 개발과 테스트와 디버깅은 모두 각각의 일정을 잡기로 했습니다.
셋째,
일정은 개발자가 잡되, 일정내에 못 마칠 경우 야근을 하든지 집에서 하든지 개발자 스스로 잡은 일정에 대하여서는 책임진다.
마케팅팀에서 기획서가 나오면 한마디 합니다. 이거 3주면 만들지? 테스트 1주 하고 디버깅 1주하면 5주니까 넉넉잡고 1달 반 뒤에는 업데이트 할수 있겠지? 그럼 2주후부터 마케팅 준비하면 되지?
기획서도 제대로 검토 안해보고 답할수 없죠.
당연히 검토 해보고 대답하겠다고 합니다.
그러면 팀장회의에서 지랄합니다. 능력없는 팀장 되는거 한순간이죠. 울며 겨자먹기로 알겠다고 합니다.
팀원 모아놓고 기획서 검토 들어가면 택도 없는 일정입니다.
방법 없죠. 팀장 권한으로 야근 지시합니다.
이런 악순환을 끊어야 된다고 이야기 했습니다.
사장님께선 테스트 끝나고 업데이트 준비되면 그때부터 마케팅 계획 잡는걸로 하라고 하십니다.
넷째,
기획은 기획자가 하고 기획서 검토는 실무진이 한다.
어느날 이사 중 한명이 팀장회의에서 이야기 합니다.
어느 게임에서 어떤 컨텐츠 업데이트 했더니 대박 났댄다 우리도 만들자.
기획은 그냥 갖다 배끼랍니다.
기획팀은 별 고민 없이 기획 합니다.
개발팀도 별 고민 없이 개발 합니다.
그래픽팀은 죽어납니다. 세계관도 없고 배경 설명도 없이 그냥 만들라고 하니 만듭니다.
테스트 해봤더니 재미 하나도 없습니다.
재미있게 하려면 다른 컨턴츠와 연계 방안을 찾아야 되고 몇가지 보조 시스템도 만들어야 됩니다.
배보다 배꼽이 더 크게 생겼습니다.
개발까지 끝냈는데 업데이트는 언제할지 모릅니다.
게임을 제일 잘 아는것은 기획자입니다.
게임이 어떻게 되어야 하는지는 그래서 기획자가 결정해야 됩니다.
사장님께서 이야기 들으시더니 기획단계를 두단계로 나눠서 컨텐츠 설명위주의 기획서 초안을 만들어 브리핑 하고 팀장회의에서 충분히 가치가 평가되면 그 다음에 개발에 들어가도록 하자고 하십니다.
마지막,
일정 중 테스트와 디버깅은 무한정 할 수 없으니 최대 기간을 정한다.
사장님이 위의 이야기를 다 결정하시더니 한마디 하십니다.
개발 한달하고 테스트 석달에 디버깅 반년 이렇게 잡으면 다른 부서에서는 아무것도 계획할 수 없게 되니까 테스트 및 디버깅의 최대 기간은 반드시 고정해야 된다고 하십니다.
그 이내에 끝내지 못하면 귀책 사유를 찾아서 그 팀에 불이익을 주겠다고 하십니다.
최종적으로 조율된 것은 개발기간의 절반을 추가로 테스트와 디버깅에 사용하는 것으로 확정 지었습니다.
즉 6개월 개발하면 3개월 이내에 테스트와 디버깅을 마치는 것이죠.
위와 같이 결정된 이후 3개월간은 야근이 더 늘어났습니다.
팀간 업무 협의 과정이 원활하지 않은것도 있었고 개발자들이 개발 기간 산출을 잘못한 경우도 많았습니다.
그리고 다음 3개월간은 야근이 점차 줄더군요.
그러더니 올초 들어서는 평시 야근은 완전히 사라졌습니다.
물론 사안에 따라 야근을 하거나 주말 출근을 하는 경우는 종종 있습니다.
그러나 한 개인으로 놓고 보면 야근은 한달에 1일 이내 정도이고 주말 출근은 5개월 동안 두번 있었습니다.
-----------------------------
야근을 해야 하는 원인은 아마 회사마다 다를겁니다.
그러나 그 원인을 찾아서 해소하는데에 전 직원이 다같이 노력해야 되는 것은 모든 회사가 같을 겁니다.
야근을 없애는 과정에서 개발이 무척 더디게 진행되는 것 처럼 보여서 6개월간은 정말 답답했습니다.
그 답답함 때문에 혹시 회사가 망하는 것은 아닐까 불안하기도 했습니다.
그러나 그 과정을 겪고 나니까 정말 잘 했다고 생각됩니다.
야근을 바꾸고 나서 얻은 것은 다음과 같습니다.
1. 일정을 잡을 수 있게 되었다.
2. 자신의 작업 결과물을 다시 분석해 볼 여유가 생겼다.
3. 왜 작업을 해야 하는지에 대한 분명한 이유를 공유하게 되었다.
4. 회사에 대한 애착이 생겼다.
5. 연애를 시작하는 사람들이 늘었다.
회사를 아끼고 사랑하신다면, 그리고 그만한 위치에 있으시다면,
야근을 없애는 것에 대하여 깊은 고민을 해보시기 바랍니다.
리더쉽에 관한 강의를 받던 중 다음과 같은 말이 깊이 와 닿더군요.
"문제가 생겼을 때 그 문제를 해결하는 방법은 문제가 생긴 사람이 가장 잘 알고 있다."
"리더쉽이란 가르치거나 이끄는 것이 아니라 앞으로 나아갈 방법을 찾을 수 있게 해 주는 것이다."
WRITTEN BY
- Peter Ryu
Crazy Programmer's World