애자일 게임 개발(agile game development) - gdc2007

31

Upload: kay-kim

Post on 30-Nov-2014

4.121 views

Category:

Documents


9 download

DESCRIPTION

GDC 2007에 있었던 Agile Game Development의 슬라이드 한글 번역 http://betterways.tistory.com/9 참조

TRANSCRIPT

Page 1: 애자일 게임 개발(Agile Game Development) - GDC2007
Page 2: 애자일 게임 개발(Agile Game Development) - GDC2007

강연 : Clinton Keith, CTO High Moon Studios번역 : 김기웅(Kay Kim) betterways.wo.to

민첩한 게임 개발(Agile Game Development)

Page 3: 애자일 게임 개발(Agile Game Development) - GDC2007

게임 개발에 Agile Methodology 적용하기

• High Moon 과 Agile• Agile 이란 무엇이며 , 왜 사용하는가 ?• Agile 기법들 중의 하나인 Scrum 살펴보기• Agile Planning• Agile 사용 결과• Q&A이 강연은 우리의 경험에 대한 것이지 , 게임을

만드는 “ 정도 (the Right way)” 에 대한 것이 아님 .

Page 4: 애자일 게임 개발(Agile Game Development) - GDC2007

High Moon 의 Agile

• 작년 Darkwatch 에서 Scrum을 사용• 프로젝트가 정상 궤도에서 벗어나지

않도록 도움을 줌• 최근 2 년간 신규 프로젝트들에

XP 와 Agile planning 을 적용

Page 5: 애자일 게임 개발(Agile Game Development) - GDC2007

Agile 이란 무엇인가 ?

• 작고 반복적인 주기들 (iterations) 을 통해 제품을 개발하는 기법• 각각의 주기들은 하나의 짧은 프로젝트와

같음• 프로젝트 계획을 실정에 맞추기 위해서 , “

시험하고 적용하기 (inspect and adapt)” 를 반복함

Page 6: 애자일 게임 개발(Agile Game Development) - GDC2007

왜 Agile 을 사용하는가 ?

이유 및 목적 :o 재작업과 철야를 줄이기 위해서o 게임의 재미를 빨리 발견하기

위해서다른 산업들은 더 나은 제품을 더 빨리

개발하기 위해서 Agile 을 사용해왔는데 , 우리도 가능할까 ?

Page 7: 애자일 게임 개발(Agile Game Development) - GDC2007

사람과 의사소통

게임 개발을 위한 Agile 헌장

돌아가는 게임

고객과의 협업

변화에 대한 대응

보다

보다

보다

보다

절차와 도구

기획 문서

계약과 협상

계획에 대한 맹종

Page 8: 애자일 게임 개발(Agile Game Development) - GDC2007

단순함

복잡

무정부 상태

혼란함

확실 불확실기술

합의

합의에 이르지 못함

요구

사항

Source: Strategic Management and Organizational az by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.

불확실성이 불필요한 노고를 야기시킬 수 있으며 ,그것은 우리가 사용하는 방법론에 영향을 끼친다

사전 제작

(Preproduction)

제작 (Production)

Page 9: 애자일 게임 개발(Agile Game Development) - GDC2007

재미 (fun) 를 먼저 찾아내기

0

20

40

60

80

100

시간

발견된재미의비율

기대치폭포수

기획

E3 데모

사전 제작

제작

알파 / 베타아직도 재미없을까 ?

Page 10: 애자일 게임 개발(Agile Game Development) - GDC2007

Scrum 이란 무엇인가 ? ( 동영상 )

Page 11: 애자일 게임 개발(Agile Game Development) - GDC2007

Scrum 이란 무엇인가 ?

사람 및 의사 소통

돌아가는 게임

고객과의 협업

변화에 대한 대응

Page 12: 애자일 게임 개발(Agile Game Development) - GDC2007

Scrum 이란 무엇인가 ?

자율적

헌신 지향적

반복 / 주기적계획을 맹종하지

않는결과 지향적

관료적이지 않은

모든 것을 가시화하여 , 상식들을 적용할 수 있게 하는 것

협업 중심

Page 13: 애자일 게임 개발(Agile Game Development) - GDC2007

Scrum 의 구성

Scrum

Master

고객

제품주

누구나 가능 . ( 팀장이 아님 )

프로그래머

기획자

품질보증

에니메이터아티스트

아티스트

배급사측 프로듀서

마케팅 부서

디렉터

Page 14: 애자일 게임 개발(Agile Game Development) - GDC2007

Product Backlog

달성 조건과 함께 사용자 스토리 (User Story) 로 정리달리기

웅크리기

뛰기 제품주에 의해서 우선 순위가 매겨진 Product Backlog

진행 상황을 파악할 수 있도록 사용사 스토리 포인트 (User Story Points) 를 사용하여 추정

Page 15: 애자일 게임 개발(Agile Game Development) - GDC2007

달리기

Sprints ( 주기 )

움크리기

뛰기

Sprint

( 정해진 기간 )

게임

해당 Sprint 의 목표

Sprint Backlog 로 나누어짐

새로운 게임( 수직적인 부피 증가 )

변화

Page 16: 애자일 게임 개발(Agile Game Development) - GDC2007

달리기

Crouch

검토 및 계획

게임뛰기

검토 및 계획

날기

Page 17: 애자일 게임 개발(Agile Game Development) - GDC2007

달리기

일일 Scrum

웅크리기

뛰기

일일 Scrum

게임

날기

Page 18: 애자일 게임 개발(Agile Game Development) - GDC2007

상황실 (The War Room)

사용자 스토리 업무 (Tasks) 완료된 업무

소멸 차트 (Burndown Chart)

Page 19: 애자일 게임 개발(Agile Game Development) - GDC2007

0

10

20

30

40

50

월 화 수 Thurs

8

16

8

8

8

16

10

0

0신규 업무

4‘ 뛰기’ 애니메이션

4‘ 뛰기’ 최적화

0‘ 뛰기’ 입력 조절

목업무

3

16

16

‘ 뛰기’ 에 대한 사용자 스토리

Page 20: 애자일 게임 개발(Agile Game Development) - GDC2007

Sprint Backlog 소멸 차트

0

100

200

300

400

500

600

700

800

Backlog 화된 사용자 스토리

기울기 = 진행 속도

진행 속도를 저해하는 장애물

최종적으로 0 에 도달해야 함

날짜

시간

Page 21: 애자일 게임 개발(Agile Game Development) - GDC2007

Scaling Scrum – Scrum 속의 Scrums

팀들

지원 서비스

기능적인 리더쉽

Page 22: 애자일 게임 개발(Agile Game Development) - GDC2007

제 1 주 제 2 주 제 3 주 제 4 주 제 5 주

철야 (Crunch)

평상시의 속도

야근시의 속도

Page 23: 애자일 게임 개발(Agile Game Development) - GDC2007

민첩한 게임 개발(Agile Game Development )

• 장점들• 고려할 사항들• Agile 을 시작하기• 추가 정보를 얻을 수 있는 곳은 ?

Page 24: 애자일 게임 개발(Agile Game Development) - GDC2007

Sprint

출시

우선 순위

높음

낮음

추후 출시

가치

비용

위험

지식

Product Backlog 의 빙산

우선 순위가 낮은 기능들은 제외될 수 있음

Page 25: 애자일 게임 개발(Agile Game Development) - GDC2007

Agile 이 주는 이점들• 다음 사항들이 향상됨

• 생산성• 특히 팀장들에게 유리

• 빌드의 신뢰성• 게임의 품질• 사기

• 주인 정신• 상호 협력• 의사 소통

• 저비용 고효율의 관리가 가능해짐• 즉 , ‘ 무슨 일이 벌어지고 있나 ?’ 를 일일이 파악해야

하는 번거로움이 줄어듬 .• 우리가 무엇을 하고 있는가를 끊임없이 확인하고 생각하게 함 . 상식적인 판단을 촉진 .

Page 26: 애자일 게임 개발(Agile Game Development) - GDC2007

주의할 점들… .

• 제작 (Production) 은 Agile 이 아님 .• 최소한의 콘텐트가 요구됨 .

• 대규모 팀은 더 많은 리더십을 필요로 함 .• 자율성 (Self-organization) 이 발휘되기 힘듬 .

• 수직적인 깊이 (Vertical slices) 를 더하는 것이 어려움 .• 예측하지 못한 ‘완료되지 않은 작업들’ ( 오류 수정 ,

그래픽 소스 품질 향상 , 최적화 ) 이 누적될 수 있음 .• 출시는 ‘작은 폭포수 (mini-waterfalls)’ 가 될 수 있

음 .• 이러한 점들이 철야 (crunch) 를 야기시킴 .

Page 27: 애자일 게임 개발(Agile Game Development) - GDC2007

Agile 을 시작하기

Page 28: 애자일 게임 개발(Agile Game Development) - GDC2007

추가 정보를 얻을 수 있는 곳은 ?• www.agilegamedevelopment.com

• 추천 도서• 메일링 리스트 – Agile 도입에 대한 정보를 공유

• 블로그 – Agile 도입에 대한 난관들과 소식들

질문 ?

Page 29: 애자일 게임 개발(Agile Game Development) - GDC2007

돌아보기(Retrospectives)• 짧은 사후분석 (Mini postmortems)

• 세 가지 질문들• 팀 : 매 주기마다• 프로젝트 : 매 출시 때마다• 회사 : 매 분기마다

Page 30: 애자일 게임 개발(Agile Game Development) - GDC2007

익스트림 프로그래밍 (XP)

기획

개발

알파 / 베타

시간

변화의 비용

WaterfallXP

Page 31: 애자일 게임 개발(Agile Game Development) - GDC2007

출시 완료

-300

-200

-100

0

100

200

300

400

500

600

Sprints

Use

r S

tory

Po

ints