[NDC 18] "MS, 블리자드 그리고 넥슨은 어떻게 개발하나요?"

조회수 2018. 4. 27. 17:28 수정
번역beta Translated by kaka i
번역중 Now in translation
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 다양한 분야의 재밌고 유익한 콘텐츠를 카카오 플랫폼 곳곳에서 발견하고, 공감하고, 공유해보세요.

세 기업의 업무 프로세스를 보고 얻은 인사이트 10가지

마이크로소프트와 블리자드, 넥슨은 어떤 과정을 통해 업무를 진행할까? 12년간 블리자드에 몸 담았던 넥슨 플랫폼본부 박종천 부본부장이 이러한 궁금함에 대한 답변하는 시간을 가졌다.


박 부본부장은 마이크로소프트 에릭 브레히너 개발 혁신 부사장의 칼럼 모음집​​ '하드코드(HARD CODE)'와 블리자드, 넥슨에서 일했던 자신의 경험을 살려 세 기업을 분석 비교했다.


그는 각 조직이 일정 관리를 위해 활용하고 있는 방법부터 낭비되는 시간을 줄이기 위한 노력 등을 총 10가지의 요소로 나눠 설명했다. 그가 바라본 세 기업의 모습과 이들의 모습을 통해 얻은 박 부본부장의 인사이트를 정리해봤다.

넥슨 플랫폼본부 박종천 부본부장

1. Project Management - 프로젝트 관리 (일정)​

 

프로젝트 관리는 기본적으로 힘들다. 만약 석 달이라는 데드라인을 세운다 해도 그 안에 끝내기 어려운 것이 프로젝트다. 그렇다 보니 스케줄 안에서 1) 꼭 해야 하는 일과 2) 했으면 하는 일, 3) 하고 싶은 일을 세 가지로 나눠 우선순위를 두는 것이 가장 중요하다. 이런 우선순위를 두기 위해선 PM의 역할이 필수적이다. PM은 프로젝트의 기반을 제품의 품질 유지에 둘 것인지, 아니면 시간 안에 끝낼 것 인가 등 중점 목표를 정하는 것에 도움을 준다.

 

마이크로소프트는 PM 조직이 굉장히 강하다. 기업에서 일정 관리가 어렵다는 사실을 인지하고 있기 때문에 굉장히 많은 PM을 기업에 두고 의사 결정에 큰 도움을 받는 편이다.

 

블리자드는 독특하다. 그들은 결과물의 품질을 우선으로 한다. 생각했던 기한을 넘어서도, 재밌는 게임이 만들어진다면 괜찮다는 것이다. 대신 블리자드에는 오랜 시간 개발을 해 온 베테랑이 많다. 그들이 자체적으로 데드라인을 설정해도 일정에 큰 차질이 생기는 경우가 적은 편이다.

하지만 아무리 베테랑이 많아도 급변하는 게임 시장에서는 위험할 수 있다. 블리자드 역시 이를 인지하고 변화를 추구하는 중이다. 최근 몇 년 사이 마이크로소프트에서 여러 PM을 영입, 보다 체계적인 목표를 설정하고 시간 안에 게임을 출시하는 것을 목표로 삼고 있다.

 

넥슨 역시 PM이 있다. 이들은 프로젝트 관리, 애자일 프로세스를 통해 작고 빠르게 만들 수 있는 일정을 주로 세우고 있다. 최근 가장 많이 하고 있는 작업은 MVP(M). 가장 작게 동작할 수 있는 프로젝트를 만드는 것이다. 프로젝트의 전체, 혹은 일부 요소가 작동하지 않는 상태로 결과를 보여주는 것이 아닌 모든 요소에서 필요한 부분을 조금씩 완성해 부분적인 결과물을 보이는 작업 방식이다.

 

예를 들어 런처를 개발한다고 생각해보자. 이 경우, 넥슨은 런처 속 여러 기능을 한 번에 완성해 출시하는 게 아니라 기간을 두고 기능 하나하나를 조금씩 완성하면서 순차적으로 업데이트하는 방식으로 런처를 완성시킨다. MVP는 넥슨 내에서 일정을 잡는 것에 큰 역할을 한다. 회사는 보통 1년 단위의 큰 계획과 그 안에 3개월 단위의 작은 계획을 세운 후, 지속적으로 리뷰를 진행하며 업무를 업데이트한다. 계획을 업데이트시켜가는 것은 중요하지만, 연초에 세운 계획을 연말까지 계속 가지고 있는 것은 매우 위험하다. 

 

 

2. Process Improvement - 프로세스 개선 (애자일)​

 

일정이 느려지는 이유는 뭘까? 가장 큰 이유는 낭비다. 이 낭비를 막기 위해 활용되는 것이 애자일이다. 사실 낭비는 인지하면서도 개선하기 힘들다. 대표적으로 필요 없는 기능을 넣는다거나, 개발 과정을 늘린다거나 혹은 정치적으로 어떤 결정을 내리다 보면 작업 속도가 느려진다. 구두로 끝낼 수 있는 것을 이메일이나 메신저로 진행하는 것 역시 마찬가지다. 이런 여러 가지 요소가 합쳐지면 업무와 일정 진행을 느리게 만든다.

 

마이크로소프트에서는 이런 걸 없애기 위해 애자일의 기본 개념인 'Plan Do Check Act(PDCA)'를 활용한다. PDCA는 계획을 세운 후 실천은 하고, 문제가 없는지 체크를 한 뒤 결과를 바탕으로 다시 진행하는 일련의 과정이다. 겉보기에는 느리지만 마이크로소프트 안에서는 하는 이 과정이 매우 빠르게 돌아간다. 제품의 크기가 크다 보니까 느려 보이는 것뿐이다. 조직이 커지면 커질수록 당연히 낭비되는 것이 많아진다. 그렇기 때문에 낭비 역시 관리 대상으로 잡아 신경 써야 한다.

블리자드는 단순하다. 앞에서 설명했듯 결과물에 중점을 두기 때문에 낭비되는 부분에 대해 크게 신경 쓰지 않는다. 대신 대부분의 조직원이 변하는 환경에 맞춰 유연하게 움직일 수 있는 능력을 갖추고 있다. 애자일을 따르지는 않지만 세미 애자일에 가까운 형태로 업무를 진행한다. 

 

넥슨에서는 3주에 한 번 제품을 출시하는 스크럼(Scrum: 상호 점진적 개발방법론)을 적용하고 있으며, 컨플루언스나 지라 같은 팀 협업을 위한 소프트웨어를 적극적으로 활용 중이다. 업무를 최대한 빠르게 진행할 수 있는 표준적인 프로세스는 최대한 많이 따르는 편이다. 제일 중점적으로 생각하는 부분은 개발 환경 투자다. 속도를 내기 위해선 개발 환경도 중요하다. 쉬운 예로 성능이 지나치게 뒤떨어지는 기계로 게임을 개발하게 된다면 제대로 업무를 하기 어렵다. 제일 빠른 기계에서 제일 좋은 툴로 업무를 할 수 있도록 해주는 것. 이런 식의 업무 환경 조성에도 많이 투자 중이다.

 

 

3. Efficiency - 효율성 (미팅)

 

조직에서 가장 많이 발생하는 낭비는 미팅이다. 여러 많은 사람의 시간을 소모하는 행위로, 업무와 동떨어진 이야기를 하게 되면 그만큼 조직은 시간을 낭비되는 것이다. 

 

그래서 마이크로소프트는 미팅의 성격을 세 가지 성격으로 나눠 진행한다. 1) 결정을 위한 미팅, 2) 정보를 나누기 위한 미팅, 3) 의논하기 위한 미팅 가 그 종류다. 만약 결정을 위한 미팅이라면 구성원들은 미리 주제에 대한 고민을 하고 참여해야 한다. 정보를 나누기 위한 미팅은 대부분 메일로도 가능하며, 의논하기 위한 미팅이라면 준비하지 않고 참여해도 된다. 대신 가능하면 최대한 많은 사람이 참여해야 한다.

 

여기에 마이크로소프트는 미팅의 세 가지 규칙도 함께 설정했다.

1. 최대한 적은 시간 동안 적은 사람이 적은 횟수의 미팅에 참여할 것

2. 미팅에서는 하나의 주제만을 다룰 것

3. 미팅에서 결정된 정보는 구성원과 나눌 것: 나누지 못하면 미팅에 소요된 시간은 낭비된 시간이다.

블리자드는 미팅하지 않는 날인 '노 미팅 데이(No Meeting Day)'를 만들었다. 이날 만큼은 개발자들도 미팅 걱정 없이 맘껏 개발할 수 있다. 조직은 하루쯤 미팅하지 않아도 정상적으로 운영된다. 만약 미팅이 너무 많다면 이 방법을 써보는 것도 좋을 것 같다.

넥슨은 구색을 갖춘 미팅이 아니라 필요에 의해 빠르게 진행한다. 가령 복도에서 두 명이 대화를 통해 업무 방향성을 결정하는 것 역시 미팅이다. 이런식의 간단한 미팅을 자주 하는편이며 대부분의 미팅은 PM이 참여하며 그들에게 의사 결정권을 제공한다.

 

그 외에도 지라, 컨플루언스 등 팀 협업 소프트웨어를 적극적으로 사용 중이며 주간 보고서를 통해 팀별 업무가 서로에게 원활하게 쉐어될 수 있도록 환경을 조성하는 편이다.

 

 

4. Collaborations - 협업 (개발과 QA)

 

협업 중 가장 힘든 것은 서로 다른 직군 간의 협업이다. 실제로 개발자간의 의사소통보다 개발자와 QA, 개발자와 PM이 논의할 때 더 오랜 시간이 걸린다. 

 

마이크로소프트는 QA의 가치를 높이기 위해 많은 노력을 한다. 그들이 QA를 개발자의 파트너로서 중요하다 생각하는 이유는 크게 세 개다. 첫 번째는 개발자가 만든 것에는 무조건 버그가 있기 때문에 체크해줄 인력이 필요하다는 것이며, 두 번째는 수치적으로 제품의 품질을 증명할 수 있기 때문이다. 세 번째는 가장 결정적인 이유다. 개발자가 기술에 포커스를 맞추는 반면, QA는 제품에 포커스를 맞추기 때문이다. 사용자에게 좋은 제품을 제공하려는 시점을 가졌다는 말이다.

블리자드의 경우, 게임 QA와 테크니컬 QA가 따로 있다. 게임의 재미는 게임 QA가 테스트를 진행하며, 시스템이나 패치가 원활한지, 비디오 프레임은 정상적으로 돌아가는지 등 기술적인 부분은 테크니컬 QA가 체크한다.

 

넥슨은 개발팀마다 QA를 한 명씩 배치했다. 개발팀이 회의할 때 그들의 이야기를 듣고, 어떻게 개발되는지 본 후 테스트 플랜 세우는 등 처음부터 그들과 프로젝트를 함께 진행한다.

 

 

5. Quality - 품질

 

제품의 품질은 시장에서의 우선순위를 결정한다. 품질에 집중하기 위한 적이 있다. Cost(얼마나 많은 개발진이 있느냐?), Time(얼마나 많은 개발 시간이 있느냐), Scope(얼마나 많이 개발해야 하냐). 이 세 가지는 항상 부족하다. 그렇기 때문에 스코프를 잘라낸다. 그런데 스코프를 잘못 잘라내면, 게임 속 핵심적인 기능이 없어지는 경우도 있다. 

 

이 균형을 유지하기 위해선 어떻게 해야 할까? 이 품질은 제품 자체만을 뜻하는 것이 아니다. 예를 들어 제품 안에 있는 코드이 품질도 포함되며, 코드의 테스팅 풀, 고객 지원팀 등 모두 품질이다.

마이크로소프트는 위에서처럼 품질을 넓은 범위로 보고, 철저하게 신경 쓰는 편이다. 반면에 블리자드는 게임에 집중도가 높기 때문에 넓은 범위의 품질을 고려하진 않는다. 어찌 보면 코어에 집중하는 것이기에 마냥 나쁜 것만은 아니라고 본다.

 

넥슨 같은 경우 코드 리뷰를 가장 중요시 생각하고 있다. 코드의 품질과 자동화 시스템, 데이터 분석 역시 자주 활용한다. 수치로 정량화할 수 있는 것은 모두 찾아 사용자들을 분석 하고있다. 이미 출시된 게임들도 6개월 혹은 1년에 한 번 시스템을 개선하는 등 여러 각도로 품질 개선에 노력을 기울이는 중이다.

 

 

6. Software Design - 소프트웨어 디자인 (기획자와 아키텍트)

 

이런 품질에 대해 논의할 때는 제품이라는 각도와 기술이라는 각도​, 총 두 가지 각도로 바라보는 것이 좋다. 모든 제품에는 각각 모든 기획과 모든 기술의 총 책임자가 존재해야 한다. 기업이 만드는 제품이 점점 커지고 복잡해지면서 고려해야 하는 요소 역시 점점 많아지고 있다. 그렇기 때문에 이 둘은 무엇을, 어떻게 만들 것인가를 고민하는 가장 중요한 역할이다.

 

블리자드는 게임이 핵심이지만, 최근에는 마이크로소프트의 방식을 많이 도입하는 편이다. 그룹마다 아키텍트를 두고, 프로그램 매니저를 세우는 등 보다 체계적으로 업무 방향을 바꿔나가고 있다.

7. Career Development - 경력 개발

 

이번엔 엔지니어들의 성장에 대해 이야기해보자. 마이크로소프트의 경우, 엔지니어들에게 레벨을 부여한다. 예를 들어 소프트웨어 엔지니어가 레벨이 17이 되면 관리자가 될 수 있고, 27이 되면 디렉터가 되는 등 철저하게 관리한다. 마이크로소프트웨어처럼 구체적인 방안은 힘들더라도 초급, 중급, 고급 등 각자의 랭크를 잡아주는 것이 좋다.

 

그리고 어떤 식으로 성장해야하는지 경력 사다리를 만들어줄 필요가 있다. 마이크로소프트에서는 사람들이 자기가 승진을 원할 때, 매니저와 이야기하는 것을 권장한다. 회사에서 승진하거나 발전하는데 가장 중요한 리소스는 관리자다. 관리자가 일을 도와주는 것도 당연하지만, 직원들이 어떻게 성장할지 도와주는 것 역시 중요하다.

 

그리고 자기 스스로도 앞으로 어떻게 성장하고 싶은지 딱 한 가지 목표를 세우고 집중하는 것이 필요하다. 마이크로소프트 내에서 승진을 위해 가장 중요한 덕목은 고객에 대한 이해도다. 어떤 개발자가 훌륭하고 어떤 개발자가 잘하냐를 판단하는 것은 애매한 기준이다. 고객과 제품을 알아야 하며 자사의 사업을 잘 파악하고 있어야만 개발자로서도 업무를 잘 처리할 수 있다.

결국, 직원이 매니저와 함께 성장하기 위해선 네트워킹이 중요하다. 좋은 사람들을 알고, 함께 일을 하기 위해선 그들에게 호기심을 가져야 한다. 나에게 호기심을 가지고 오는 사람들을 잘 대해주며 호기심으로 사람을 묶는 것 역시 중요하다. 지극히 단순한 말이다. 네트워킹을 늘리고, 관심을 가지고, 서로 도와야만 올라갈 수 있다. 혼자서만 일 하면 절대 올라갈 수 없다.

 

블리자드는 사내 이동을 권장하는 문화가 자리잡혀있다. 그렇기 때문에 다양한 분야에서 강한 모습을 보여줄 수 있는 것이다. 만약 기업이 어느 정도 규모가 크다면 사내 이동을 추천한다.

 

넥슨은 각 팀 안에서 변화를 자주 주고 있다. 각 개인에게 책임과 권한을 주면서 그들 스스로 알아서 업무할 수 있도록 한다. 여기에 팀 개인마다 특정 파트의 강점을 발현시켜주도록 노력하는 편이다. 면담을 중요하게 생각해 2주나 3주에 한 번 정도 면담을 진행해 각 개인이 어떻게 성장할 수 있는지 가이드를 자주해준다.

 

 

8. Personal Renovation - 자기 계발

 

마이크로소프트에서는 가장 중요하게 생각하는 자기 계발 덕목으로 협업, 즉 커뮤니케이션을 꼽는다. 사내에 명언 하나가 있다. '결정을 내리기 전에 의논해라'. 어떤 업무든 사람들은 의외로 혼자 결정을 내리는 경우가 많다. 정말 안 좋은 습관이다. 결정을 내리고 통보하기 보다는, 의논을 하도록 해라. 내가 결정하는 것과 그 사람의 이야기를 듣고 진행하는 것을 큰 차이가 있다. 

 

커뮤니케이션이란 상대방에게 장황하게 설명하는 것도, 그 사람의 설명을 길게 들으라는 것도 아니다. 내가 내리는 결정을 그 사람과 같이 내리는 것 뿐이다. 같이 할 수 있는 능력을 키워야만 자기 계발이 일어나며 커뮤니케이션이 더욱 활발해질 수 있다. 

 

가장 중요한 것은 팀원들을 놀라지 않도록 하는 것이다. 특히 리더로 올라갈 수록 사람들을 놀라게 하면 안된다. 회사의 모든 직원은 리더가 다음에 뭘 할지 예측할 수 있어야 한다. 만약 리더가 예측 불가능하다면 누구든 그 밑에서 일할 수 없다. 

자기관리의 가장 중요한 부분은 시간관리다. 시간은 어딘가 보관할 수 없는 사라지는 자원이다. 일과 생활의 밸런스 역시 중요하다. '휴식은 일을 끝냈기 때문에 하는게 아니라 일을 끝내기 위해 하는 것이다'라는 발이 있다. 육체적인 것 뿐 아니라 정신적인 휴식 역시 밸런스를 맞춰야 한다.

 

블리자드는 직원들에게 교육을 권장하는 문화가 만들어져 있다. 그래서 현재 업무와 전혀 다른 직군의 교육을 받다가, 그 쪽 팀으로 이동하는 경우도 더러 있다. 

 

넥슨은 개인이 발전하는 문화를 중요하게 생각한다. 과거에는 코치를 채용해 자신을 어떻게 발전시킬 수 있을 것 인가에 대해 면담을 진행하기도 했다. 그 외에도 업무에 대한 구체적인 '퍼포먼스 리뷰'를 진행한다. 엔지니어의 경우 7가지 항목으로 구분해 체계적으로 개개인이 발전할 수 있도록 도와주고 있다.

 

 

9. Manager - 관리자

 

마이크로소프트는 좋은 관리자와 더 좋은 관리자를 구별한다. 그들이 말하는 좋은 관리자는 사람들이 일할 수 있는 환경을 좋게 만들어 주는 매니저를 말한다. 

 

다른 사람을 존중하는 자세로 대하는 것 역시 관리자로서 중요한 덕목 중 하나다. 한국의 경우 존댓말 문화가 있어 팀원들이 본인보다 어리면 자연스럽게 반말을 사용하는 관리자가 많다. ​ 

 

그렇다면 더 좋은 관리자는 어떤 사람일까? 바로 했던 말을 지키는 것이 더 좋은 매니저다. 앞에서 말했듯이, 관리자는 팀원들을 놀라지 않게 해야하며, 상황을 정확하게 정의해줘야 한다. 개인에 대한 기대치와 우선 순위, 한계 등 단순한 일 뿐 아니라 나머지 부분에 대해 명확하게 정리해 팀원들이 업무에 집중할 수 있게 해줘야 한다.

블리자드 같은 경우, 매니저 트레이닝을 많이 한다. 기본적으로 게임을 좋아해 업무를 시작한 사람들이 많다보니 관리에 있어서는 다소 취약하다. 한 달에 한 번씩 매니저 교육을 시키거나, 각 팀 매니저를 모아 함께 식사하며 고충을 나누는 시간도 가지도록 만든다.

 

넥슨은 전반적으로 타이트한 조직으로 매니지먼트 향상에 공을 많이 들이는 편이다. 넥슨의 관리자는 일반 직원이 7개의 항목으로 평가받는 것과 달리 9개의 항목으로 평가를 받는다. 추가된 2개의 항목은 매니지먼트 능력과 리더십이다. 유사해 보이지만 둘은 정말 다른 성격의 항목이다. 

 

매니지먼트는 사람에 포커싱을 맞춘 항목이다. 이 사람이 일을 잘하는가, 이 사람이 성장할 수 있느냐 등 개인에 맞춘 항목이 매니지먼트라면 리더십은 같이 일하면서 일을 끌어가는 능력을 말한다. 이 둘을 다 하는 사람을 매니저라고 부르나, 두 업무를 완벽하게 처리하는 매니저는 보기 힘들다.

 

  

10. Organization - 조직 개편

 

마이크로소프트는 프로젝트가 끝나면 조직을 해산 시킨 후 완전 개편을 감행한다. 큰 규모의 기업이 조직을 개편하지 않으면 물이 굳어 썩는다. 전 세계에 7만 명을 데리고 소프트 하나 만들 수 있었던 이유는 모든 직원이 내부에서 끊임없이 개선을 거쳐왔기 때문이다.

 

매니저는 조직을 바꿀 때, 주니어들이 안정을 느낄 수 있도록 해야한다. 조직이 바뀜에 있어 자신의 위치에 대해 불안함을 느끼기 때문이다. 조직 변동에 있어 중요한 것은 모든 조직원들이 변화를 긍정적으로 느껴야 한다는 점이다. 조직은 사람과 달라 변화하지 않으면 죽는다. 시장에서 버티고 생존하기 위해서는 계속해서 변화해야 한다.

블리자드는 직원들이 내부에서 자주 움직이는 편이다. 그럼에도 불구하고 더 큰 변화를 위해 마이크로소프트에서 매니저를 데려와 더욱 큰 변화를 주는 중이다.

 

넥슨의 경우, 비전을 좀 더 정확히 설비하고, 제품과 조직을 정리해 그것에 맞춰 새로운 기준을 정립하는 등​ 단순하게 조직만 생각하는게 아니라 시야를 넓히고 세세한 부분에 작은 변화를 주고 있다. 

  

조직은 천천히 자연스럽게 변화해야 한다. 최대한 바닥, 깊은 부분까지 변화를 끌어내야 하며, 변화하지 않으면 천천히 죽어가는 것이 조직이다. 할 수 있는 만큼 최대한의 변화를 거쳐야만 더욱 좋은 제품, 좋은 조직, 좋은 사람을 만들 수 있다.

이 콘텐츠에 대해 어떻게 생각하시나요?