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

2,874 views
2,733 views

Published on

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

0 Comments
16 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,874
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
83
Comments
0
Likes
16
Embeds 0
No embeds

No notes for slide
  • 애자일 게임 개발(Agile Game Development) - GDC2007

    1. 2. 민첩한 게임 개발 (Agile Game Development) 강연 : Clinton Keith , CTO High Moon Studios 번역 : 김기웅 (Kay Kim) betterways.wo.to
    2. 3. 게임 개발에 Agile Methodology 적용하기 <ul><li>High Moon 과 Agile </li></ul><ul><li>Agile 이란 무엇이며 , 왜 사용하는가 ? </li></ul><ul><li>Agile 기법들 중의 하나인 Scrum 살펴보기 </li></ul><ul><li>Agile Planning </li></ul><ul><li>Agile 사용 결과 </li></ul><ul><li>Q&A </li></ul><ul><li>이 강연은 우리의 경험에 대한 것이지 , 게임을 만드는 “정도 (the Right way)” 에 대한 것이 아님 . </li></ul>
    3. 4. High Moon 의 Agile <ul><li>작년 Darkwatch 에서 Scrum 을 사용 </li></ul><ul><ul><li>프로젝트가 정상 궤도에서 벗어나지 않도록 도움을 줌 </li></ul></ul><ul><li>최근 2 년간 신규 프로젝트들에 XP 와 Agile planning 을 적용 </li></ul>
    4. 5. Agile 이란 무엇인가 ? <ul><li>작고 반복적인 주기들 (iterations) 을 통해 제품을 개발하는 기법 </li></ul><ul><ul><li>각각의 주기들은 하나의 짧은 프로젝트와 같음 </li></ul></ul><ul><ul><li>프로젝트 계획을 실정에 맞추기 위해서 , “ 시험하고 적용하기 (inspect and adapt)” 를 반복함 </li></ul></ul>
    5. 6. 왜 Agile 을 사용하는가 ? <ul><li>이유 및 목적 : </li></ul><ul><ul><li>재작업과 철야를 줄이기 위해서 </li></ul></ul><ul><ul><li>게임의 재미를 빨리 발견하기 위해서 </li></ul></ul><ul><li>다른 산업들은 더 나은 제품을 더 빨리 개발하기 위해서 Agile 을 사용 해왔는데 , 우리도 가능할까 ? </li></ul>
    6. 7. 게임 개발을 위한 Agile 헌장 사람과 의사소통 돌아가는 게임 고객과의 협업 변화에 대한 대응 보다 보다 보다 보다 절차와 도구 기획 문서 계약과 협상 계획에 대한 맹종
    7. 8. 불확실성이 불필요한 노고를 야기시킬 수 있으며 , 그것은 우리가 사용하는 방법론에 영향을 끼친다 Source: Strategic Management and Organizational az by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. 사전 제작 (Preproduction) 제작 (Production) 단순함 복잡함 무정부 상태 혼란함 확실 불확실 기술 합의 합의에 이르지 못함 요구사항
    8. 9. 재미 (fun) 를 먼저 찾아내기 기획 E3 데모 사전 제작 제작 알파 / 베타 아직도 재미없을까 ?
    9. 10. Scrum 이란 무엇인가 ? ( 동영상 )
    10. 11. Scrum 이란 무엇인가 ? 사람 및 의사 소통 돌아가는 게임 고객과의 협업 변화에 대한 대응
    11. 12. Scrum 이란 무엇인가 ? 자율적 헌신 지향적 반복 / 주기적 계획을 맹종하지 않는 결과 지향적 관료적이지 않은 모든 것을 가시화하여 , 상식들을 적용할 수 있게 하는 것 협업 중심
    12. 13. Scrum 의 구성 팀 Scrum Master 고객 제품주 누구나 가능 . ( 팀장이 아님 ) 프로그래머 기획자 품질보증 에니메이터 아티스트 아티스트 배급사측 프로듀서 마케팅 부서 디렉터
    13. 14. Product Backlog 달성 조건과 함께 사용자 스토리 (User Story) 로 정리 달리기 웅크리기 뛰기 제품주에 의해서 우선 순위가 매겨진 Product Backlog 진행 상황을 파악할 수 있도록 사용사 스토리 포인트 (User Story Points) 를 사용하여 추정
    14. 15. Sprints ( 주기 ) 달리기 움크리기 뛰기 Sprint ( 정해진 기간 ) 게임 해당 Sprint 의 목표 Sprint Backlog 로 나누어짐 새로운 게임 ( 수직적인 부피 증가 ) 변화
    15. 16. 검토 및 계획 달리기 Crouch 게임 뛰기 검토 및 계획 날기
    16. 17. 일일 Scrum 달리기 웅크리기 뛰기 일일 Scrum 게임 날기
    17. 18. 상황실 (The War Room) 사용자 스토리 업무 (Tasks) 완료된 업무 소멸 차트 (Burndown Chart)
    18. 19. 8 16 8 월 8 화 8 16 10 0 수 0 신규 업무 4 ‘ 뛰기’ 애니메이션 4 ‘ 뛰기’ 최적화 0 ‘ 뛰기’ 입력 조절 목 업무 3 16 16 ‘ 뛰기’에 대한 사용자 스토리
    19. 20. Sprint Backlog 소멸 차트 Backlog 화된 사용자 스토리 기울기 = 진행 속도 진행 속도를 저해하는 장애물 최종적으로 0 에 도달해야 함 날짜 시간
    20. 21. Scaling Scrum – Scrum 속의 Scrums 팀들 지원 서비스 기능적인 리더쉽
    21. 22. 철야 (Crunch) 제 1 주 제 2 주 제 3 주 제 4 주 제 5 주 평상시의 속도 야근시의 속도
    22. 23. 민첩한 게임 개발 (Agile Game Development ) <ul><li>장점들 </li></ul><ul><li>고려할 사항들 </li></ul><ul><li>Agile 을 시작하기 </li></ul><ul><li>추가 정보를 얻을 수 있는 곳은 ? </li></ul>
    23. 24. Product Backlog 의 빙산 Sprint 출시 우선 순위 높음 낮음 추후 출시 가치 비용 위험 지식 우선 순위가 낮은 기능들은 제외될 수 있음
    24. 25. Agile 이 주는 이점들 <ul><li>다음 사항들이 향상됨 </li></ul><ul><ul><li>생산성 </li></ul></ul><ul><ul><ul><li>특히 팀장들에게 유리 </li></ul></ul></ul><ul><ul><li>빌드의 신뢰성 </li></ul></ul><ul><ul><li>게임의 품질 </li></ul></ul><ul><ul><li>사기 </li></ul></ul><ul><ul><ul><li>주인 정신 </li></ul></ul></ul><ul><ul><ul><li>상호 협력 </li></ul></ul></ul><ul><ul><ul><li>의사 소통 </li></ul></ul></ul><ul><li>저비용 고효율의 관리가 가능해짐 </li></ul><ul><ul><li>즉 , ‘ 무슨 일이 벌어지고 있나 ?’ 를 일일이 파악해야 하는 번거로움이 줄어듬 . </li></ul></ul><ul><li>우리가 무엇을 하고 있는가를 끊임없이 확인하고 생각하게 함 . 상식적인 판단을 촉진 . </li></ul>
    25. 26. 주의할 점들… . <ul><li>제작 (Production) 은 Agile 이 아님 . </li></ul><ul><ul><li>최소한의 콘텐트가 요구됨 . </li></ul></ul><ul><li>대규모 팀은 더 많은 리더십을 필요로 함 . </li></ul><ul><ul><li>자율성 (Self-organization) 이 발휘되기 힘듬 . </li></ul></ul><ul><li>수직적인 깊이 (Vertical slices) 를 더하는 것이 어려움 . </li></ul><ul><ul><li>예측하지 못한 ‘완료되지 않은 작업들’ ( 오류 수정 , 그래픽 소스 품질 향상 , 최적화 ) 이 누적될 수 있음 . </li></ul></ul><ul><ul><li>출시는 ‘작은 폭포수 (mini-waterfalls)’ 가 될 수 있음 . </li></ul></ul><ul><ul><li>이러한 점들이 철야 (crunch) 를 야기시킴 . </li></ul></ul>
    26. 27. Agile 을 시작하기
    27. 28. 추가 정보를 얻을 수 있는 곳은 ? <ul><li>www.agilegamedevelopment.com </li></ul><ul><ul><li>추천 도서 </li></ul></ul><ul><ul><li>메일링 리스트 – Agile 도입에 대한 정보를 공유 </li></ul></ul><ul><ul><li>블로그 – Agile 도입에 대한 난관들과 소식들 </li></ul></ul>질문 ?
    28. 29. 돌아보기 (Retrospectives) <ul><li>짧은 사후분석 (Mini postmortems) </li></ul><ul><ul><li>세 가지 질문들 </li></ul></ul><ul><li>팀 : 매 주기마다 </li></ul><ul><li>프로젝트 : 매 출시 때마다 </li></ul><ul><li>회사 : 매 분기마다 </li></ul>
    29. 30. 익스트림 프로그래밍 (XP) 기획 개발 알파 / 베타 시간 변화의 비용
    30. 31. 출시 완료

    ×