(Case Study) 게임 개발 도구로 활용한 Zynga

zynga-logo-cmyk_TM.jpg
설립: 2007년
본사: 캘리포니아주 샌프란시스코
산업: 게임 개발
초점: 소셜 게임(Facebook, MySpace)
직원 : 750명 이상
사용 도구: JIRA, GreenHopper, FishEye, 곧 Crucible 도입 예정

샌프란시스코의 Game Developer Conference 2010에 참석하여 인터뷰에 관심을 보일만한 대상을 찾기 위해 600명에 달하는 게임 개발 고객에게 연락을 취했습니다. 우리는 Zynga가 Atlassian 도구 사용자라는 사실을 알고 기뻤습니다. 우리는 Zynga가 우리의 사례 연구에 기꺼이 참여하려 하고 우리 샌프란시스코 사무실에서 걸어서 닿는 거리에 회사가 있다는 사실을 알고서는 더더욱 기뻤습니다!
2007년에 설립된 Zynga는 소셜 게임 분야에서 가장 성공적인 게임 개발 회사 중 하나입니다. 2009년 12월에 1억 8천만 달러의 매출을 올린 Zynga는 진지한 투자자와 벤처 투자자의 관심을 끄는 혁신적인 비즈니스 모델을 확실하게 개발했습니다. Facebook, MySpace, iPhone에서 이 회사의 엄청나게 인기 있는 게임을 볼 수 있습니다. Inside Facebook 블로그에 따르면 2010년 2월에 Zygna가 FarmVille, Cafe World, Texas Holdem Poker, Mafia Wars, FishVille, Petville을 포함하여 Facebook에서 가장 인기있는 10개 게임 중에 6개를 차지했다고 합니다. 이 6개 게임은 다 합쳐서 누적 사용자 수가 총 209,490,021명을 넘었습니다!
Zynga의 QA 관리자인 Micah Figone은 친절하게도 Atlassian의 버그 추적애자일 프로젝트 관리Perforce 통합동료 코드 검토 도구를 사용하는 방법에 대해 논의하고자 1시간 동안 자리를 함께 했습니다. 또한 전반적인 게임 개발에 대해서도 대화를 나누었습니다. Micah는 Zynga에서 "어떤 형태로든 알고 있든 모르든 모든 사람이" Atlassian 도구를 사용하여 널리 인기 있는 게임을 만들고 있다고 합니다.



인터뷰

자기 소개와 사무실 위치를 말씀해 주시겠습니까?

저는 Micah Figone이고요 샌프란시스코의 Zynga QA 관리자입니다. 느낌으로는 Zynga에서 평생 일한 것 같은데 실제로는 근무한 지 1년 6개월 정도 되었습니다. 저는 전체 회사를 담당하는 QA 부서에 있습니다. 제가 속한 QA 팀은 자동화에서 일반 블랙 박스 테스터, 보안 테스터까지 다양한 기능을 수행하고 있습니다.

어떤 프로그래밍 언어로 개발하십니까?

Mafia Wars와 Vampire 같은 게임은 모두 PHP 기반입니다. 그리고 FarmVille, Cafe, YoVille, Poker 같은 게임은 모두 Flash 기반입니다. 이 두 가지 언어로 모두 작업합니다. PHP와 Flash로요.

Atlassian 도구로는 어떤 게임을 개발하십니까?

전부 다입니다. 사용자가 플레이 가능한 모든 게임이 Atlassian 도구와 상호 작용합니다.

Atlassian 도구

현재 어떤 Atlassian 도구를 사용하며 어떻게 Zynga에서 사용하게 되었습니까?

현재 JIRA와 JIRA Agile (GreenHopper), FishEye를 사용하고 있고 곧 Crucible을 도입할 계획입니다. 웹 기반 코드 검토 도구가 워낙 훌륭해서 '옆으로 좀 비켜봐. 같이 좀 봐야겠다'라고 말할 필요가 없습니다. 모두가 검토할 수 있어서 책상 주변에 20명이 혼잡하게 모일 필요가 없습니다. 얼마나 좋습니까 이런 것. 우리는 Confluence도 평가하고 있습니다.
1년 반 전에 여기 입사했을 때 회사에서는 다른 버그 데이터베이스도 사용 중이었어요. 저는 즉시 모든 사람을 JIRA로 마이그레이션했습니다. 다른 제품 같은 경우는 이미 사용 중이었습니다. 많이 사용되지는 않고 있었는데 JIRA 및 FishEye와 통합함으로써 정보를 표면화하고 '개발자, 여길 봐봐. 커밋한 거 확인할 수 있어. 문제 번호를 넣으면 자동 연결된다'라고 말할 수 있게 되었습니다.

그러니까 여기의 최고 JIRA 전문가이신 셈이군요?

그렇죠! 다른 회사에서 사용한 적이 있었고 다른 제품도 사용해 봤지만 저에겐 JIRA가 가장 쉽고 사용자 친화적이며 직관적인 인터페이스를 가지고 있습니다. 우리는 JIRA 4.0으로 업그레이드할 예정이고 부울 검색 기능도 사용할 겁니다. 고급 검색 기능은 중요합니다. 모든 개발 팀에는 자체 프로젝트가 있습니다. 어떤 개발 팀은 프로젝트를 여러 개 진행합니다.

회사에서 저희 회사 제품을 사용하는 사람이  명이나   같습니까?

어떤 형태로든 알고 있든 모르든 간에 모든 사람이 사용하고 있습니다. IT 요청, 신규 채용, 공유 서비스 조직의 시설 요청 양식에서 네트워크 운영 팀, QA, 개발 팀을 막론하고 모두입니다.

JIRA Agile (GreenHopper) 사용 현황에 대해서도 알려주시겠습니까?

일부는 다른 사람에 비해 JIRA Agile (GreenHopper)을 더 많이 사용합니다. 어떤 사람은 작업 관리용으로 사용합니다. JIRA Agile (GreenHopper)는 클릭만 하면 되는 직관적인 인터페이스가 제공되어서 아주 좋습니다. 'Drag, Drag, Drag' 작업인데 훨씬 빠릅니다.

사전 제작 단계와 제작 단계에서 Atlassian 제품을 어떻게 사용하십니까?

사내에서 모두 합니다. 사전 제작 게임 부분은 분명히 도구 밖에서도 진행될 수 있습니다. 하지만 게임이 점점 더 복잡해짐에 따라 excel 시트를 사용해서 JIRA로 가져옵니다. 그때부터 모두가 JIRA를 사용합니다. 사전 제작은 여기서는 아주 짧기 때문에 재미있는 작업입니다.

모든 팀이 같은 템포로 반복 작업하십니까?

그건 다 다릅니다. 특정한 사용자 집단에 신기능을 제공하고서는 진행해 가면서 해당 기능을 반복합니다.

시간 추적에 대한 의견은 어떻습니까?

시간 추적은 다양한 작업에 사용할 수 있기 때문에 사람들에게 사용하게 만들려고 하고 있습니다. 개발 팀에게 시간 추적이 얼마나 도움이 되는지 보여주고 있어요. 하지만 우리는 아주 빠르게 움직이기 때문에 상관이 좀 없기도 합니다. 어떤 게임 팀에서는 시도를 해보고 있고, 어떤 팀은 계속 고수하고 있고, 어떤 팀은 속도가 더 늦어진다고 생각합니다. 저는 번다운 차트가 맘에 들어서 '이게 예상치야'라고 말하는 게 좋은데 이건 큰 규모의 중요 시점에만 경우에만 효과적입니다. 보다 관여할 부분이 많은 대규모 기능에 좋습니다. 그런 수준의 프로젝트 계획이 아주 중요합니다.

사람들이 예상치 못한 방식으로도 제품을 사용합니까?

제가 예상하지 못한 건 방식이 아니라 사용자 지정입니다. 저는 때때로 이렇게 묻습니다. '왜 그렇게 하나요?' QA로서 저는 모든 게 중앙으로 집중되는 것이 좋습니다. 때때로 사람들은 다른 워크플로를 원하고 버그를 다르게 마감하길 바랍니다. 그러면 저는 이렇게 말하죠. '좋습니다. 그렇게 하세요.'

제품을 어떤 식으로든 사용자 지정하셨나요? (화면/필드/워크플로)

모든 게임이 같은 화면을 사용합니다. 제 필드 구성 화면을 보면 그 수가 얼마나 많은지 알게 되실 겁니다. 어떤 팀은 다른 작업을 다른 필드에서 하기를 원합니다. 워크플로도 마찬가지입니다. 한 기능의 다른 문제 유형에 대해 다른 워크플로가 적용되겠죠. 다른 필드 집합이 필요할 겁니다.

Atlassian 도구 사용을 고려하는 다른 게임 개발 작업장에 하실 말씀이 있습니까?

꼭 사용하세요! 저는 다른 제품도 최종적으로 학습을 모두 끝내면 아주 강력한 도구가 될 거라고 생각은 합니다. 하지만 JIRA는 탁월합니다. 그 이유는 1) 배우는 데 시간이 오래 걸리지 않고, 2) 다른 제품만큼의 성능을 제공하지만 학습 곡선이 없으며, 3) 검색이 아주 용이하기 때문입니다. 유사 항목 검색, 상대 검색 기능, 부울 연산 기능. 이런 것들 다 금방 배웁니다.

게임 개발

팀에서는 어떤 소프트웨어 개발 방법을 사용하십니까? (스크럼, XP, 폭포수)

대부분의 경우에 애자일 방법을 이리저리 가져다 씁니다. 확실히 하이브리드로 사용하죠. 책에 쓰인 그대로 애자일을 사용할 수 있는 사람은 없을 겁니다. 팀에 맞는 부분을 차용해서 쓰면 됩니다. 하지만 팀들 사이에서도 각자의 방식대로 애자일을 사용합니다. 어떤 팀은 더 많이 사용하고 어떤 팀은 더 적게 사용합니다. 다양한 팀에서 JIRA Agile (GreenHopper)를 사용하고 있지만 일부는 그렇지 않거든요.

그런 방법의 강점과 약점은 무엇입니까?

단점에 대한 제 의견을 말씀 드릴게요. 저는 애자일에서 필요한 것을 취하는 것과 관련해서 약점이 있는지를 모르겠습니다. 개발 속도가 빠른 사람들에게 너무 좋고 유연성에 있어서도 뛰어나다는 사실을 감안하면 장점이 많습니다. 원하는 대로 대응할 수가 있습니다. 폭포수를 사용하려면 미리 계획을 다 짜놔야 합니다. 만약 변경 사항이 발생하면 어떻게 될까요? 그땐 설계 문서나 관련된 모든 것을 변경해야 합니다. 저는 QA라서 설계 문서를 확실하게 하고 진행해야 한다고 믿는 사람이지만 어떤 때는 먼저 일을 신속히 진행한 다음 나중에 업데이트해야 할 때도 있습니다. 그래서 유연성을 분명히 확인할 수 있다는 점이 이 도구의 주된 장점이라고 봅니다.

소프트웨어 개발 도구가 게임 개발에서 얼마나 중요하다고 보십니까?

완전 중요하죠. 저는 사람들의 삶을 편리하게 만들어주는 도구를 정말 좋아합니다. 이런 도구를 통해 정보를 표면화하고 보고서를 자동화하고 대시보드를 제공해 사람들이 원할 때마다 그때그때 통계를 찾고 확인할 수 있습니다. 큰 TV 화면에 이런 정보를 올려서 자동으로 새로 고치고 지나다니면서 자기 통계를 지켜볼 수 있게 합니다. 진행 과정을 스스로 확인할 수 있도록 말입니다.

게임 업계에서 소프트웨어 개발은 어떻게 바뀌고 있습니까?

Zynga는 이 분야에서 선두에 있습니다. 일반적으로 게임 개발 주기는 새 패치를 릴리스하는 데 몇 개월이 걸립니다. 우리는 사용자가 지적하는 것을 변경하고 그들이 말하는 내용을 적용하며 실제 환경에서 테스트해보고 피드백을 받는 방법을 취합니다. 그게 제가 확실히 느끼는 게임 개발 방향입니다.

게임 개발 공간에서의 혁신 추진에 대해 의견을 주시겠습니까?

저는 소셜 네트워킹 게임 공간이 한 마디로 새로운 산업이라고 생각합니다. 우리는 남들과 다른 규칙에 따라 운영합니다. 대규모 게임 스튜디오에서 이런 규칙이 가진 힘을 깨닫는 것은 시간 문제라고 생각합니다. 저는 여기서 일하기 전에 MMO 분야에서 일했습니다. 그래서 긴 개발 주기에 익숙합니다. 처음 여기 왔을 때 '너무 빠르게 추진하는데 이렇게 지속이 가능한가?'라는 의문이 들었습니다. 이것은 전적으로 지속 가능하면서도 아주 강력합니다. 사용자와의 실질적인 상호 작용에 도움이 되며 다른 회사들도 이렇게 할 수 있습니다. MMO에서는 신속히 개발할 수 없습니다. 지금의 사용자는 더 많은 것을 원하고 의사 표현을 하고 싶어 합니다. 우리가 쉽게 조정할 수 있는 부분이 있습니다. 새 기능을 테스트할 때 모두가 성공하지는 못합니다.

여기 문화가 전통적인 게임 회사와 다릅니까특히 릴리스 날짜와 관련해서 어떻습니까?

릴리스 날짜와 관련해서는 스트레스를 많지 받지 않지만 릴리스되는 기능과 관련해서 스트레스를 더 많이 받습니다. 우선 순위가 높은 항목이 있으면 '으악, 이건 지금 당장 해야 돼!' 하는 상황이 분명히 생깁니다. 릴리스 날짜가 2주 남았으면 그 2주 동안 스트레스를 받는 거죠.

Zynga QA Micah Figone PR Lisa Chan에게 인터뷰에 응해주셔서 감사하다는 말씀을 드립니다!

댓글

이 블로그의 인기 게시물

Confluence 내의 스프레드 시트 기능이 필요하시다면 애드온을 활용해 보십시요

시스템에 숨어있는 "윤초" 버그에 대해 준비하십시요

Confluence 페이지의 분류와 관련된 잘 몰랐던 기능 3가지를 확인해 보십시요