오는 KGDS 2007에서 "애자일 게임 개발 3부작: 개념에서 실천까지"라는 주제로, 남기룡 님(Maiet Entertainment), 박일 님(NC Soft)과 함께 강연을 하게 되었습니다.



애자일 게임 개발 3부작: 개념에서 실천까지


일정:
  1. 애자일 게임 개발이란 무엇인가?, 김기웅, 강연 30분 + 질문 10분
  2. 사례를 중심으로 알아보는 SCRUM & XP, 남기룡, 강연 30분 + 질문 10분
  3. 중간 휴식, 10분
  4. 테스트 주도 개발(TDD): 사례와 시연을 중심으로, 박일, 강연 30분 + 질문 10분
(위의 시간은 예상이며, 강연의 정확한 일시는 KGDA에서 통보될 예정입니다.)


강연 내용:
  • 애자일 게임 개발이란 무엇인가?
  • 그것을 도입하기 위해서는 어떻게 해야 하는가?
  • 실제 현장에 도입했을 때, 어떤 효과가 있었고, 풀어야할 숙제는 무엇인가?
  • 그래서 개인의 실제 업무에서는 어떻게 해야 하나? (시연에서는 실제 XP의 Practice들 중 하나인 TDD를 다룸.)


강연 대상:
  • 애자일에 관심이 있으나, 정확히 무엇인지 잘 모르는 사람.
  • 1개 타이틀 이상의 개발 경험을 가진 사람.
  • (애자일에 대해서 경험이 풍부하신 분은 참석하셔서, 질문/답변 시간이나, 토의에서 활약해주시면 감사하겠습니다!!!)


추가 정보:
  • 이 강연은 기존 자료들을 종합, 편집한 것으로 애자일 게임 개발에 대해서 알고 있는 분들께는 약간 지루할 수 있습니다.
  • 그러나 이 강연의 무게 중심은 질문과 답변에 있습니다.
  • 나아가 합숙이라는 KGDS의 특성에 맞추어, 08일(토) 저녁에 비공식적인 (패널) 토의를 계획하고 있습니다.


질문이나 요청이 있다면 댓글로 써주십시요:
  • 해당 강연에 대한 질문이나 바라는 점을 댓글로 달아주시면, 답변을 해드리거나, 최대한 반영하도록 하겠습니다.
  • 또한 해당 강연(혹은 토의)에서 하고 싶은 질문을 댓글로 달아주시면, 강연자들이 사전에 답변을 준비해보도록 하겠습니다.

:

한국 게임 개발자 서미트(Korea Game Developers Summit) 2007이 다음과 같이 개최될 예정이라고 합니다.



한국 게임 개발자 서미트(KGDS) 2007


일자: 2007년 09월 08일(토)~09일(일)
장소: 경기도 화성시 청호 인재 개발원

신청 방법: 참가 신청서를 작성하여 hylee@kgda.or.kr로 제출
참가 접수: 2007년 08월 27일(월) ~ 09월 05일(수) (인원 확정시 조기 마감)
참가 방법:
  • 발표:  서미트 참가자를 상대로 게임개발과 관련된 주제를 선정하여 발표
  • 패널:  3~5명의 인원이 게임개발과 관련된 주제를 선정하여 토론
  • 일반:  참가비 2만원 지불. 국민은행 36143704001290 (사)한국게임개발자협회 (입금시 행사참가자와 입금자가 동일해야 합니다.)
  • 운영진: 행사운영진으로 15명을 모집합니다.
문 의 처:  이하영, 대리, 사무국, (사)한국게임개발자협회
출처: KGDA 공지

이 행사에 대해서 주변 사람들에게 널리 알려주십시요.

(몇년 전의 경험으로 미루어 볼 때) KGDS의 가장 큰 장점은, '합숙'이라는 특성으로 인해서, 공개적인 자리에서는 들을 수 없는 다양한 이야기를 들을 수 있다는 것입니다. 이것은 다른 행사들(KGC, G-Star)가 가지지 못한 장점이지요. 그리고 다양한 배경을 가진 개발자들을 한 자리에서 만날 수 있지요. 예전과 같다면, 왕복 버스와 식사를 제공할 거고, 그것만으로도 참가비 2만 원 이상의 혜택이 있습니다.

저와 다른 몇몇 분들도 참가할 예정인데, 다들 그곳에서 뵐 수 있으면 좋겠습니다.

:

혹시 에어로너츠 팀의 '퀘이사 방법론(quasars Methodology)'이 어떤 것인지 아시는 분이 있으십니까?

오래전의 일입니다만, 기사를 읽어보는데, JCE의 에어로너츠 팀에 대한 소개가 나오면서 애자일을 변형한 퀘이사 방법론이 언급되더군요.


퀘이사 방법론

‘에어로너츠’ 팀은 정형화된 프로세스를 탈피, 자신들만의 독창적인 프로세스를 개발했다. 기민한 방법론(Agile Methodology)에 기초한 퀘이사(‘에어로너츠’ 개발 스튜디오 명) 방법론이 바로 그것. 순서대로 짜여있는 개발 일정에 맞춰서 개발하는 것이 아니라, 개발 진행상황에 따라서 우선순위를 두는 방법이다. 중요한 단계에 모든 힘을 집중할 수 있고 유동적인 관리가 용이해서 게임 개발에 큰 힘이된다는 것이 팀원들의 중론.

프로그램 파트 김성용 팀장은 “소규모 단위의 프로젝트에서는 무엇보다 인력 이동이 자유로워야 한다”며 “퀘이사 방법론은 ‘에어로너츠’ 개발에 많은 도움을 줬다”고 말했다. ‘에어로너츠’팀을 보조하는 각 팀들의 도움이 체계적으로 이뤄지는 점 또한 타 개발사와 다른 모습이었다. 제이씨에서 개발하는 모든 그래픽 작업은 아트센터를 통해 이뤄진다. ‘에어로너츠’도 예외는 아니다. 팀 내에 그래픽 파트가 존재하지 않지만, 더 좋은 퀄리티의 그래픽을 완성했다.

사용자 삽입 이미지

박원정 실장은 “첫 기획 단계부터 아트센터에서 파견을 나와 게임에 대한 전반적인 계획을 같이 논의하고 중간 단계마다 회의를 거치고 있다”며 “각 파트별로 떨어져 있어도 커뮤니티에는 문제가 없다”고 말했다. 이 밖에도 기술개발지원 센터에서 프로그램 인력지원, Q/A지원 등 ‘에어로너츠’팀의 개발에 전폭적인 지지를 아끼지 않고 있었다.

출처: http://www.khgames.co.kr/biz/article_g.htm?code=g_zoomin&idx=27

저도 한두 다리 건너면 아는 사람을 찾을 수 있을 것 같긴 한데, 가능하다면 거기에 계신 분이나, 그런 분들에게 이야기를 들으신 분들이 댓글이나 Trackback을 달아주시면 정말 감사하겠습니다.

:

저는 프로그래머가 아닌지라, 제가 직접 TDD를 해본 적은 없습니다. 그저 지속적인 통합으로 인한 혜택들을 누리고 있을 따름이지요.

그런데 테스트 주도 개발에 대한 솔직하고 멋진 포스팅이 있어서 제 맘대로 발췌/번역했습니다:


사용자 삽입 이미지
솔직히 말해서 실망했다. 더 크고, 확실한 성과를 기대했던 것이다.

코드의 품질이 나아질 거라고 말했지만, 사실 내 코드의 품질은 더 나빠졌다. (사실은 제대로 읽어보면, 실질적으로 나뻐진 게 아니라, 잘못 사용하고 있던 것들을 들춰내서 표면적으로 나뻐졌다는 이야기가 나옵니다.)

끝내주는 비방(silver bullet) 같은 게 아니었다.

[그러나] 내가 말하고 싶은 것은, 나는 결코 [테스트 주도 개발(이하 TDD)을 하기] 이전으로 돌아가지 않으리라는 것이다.

코드의 품질을 낮아졌지만, 코드에 대한 나의 이해는 높아졌다.

누군가는 이렇게 말할지 모르겠다. "어떤 규칙 같은 걸 만들어서, 네가 변경하는 코드를 제대로 이해하고 있는지 확인하는 건 어때? 그걸 위해서 굳이 TDD [같은 번거로운 것]을 할 필요까지는 없잖아?" 글쎄, 나는 거의 항상 변경하려는 코드를 이해하고 있다고 생각한다. 그런데 그러고 보니까 내가 정말 내가 그러고 있기는 하나? 이게 바로 TDD가 정말 도움이 되는 부분이다.

이것이야 말로, 내가 듣지 못한 TDD의 커다란 장점이다.

출처: 테스트 주도 개발 ,1년째


위의 글에 대한 박일 님께서 코멘트를 함께 보시면 좋습니다.

참고로 위의 Jamie Fristrom라는 양반, 제가 좋아하는 Manager in A Strange Land를 쓰신 분이군요.

:

린 소프트웨어 개발의 적용(Implementing Lean Software Development)의 번역판이 8월말에 출간될 예정이라고 합니다:


사용자 삽입 이미지
린 소프트웨어 개발이란, Toyota의 자동차 개발 철학을 소프트웨어에 접목시킨 것으로 Agile과 비슷한 점이 많다고 생각합니다.

예를 들어서, 린 소프트웨어 개발의 원칙들을 살펴보면 Agile과 비슷한 점이 발견됩니다:
-. 낭비를 제거하라: 장애물(impediment)
-. 학습을 증폭시켜라: 피드백(Feedback), 반복(Iteration)
-. 가능한 늦게 확정하라
-. 최대한 빨리 인도하라
-. 팀에 권한을 위임하라: 자기결정권(Self-determination), 동기 부여
-. 통합성을 구축하라: 리팩터링, 테스트
-. 전체를 보라

(혹시 둘 사이의 차이점에 대해서 좀더 알고 싶으신 분은 Agile vs Lean Software Development를 참고하십시요.)


한편, 이 책의 전작에 해당하는 린 소프트웨어 개발 역시 8월말에 출간될 예정이니, 두 권 모두 함께 보시길 권장합니다.
사용자 삽입 이미지

:

남기룡 님께서 리팩토링 카달로그(Refactoring catalog)의 일부를 정리해주셨습니다.

영어 원문은 이곳에서 보실 수 있습니다: Refactorings in Alphabetical Order

:

id Software는 FPS 전문 개발사라는 선입견을 바꿀만한 Rage라는 새로운 타이틀을 선보였습니다.

그런데 그에 대한 최근 인터뷰 중에 Agile에 대한 대목이 있어서 인용합니다:
(Rage가 Oblivion처럼 Mission 기반으로 진행될 거라는 이야기를 나눈 후에)

Shack: 이런 새로운 게임플레이 방식과 함께 기획 프로세스에도 변화가 있습니까?

Tim Willits: 물론입니다. 우리가 한 것들 중의 하나는 프로덕션 파이프라인(production pipeline)을 변경시킨 것입니다. 우리는 Agile의 비중을 더 높히기 위해서 노력했습니다. 마일스톤을 Scrum으로 구성했고, 개발자들은 Scrum에 익숙해졌습니다. 예를 들어서, 레이싱과 관련된 사람들을 한데 모아서, Scrum을 실행했더니, 레이싱이 나왔죠.

출처:  id의 Tim Willits와 Todd Hollenshead가 Rage에 대해 이야기하다

얼마전에 해당 게임을 발표하면서 John Carmack이 "내 역할은 동료들이 작업할 도화지를 마련하는 것"이라고 말을 해서 혹시나 했는데, 역시나 Agile을 사용하고 있군요.

:


프로젝트 관리 지식체계 지침서, 제3판
(A Guide to the Project Management Body of Knowledge, the 3rd Edition)





'프로젝트 관리 지식체계 지침서'는 프로젝트 관리자 자격들 중의 하나인 Project Management Professional의 주요 교재입니다.

이 책이 다루고 있는 내용은, Agile이 지향하는 경험주의적인(empirical) 프로세스가 아닌, 명시적인(defined) 프로세스에 가깝다는 생각이 듭니다.

그러나 프로젝트 관리의 정석이라고 할 수 있을만한 책으로서, 여러가지 중요한 개념들을 다루고 있기 때문에, 한 번 봐두시면 도움일 될 듯 합니다.

마지막으로 PMP 취득에 대한 자세한 사항은 PMP Cafe를 이용하십시요.


:

사용자 삽입 이미지

국제 소프트웨어 테스팅 컨퍼런스 2007
이 개최됩니다.

  • 일시: 2007년 10월 8일(월) ~ 11일(목)  [일정표]
  • 장소: 코엑스 컨퍼런스 센터 4층          [약도]

이 행사는 잘 모르지만, P-Camp의 한 축인 STEN에서 하는 것으로 봐서는 기대됩니다. 강연들 중에는 Tutorial의 Agile Test Management using Scrum이라는 강연이 눈에 띄는군요. 안그대로 Sprint 동안 QA 부서와 어떻게 일해야 할지를 고민하고 있던 참인데 말입니다.

개인적으로 품질보증(Quality Assurance)은 배급사들간의 비교 우위를 결정짓는 중요한 요소들 중의 하나가 될 것이라고 생각합니다. (그 외에는 고객관리(Customer Service), 운영(Operation) 및 제작관리(Production)을 들 수 있겠습니다. 전적으로 개인적인 생각입니다.)

국내 품질보증 부서에서 일하시는 분들은 물론, 개발자들도 많이 참석해서 보다 효과적인 테스트를 할 수 있게 되면 좋겠습니다.
:

Webzen의 Huxlely 개발에 참여하고 계신 (것으로 추정되는) twiny 님께서 Paper Burns: Game Design With Agile Methodologies의 후반부를 번역해주셨습니다:


참고로 Rory Mcguire는 High Moon Studios의 수석 기획자(Senior game designer)로, GDC 2007에서 애자일 게임 개발을 이용한 게임 기획 (Game Design in Agile Development)을 강연했습니다.

마지막으로 동료분께 번역을 부탁하고, 그 결과물을 공개해주신 twiny 님께 진심으로 감사를 드립니다.

: