애자일 게임 개발이란?
Upcoming SlideShare
Loading in...5
×
 

애자일 게임 개발이란?

on

  • 6,428 views

목차: ...

목차:
1 왜 애자일 게임 개발이 필요한가?
2 애자일 게임 개발이란 무엇인가?
3 애자일 게임 개발은 기본 개발과 어떻게 다른가?
4 애자일 게임 개발 사례들
5 애자일 게임 개발을 도입하려면 어떻게 해야 하지?
6 애자일, 그래서 한 마디로 하면 뭔데?
7 참고 자료 목록

출처: http://betterways.tistory.com/277

Statistics

Views

Total Views
6,428
Views on SlideShare
5,455
Embed Views
973

Actions

Likes
13
Downloads
104
Comments
0

15 Embeds 973

http://betterways.tistory.com 839
http://blog.kaykim.org 62
http://www.facebook.com 23
http://www.hanrss.com 15
http://feeds.feedburner.com 9
http://www.slideshare.net 9
http://cafe.naver.com 3
https://www.facebook.com 3
http://feeds2.feedburner.com 2
http://plus.url.google.com 2
http://www.slideee.com 2
http://www.health.medicbd.com 1
http://whatthehell.pe.kr 1
http://59.10.108.198 1
http://mail2.daum.net 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

애자일 게임 개발이란? 애자일 게임 개발이란? Presentation Transcript

  • 애자일 게임 개발이란 ? 김기웅 , Ntreev Soft betterways.tistory.com [email_address]
  • 청중의 구성을 확인해 BoA 요 !
    • 개발
      • Programmer
      • Producer & Project Manager
      • Game Designer & Director
      • Artist
    • 경영
      • Product Manager/Marketer
    • 교육기관
      • 교사
      • 학생
    • 현재 애자일을 적용중이다 .
    • 애자일의 도입을 검토하고 있다 .
    • 애자일에 대해서 들어본 적이 있다 .
    • 뭔지 모르겠다 .
  • 들어가며 한 번 생각해봅시다
  • 변화에 상관하지 않고 만든다면 ?
    • 맥도널드
    • 제이미는 요리사
  • 피드백이 느리다면 ? 정확도가 높아도 ,
  • 피드백의 간격을 줄이면 ?
    • 미스터 초밥왕의 새로운 요리 만들기
    • 혹은 어머니의 간 맞추기
  • 어떤 방식으로 해볼까요 ?
    • 60 분 강연 + 30 분 질문 / 답변 / 토론
    • 혹은
    • (5 분 토론 / 질문 + 10 분 강연 / 답변 )*6
  • 목차
    • 반복되는 문제 , 일정 지연
    • 애자일 게임 개발이 도대체 뭐야 ?
    • 애자일 게임 개발은 뭐가 다른데 ?
    • 애자일 , 정말 효과 있는 거 맞아 ?
    • 그래서 애자일을 도입하려면 어떻게 해야 하지 ?
    • 애자일 , 그래서 한 마디로 하면 뭔데 ?
    • 자세한 걸 알고 싶으면 뭘 찾아봐야 하지 ?
    • 질문 / 답변
  • 주의할 점
    • 애자일 게임 개발은 ‘끝내주는 게임을 만드는 비결’이 아니다 .
      • ‘ 프로젝트의 위험을 감소시키는 방법론’에 지나지 않는다 .
    • 애자일 게임 개발은 만병통치약 (a silver bullet) 이 아니다 .
      • 어디에나 적용 가능한 최적의 방법론이란 존재하지 않으며 , 프로젝트와 팀에 따라 달라진다 .
    • 본 발표문은 다음 사람들의 자료를 토대로 하였다 :
      • Clinton Keith, CTO, High Moon Studios
      • Noel Llopis, Co-founder, Power of Two Games
      • Mike Cohn, CEO, Mountain Goat Software
  • 오늘의 주제는 ?
    • “ 애자일 소프트웨어 개발을
    • ( 온라인 ) 게임 개발에
    • 응용하기”
  • 왜 ?
    • 애자일은 기존 방법론들에 대한 좋은 대안 :
    • 온라인 게임은 영원한 베타가 되었다
      • 10 년째 서비스중인 Lineage 1
    • 게이머들은 신속하고 끊임없는 개선을 원한다 .
      • “ 우리는 어떤 게임이든 성공시킬 자신이 있다 . 최대한 빨리 게임을 공개해서 , 사용자들의 요구를 수용하며 개발하는 방법을 우리는 알고 있기 때문이다 .
      • 김남용 (T3 개발이사 ), Audition 의 성공요인에 대해 언급하며
  • 왜 ?
    • 애자일은 기존 방법론들에 대한 좋은 대안 :
    • 개발자와 게이머 사이의 깊은 격차가 존재한다 .
      • “ 이런 게 팔려요 ? 거참 , 이상하네 .”
        • N 社의 개발이사 , 자신이 반대했던 부분 유료화 아이템이 첫 달에 6 천만 원의 매출을 올렸다는 소리를 듣고
      • “ 우리는 기획하면 안되겠다 .”
        • 또 다른 N 社 프로그래머들 , 자신들이 성공할 거라고 점찍은 타사의 게임들이 모조리 실패하자
  • 왜 ?
    • 애자일은 기존 방법론들에 대한 좋은 대안 :
    • 개발자들의 ‘삶의 질’에 대한 요구가 높아졌다
      • 더 이상 혈기 넘치는 20 대가 아니다 .
        • “ 매년 그렇지만 어우 이거 이래 힘들어서 4-50 까정 이 일 하것나 .” – B 社의 디렉터
      • 우리도 남편 ( 혹은 아내 ), 그리고 부모가 되어가고 있다 .
      • 게임 개발사이기 이전에 직장이다 .
      • 보다 나은 게임 개발을 위해서는 게임을 모르는 , 심지어 싫어하는 전문가들도 필요하다 .
  • 왜 ?
    • 애자일은 기존 방법론들에 대한 좋은 대안 :
    • 개발비가 급증하고 있다 .
      • 상용화 직전까지 순수 개발비 약 30 억 소요 .
      • 우리 게임이 재미없다는 사실을 알기 위해서 수십억의 돈을 써야 하는가 ?
  • 제 1 장 반복되는 문제 : 일정 지연
  • 우리가 두려워 하는 것은 ? 일정이 지연되었다 ( 이런 , 방학을 놓쳤잖아 . )
  • 개발이 지연되는 이유
    • 나의 추정 :
    • 혹시 개발자들이 게을러서 그런 건 아닐까 ?
    • 아니면 개발자들이 무능력한 걸까 ?
    • 그것도 아니면 " 개발자 " 란 족속은 원래 그렇게 태어난 걸까 ?
    • 그럼 도대체 뭐냔 말인가 ?
  • 개발이 지연되는 이유
    • 진실 :
    • 기술이 너무 빨리 발전한다 .
      • “ 그렇지 .”
    • 개발자들은 언제나 최선을 다하고 싶어한다 .
      • “ 당연하지 .”
    • 사장 ( 혹은 PD 나 배급사 ) 가 마음을 자주 바꾼다 .
      • “ 아 , ㅆ ㅂ”
    • 뭔가 해결 방안이 없을까 ?
  • 제 2 장 애자일 게임 개발이 도대체 뭐야 ?
  • 애자일 게임 개발이란 ?
    • 짧고 반복적인 주기들 (iterations) 을 통해 게임을 개발하는 방법
      • 각각의 주기들은 하나의 짧은 프로젝트와 같음
      • 프로젝트 계획을 실정에 맞추기 위해서 , “ 시험하고 적용하기 (inspect and adapt)” 를 반복함
  • 어떻게 가능할까 ?
    • “ 피드백을…
      • 좀더 일찍 ,
      • 좀더 자주 ,
      • 좀더 많이 ,
      • 좀더 지속적으로
    • 주고받는다 .”
  • 어떻게 가능할까 ?
    • 신속한 피드백 .
    • 사후 분석 (Postmortem) 을 기다리지 않고 , 다양한 수준에서 즉각적인 피드백을 받는다 .
    • 단위 검사 ( 수회 / 1 분 )
    • 지속적인 통합과 기능 검사 ( 수회 /1 시간 )
    • 작업 상황 파악 및 일일 회의 (1 회 /1 일 )
    • 길이가 고정된 주기 ( 1 주기 / 몇주 )
  • 안정적인 속도 시간 업무 강도 ( 혹은 변화의 비용 ) 폭포수 애자일 계획 구현 Alpha Beta 출시 주기
  • 애자일 게임 개발 헌장 사람과 의사소통 돌아가는 게임 고객과의 협업 변화에 대한 대응 보다 보다 보다 보다 프로세스와 도구 기획 문서 계약과 협상 계획에 대한 맹종
  • 애자일 게임 개발 헌장
    • 사람과 상호 소통
    • 돌아가는 게임
    • 고객과의 협력
    • 변화에 대한 대응
    • 일정 지연
    • 프로젝트 취소
    • 재미없는 게임
    • 기술적인 난관
    • 시장 변화
    • 팀원의 이탈
    특징 개발상의 문제들
  • 제 3 장 애자일 게임 개발은 뭐가 다른데 ?
  • 무엇이 다를까 ?
    • 전통적인 방법론 : “ 앞으로 어떤 일이 있을지 모르기 때문에 , 가능한 모든 것을 조사하고 , 모든 경우에 대비해 계획을 세워야만 한다 .”
    • 애자일 : “ 우리는 바로 앞에 있는 것에만 집중할 것이며 , 지금까지 배운 것을 바탕으로 진행하면서 계속적으로 결정을 내릴 것이다 . ”
  • 명시적인 프로세스 명시적인 프로세스
      • 전제 :
        • 작업자는 모든 작업 (task) 을 완전히 이해한다 .
        • 사전에 규정된 (defined) 입력이 주어지면 , 매번 같은 결과가 산출된다 .
      • 과연 실제로 그럴까 ?
  • 애자일 프로세스 프로세스 (Process) 통제 (Control)
    • 잠재적으로 배포 가능한 제품의 증가분
    출력
    • 요구사항
    • 기술
    • 개발팀
    입력
  • 서비스로서의 게임 (Game as a Service) 서비스 혜택 만족 사용자 중심 보다 보다 보다 보다 제품 기능 품질 개발자 중심
  • 제 4 장 애자일 , 정말 효과 있는 거 맞아 ?
  • 애자일을 적용한 게임들
    • 국내
    • Huxley, Webzen
    • Lineage 2, NC Soft
    • Aeronauts, JCE
    • Red Blood Online, GB
    • Cyclone, SK imedia
    • Project X, Maiet
    • 쿵야 어드벤쳐 , CJIG
    • 그 외 N, T, W 社
    • 국외
    • Darkwatch & Bourne Conspiracy, High Moon Studios
    • Gears of War , Epic Games
    • Rage, id Software
    • Unreal 3 Engine, Epic Games
    • 그 외에도 다수
  • 애자일 체험자들의 증언 : 미공개작 , T 사
    • 적용 ( 제 1 주차 )
      • “ 긍정적인 방향으로 가는지에 대해서도 아직은 판단이 서지 않는다 .
      • 다만 이전보다는 의사소통이 활발해지고 팀원들간의 협업이 눈에 띄게 많아졌다 .”
        • 전석환 , 프로젝트 관리자
  • 애자일 체험자들의 증언 : Huxley, Wenzen
    • 적용 전 (Preproduction 후 , 1 년째 )
      • “ 개발팀은 항상 바빴으나 , 정작 Live 에 포함될 기능은 채워지질 않고 있었다 . 항상 우리는 테스트 중이었고 , 쓰레기 더미 위로 버려진 자원들은 쌓여만 갔다 .”
      • 정성영 , QA Manager
  • 애자일 체험자들의 증언 : Huxley, Wenzen
    • 적용 후 ( 약 5 개월째 )
      • “ 기존의 일일 빌드를 강화함과 동시에 2 주 단위로 스프린트를 가동했다 . 그리고 4 번의 스프린트를 묶어 마일스톤을 완성했다 .
      • 이로써 매일 실행이 가능한 빌드를 생산 , 2 달마다 외부로 릴리즈가 가능한 마일스톤 빌드가 생산되었다 .”
  • 애자일 체험자들의 증언 : Cyclone, SK imedia
    • 적용 (9 개월째 )
      • 모두의 동의하에 도입 . 현재 사용자 스토리 , TDD, 빌드 자동화 등의 방법을 사용중 .
      • " 초기에 사용자 스토리와 TDD 를 내부 개발 도구 개발에 적용하여 보았고 , 기획문서 감소 , 커뮤니케이션 오류 감소 , 버그 감소 , 재미있게 개발하기 (?), 생산성 향상들의 긍정적인 효과를 보았습니다 .“
        • 임영기 , 서버 프로그래머
      • 계속 새로운 프랙티스들을 시행할 예정 .
  • 제 5 장 그래서 애자일을 도입하려면 어떻게 해야 하지 ?
  • 애자일 게임 개발 시작하기
    • 작게 시작하라 .
    • 챔피언을 선발하라 .
    • ( 처음에는 ) 교과서 대로 실천하라 .
    • 고객과 목표를 선정하라 .
    • ( 가능하다면 ) 지도해줄 사람을 찾아라 .
    • 고객을 적극적으로 개입시켜라 .
      • 마케팅 ( 혹은 영업 ) 부서
      • 경영진
      • 배급사
  • 애자일 게임 개발 시작하기 : 새로운 프로젝트
    • 함께 ‘초기 제품 백로그’를 만든다 .
    • 최초의 스프린트 목표 :
      • “ 선택한 기술을 기반으로 , 사용자가 원하는 기능의 핵심을 선보일 것 .”
    • 개발팀은 스프린트를 시작한다 . (2~4 주 )
      • 일일 스크럼 회의
      • 테스트 주도 개발
    • 그 동안 제품 소유주와 고객은 제품 백로그를 만들어낸다 .
  • 애자일 게임 개발 시작하기 : 기존 프로젝트
    • 일일 스크럼 회의를 소집한다 .
    • 장애물들을 파악하여 제품 백로그로 만든다 .
    • 팀으로 하여금 제품 백로그 중 해당 스프린트에서 할 수 있는 것들만을 골라내게 하여 스프린트 백로그를 만들게 한다 .
      • 제품 백로그 중 해당 스프린트에서 할 수 있는 것들만을 고른다 .
    • 가장 큰 난관 :
      • 팀원들이 자신들의 능력을 믿고 ,
      • 고객이 팀을 신뢰하게 하는 것 .
  • 애자일 게임 개발 시작하기 : 아무도 동조해주지 않을 때
    • 할 수 있는 것부터 시작하라 .
      • 프로그래머 : 단위 검사
      • 기획자 : 사용자 스토리
      • 프로듀서 : 일일 스크럼 회의
    • 관련 모임 / 행사에 꾸준히 참석하라 .
      • Agile Korea
      • Xper.org
      • P-camp
    • 동료들에게 모범을 보여라 .
      • ‘ 이름 없이 실행하기 ’ by 아샬
    • 믿음을 가져라 . (Have a little faith!)
  • 주의할 점들… .
    • 프로세스의 변화 이전에 , 개인들의 Mind 변화 , 나아가 조직의 변화가 필요하다 .
      • 프로세스가 아니라 사람의 문제가 아닌지 살펴라 .
      • “ 모든 프로젝트에는 세 가지 문제들이 있다 : 사람 , 사람 그리고 사람 .” – Gerald Weinberg
    • 게임 개발에는 프로그래머 외에도 기획자 , 아티스트가 모두 필요하다 .
      • Agile Software Development 는 프로그래머들을 중심으로 기술되어 있다 .
  • 주의할 점들… .
    • 그래픽 소스와 맵 찍어내기 (Art/Level Production) 는 Agile 이 아니다 .
      • 최소한의 컨텐츠가 요구됨 .
    • 대규모 팀은 더 많은 리더십을 필요로 한다 .
      • 자기 조직화 (Self-organization) 가 발휘되기 힘듬 .
  • 제 6 장 애자일 , 그래서 한 마디로 하면 뭔데 ?
  • 세 가지 핵심 단어
    • 시험과 적용
    • (Inspect and Adapt)
  • 애자일이란 무게 중심의 변화이다 적응 (Adaptation) 예측 (Anticipation) 애자일
    • 이것은 자동차 여행을 계획하는 것과 같다 .
  • 한 마디로 하면 ?
    • “ 피드백을…
      • 좀더 일찍 ,
      • 좀더 자주 ,
      • 좀더 많이 ,
      • 좀더 지속적으로
    • 주고받자 .”
  • 제 7 장 자세한 걸 알고 싶으면 뭘 찾아봐야 하지 ?
  • 참고 자료 : Agile
    • 필독
    • 애자일 프랙티스 , Andy Hunt 외 , 신승환 역
    • 권장
    • 린 소프트웨어 개발 , Mary Poppendieck 외 , 김정민외 역
    • 린 소프트웨어 개발의 적용 , Mary Poppendieck 외 , 엄위상외 역
    • Agile 소프트웨어 개발 ( 제 1 판 ) , Alistair Cockburn, 이오커뮤니케이션 역
    • 소프트웨어개발의 지혜 , Robert C. Martin, 이용원 역
    • 웹사이트
    • There Must Be Better Ways( http://betterways.wo.to )
    • Birdkr’s Home( http://mypage.sarang.net )
    • 애자일 이야기 ( http://agile.egloos.com )
    • Agile Game Development ( http://www.agilegamedevelopment.com )
  • 참고 자료 : XP
    • 필독
    • 익스트림 프로그래밍 , Kent Beck, 김창준외 역
    • 테스트 주도 개발 , Kent Beck, 강규영외 역
    • Refactoring , Martin Fowler, 윤성준 역
    • 권장
    • 실용주의 프로그래머를 위한 프로젝트 자동화
    • Questioning Extreme Programming , Pete McBreen
    • 웹사이트
    • 박피디의 게임 아키텍트 블로그 ( http://parkpd.egloos.com )
    • Xper.org( http://www.xper.org )
    • Games from within( http://www.gamesfromwithin.com )
    • Extreme Programming: A Gentle Introduction ( http://www.extremeprogramming.org )
    • Extreme Programming Resources ( http://www.xprogramming.com )
  • 참고 자료 : 스크럼
    • 필독
    • Agile Software Development with Scrum , Ken Schwaber
    • 사용자 스토리 , Mike Cohn, 심우곤외 역
    • Agile Estimating and Planning , Mike Cohn
    • 권장
    • Agile and Iterative Development , Craig Larman
    • Agile Project Management with Scrum , Ken Schwaber
    • Agile Project Management , Jim Highsmith
    • 소프트웨어 프로젝트에서의 리스크 관리 , Tom DeMarco, 김준식
    • 웹사이트
    • Control Chaos( http://www.controlchaos.com ).
    • Mountain Goat Software ( http:// www.mountaingoatsoftware.com/scrum/index.php ).
  • 참고 자료 : 도구
    • 필수적인 것
    • 정보 방열기 : Whiteboard, Post-it, Post-it Easel Pad
    • 형상관리 : Subversion , Trac , CVS , ClearCase
    • 단위검사 : UnitTest++ , nUnit
    • 자동구축 : CruiseControl.net , nAnt
    • 필요한 것
    • 오류 추적 : Trac , Mantis Bug Tracker
    • 문서화 : Trac , Twiki , SocialText , Google Docs , MediaWiki , SpringNote
  • 참고 자료 : 도구
    • 권장하는 것
    • 프로젝트 관리 : Google Calendar , Xplanner , VersionOne , Rally , ScrumWorks , ExtremePlanner
    • 기능검사 자동화 : FitNess , FIT , WinRunner , Robot , SilkTest
    • Refactoring: Resharper
    • 짝 프로그래밍 : TightVNC
    • 원격 회의 : Skype
    • 참고
    • Agile Tools( http://www.xpsd.org/cgi-bin/wiki?AgileTools )
    • Forrester’s October 12, 2004, Trends “Agile Development Teams Need Tools, Too”
  • 질문 ?
    • 나중에 질문이 있으시면 다음의 연락처로 연락주십시요 :
      • [email_address]
      • http://betterways.tistory.com