모든 것을 다 외주 줘도 남겨야 할 품질관리 팀의 업무는 무엇인가?

2009. 3. 9. 21:14QA


자 보자.

새로 오신 실장님으로부터 팀장님이 이런 류의 질문 몇 가지를 받았다고 한다.
경영진의 물갈이 이후 실무 지휘자급의 물갈이가 이루어지면서 새로 오신 실장님이 품질관리 팀에게 몇 가지 질문거리를 던지신거란다.

그 첫 번째 질문은 제목과 같이
모든 것을 다 외주 줘도 남겨야 할 품질관리 팀의 업무는 무엇인가? 이다.
(다른 몇 가지 질문들도 충분히 흥미로운 질문이며 기회가 되면 포스팅 하도록 하겠다)

눈치채신 분들은 이미 눈치채셨겠지만, 질문 자체가 상당히 네거티브 하다.
'자, 니 목에 칼이 들어와 있는데 니가 꼭 살아야 할 이유 하나를 잘 댄다면 살려주마' 마치 이런 뉘앙스?
내 생각에, 이 질문은 다음과 같이 바꾸어야 정당하다.
 

정말 하나의 테스팅 업무를 외주에 맡겨야 한다면 어떤 일을 맡겨야 하는가?”라고.
 
개인적으로 가장 이상적인 형태의 테스트 팀은 게임 기획 단계에서부터 제품 릴리즈에 이르기까지, 전 제품 사이클에서 필요한 모든 테스트를 한 팀에서(규모가 상당하겠지만) 수행하는 것이라고 생각한다.

그러나 내부적으로 수행이 힘든 대규모의 인원이 필요한 테스트나, 다양한 환경이 필요한 피치 못한 경우에는 테스팅 외주 회사나 다른 방법을 활용하는 것도 현명한 방법이라고 생각된다.
 

그러나, 나는 이런 경우에도 그 경우를 최소화 해야 한다고 생각한다.
무조건 외주를 줘서는 안된다는 것이 아니다. 정말 필요한 경우에 여러 가지 정황을 고려해서 결정해야 한다는 이야기다.


그 이유로는 첫 째
, 외주 회사의 경우 사내의 테스터에 비해 전문성과 숙련도가 떨어질 수 있기 때문이다.
외주 테스팅 회사의 경우 다양한 제품군에 대한 다양한 테스팅 서비스를 제공하기는 하지만, 게임에 특화된 전문적인 인력을 제공하기는 힘들다. 설혹 주력 업무로 게임 테스팅 서비스를 제공하는 회사가 있다고 하더라도, 게임 기획 초기부터 하나의 타이틀만을 다뤄온 전문적인 내부 테스터에 비해 게임 컨텐츠 및 제작 프로세스에 대한 사전 교육 등을 실시해야 하므로 오히려 추가적인 비용이 더 들어갈 수도 있다
.
  

두 번째 이유는, 게임이라는 제품 특성상(사실 이 부분은 웬만한 IT 제품 모두가 해당하지만) 발생할 수 있는 보안의 문제. 개발의 핵심 기능이 포함된 유닛 레벨의 테스트, 최초의 시스템 레벨 테스트 등을 외주 회사가 수행할 경우, 만에 하나 있을지 모르는 코드의 외부 유출과 같은 문제가 발생할 수 있다. 물론 내부적으로 테스트가 수행된다고 하더라도 보안 문제가 발생할 수 있으나, 상대적으로 외부에 테스트를 맡기는 것보다 훨씬 통제가 수월하고 관리가 용이할 것이다.
 

세 번째 이유는, 원활한 테스트 수행을 위한 커뮤니케이션이 힘들다는 것이다. 테스트 업무의 중요한 축 중 하나가 개발자들과의 원활한 커뮤니케이션이다. 이러한 커뮤니케이션은 단지 발생한 문제를 다루는 기술적인 이슈 외에도 다른 많은 일들이 포함된다. 이를테면, 성공한 게임을 만들기 위한 공통의 목표를 가지고 있다는 것을 확인하는 것도 원활한 커뮤니케이션이 줄 수 있는 또 다른 장점이기도 하다. 외주 회사에 테스팅 업무를 맡기게 될 경우, 테스터의 피드백을 개발자에게 쉽게 전달하기도 힘들 뿐더러, 테스팅의 결과로 만들어지게 되는 산출물 전달 등도 용이하지 않게 된다. 누군가가 중간에서 이러한 산출물을 내부에 중개해 줘야 하며 이런 업무를 전문적으로 맡게 될 인력을 신규 채용하거나, 기존 업무에 추가해야 하는 부담도 갖게 된다.   


네 번째로
, 제품에 대한 애착심이 다를 수 있다. 외주 회사의 경우 대부분 그 목표가 일감을 의뢰한 고객을 만족시키는 것이지, 게임을 사용하게 될 사용자들을 만족시키는 것이 아니다. 사명의식을 가지고 있는 테스터라면 그 소속을 불문하고 개발자만큼이나 게임에 대한 애착이 남다르겠지만, 상대적으로 차이가 있다면 분명 내가 만든 제품을 내가 테스트 하는 쪽이 더 큰 애착심을 가지게 될 것이다. 사소한 문제 하나가 발생할 경우, 어느 쪽의 테스터가 더 적극적으로 그 문제를 규명해 나갈지는 불을 보듯 뻔한 일이다.


이런 저런 이유로
, 나는 대부분의 핵심적인 테스트를 사내의 전문적인 테스트 팀이 수행해 나가는 것이 바람직하다고 생각한다. 피치 못할 경우, 즉 수 십 혹은 수 백 명의 사람들이 필요한 대규모 PVP 혹은 PVE, 네트워크 테스트나 필요한 환경 설정에 비용이 많이 들게 되는 하드웨어  소프트웨어 호환성 테스트, 각 언어 및 현지의 실정에 정통한 인력이 필요한 로컬라이징 테스트와 같은 경우라면 전문성을 갖추고 있는 적합한 외주 테스트 회사에게 일을 맡기는 것도 좋은 방법일 것이다.

개인적으로 나도 대기업의 테스트 하청업체에서 몇 년 동안 일한 경험이 있다.
비슷한 직종을 경험해신 분들은 아시겠지만, 테스터에 대해 가지고 있는 부정적인 시각에 더해 계약서 상의 '을'이 갖게 되는 온갖 상대적인 피해와 불리한 조건들이 없었다고는 말할 수 없겠다.

그런 사람이 이렇게 외주 업체에 대해 부정적인 글을 쓰느냐고 지적하실 분도 있을 것 같다.

객관적으로 위에서 열거한 테스터의 전문성, 보안 문제, 커뮤니케이션 문제, 제품에 대한 애착심 등을 해결할 수 있는, 즉 내부 테스터들보다 더 전문적이고, 보안을 걱정할 필요가 없으며, 비록 외부에 있지만 내부 조직보다 훨씬 원활하게 커뮤니케이션을 할 수 있고, 제품에 애착심을 가질 수 있는 외부 테스팅 조직이 있다면 오히려 내가 먼저 그 조직과 일을 하자고 경영진을 설득할 것이다.

내부의 테스팅 조직이라고 하더라도 전문적이지 못하고, 보안을 소홀히 여기고, 개발 조직과 커뮤니케이션 하지 않으며 제품과 회사에 애착심이 없다면 얼마든지 외부 테스팅 조직에 의해 밀려날 수 있는 것이다.