혹시 WebAppsCon에 참석하시는 분이 있으신가요?

(
웹 어플리케이션 기술의 현재와 미래를 조망해 보는 WebAppsCon 개최! 참고)

게으름 때문에 여차저차해서 WebApssCon을 결국 자비로 참석하게 되었습니다.

오전에는 Web 2.0 튜토리얼을 들을 예정입니다.

참고로 비전 나잇(19:00~21:00)은 무료입니다.

혹시 가실 분 있으면 댓글로 남겨주시면 감사하겠습니다!


:

이번에 WWDC 2007에서 John Carmack이 id TECH 5라는 최신 기술(이 담긴 엔진)을 공개해서 화제가 되었습니다.

그런데 그 동영상에서 저를 사로잡았던 것은, 돌에 글씨를 새길 수 있다는 화려한 그래픽이나 20G나 되는 텍스쳐를 쓸 수 있는 엄청난 기술이 아니라, 다음과 같은 John Carmack의 말 한 마디였습니다:
사용자 삽입 이미지
전부터 저는 항상 '내가 기술 개발에 있어서 어떤 역할을 하고 있는가?'를 곰곰히 생각해왔습니다. 그것은 기본적으로 아티스트들과 기획자들이 작업할 도화지를 마련하는 일입니다.
(I've always thought of what I'm doing on gaming technology is basically providing canvas for artists and designers to work on.)

재미있게도 imays 님도 비슷한 이야기를 한 적이 있습니다: 엔진 프로그래머는 컨텐츠 프로그래머를 고객처럼 생각해야 한다. 그리고 Agile에서도 (결과적으로) 모든 팀원들이 서로에게 고객이자 개발자가 되어야 합니다.

서로 다른 대가들의 이야기가 비슷하다니, 흥미롭군요.

:

포스팅이 늦었지만, 남기룡 님의 팀에서 현황판(War Room)을 개량했다고 합니다:

사용자 삽입 이미지

자세한 설명은 위의 Link에 있습니다.



아실 분들을 다 아시지만, 제 Blog만 보실 분들을 위해서 써둡니다.

마지막으로 "심심할 때마다 괴롭히도록 한다." 원츄!


P.S. 제가 실감한 이 일정판의 가장 큰 장점은, 사장님이 와서 일일히, '그거 들어갔나?' 혹은 '그 문제는 어떻게 되었어?'라고 묻는 경우가 줄어든다는 겁니다. (웃음) 물론 반대로 저도 작업자들에게 일일히 묻는 경우가 줄어들죠.

:

사용자 삽입 이미지

한국 Web 2.0의 전문가들이 웹 어플리케이션 기술의 현재와 미래를 조망해 보는 WebAppsCon이 개최된답니다:
  • 일시: 2007년 06월 21일(목) 09:00~21:00
  • 장소: KOEX 그랜드 볼룸(2호선 삼성역)
  • 참가비: 22,000 (사전 등록) / 44,000 (현장 등록)
  • 프로그램: 오전 워크샵 + 오후 콘퍼런스 + 저녁 비전나잇

비록 게임 개발자이지만, Web 2.0에 관심이 많습니다
:
  • 요즘 웹쪽의 변화를 보면 정말 눈이 돌아갈 정도입니다. 게임 업계는 그에 비해서 더디고, 폐쇄적이라는 생각이 듭니다.
  • 특히 게임 서비스 사이트들이 좀더 가벼워지고, 접근성을 높혀야 한다는 생각이 듭니다.
  • (저는 비전문가라 잘 모르겠지만) 서울 디지털 포럼보다는 규모가 적으나, 좀더 내실이 있어보입니다.
  • 게다가 김창준 씨가 나오시는군요. (NC의 Open Maru와 Nexon에서도 나오고요.)

참가비가 없으신 분은 다음을 참고하세요:

질문을 해보고 안되면, 저는 자원 봉사를 하거나, 사전 등록을 해볼 생각입니다. (웃음)

:

애자일 게임 개발: 현실 세계의 혼돈을 다루는 법
(Agile Game Development: Dealing With Chaos In The Real World)



(가급적 아래의 압축 파일을 받으시길 권합니다.
위의 슬라이드에는 '슬라이드 노트'와 에니메이션이 없습니다.)

영어원문: http://www.gamesfromwithin.com/articles/0411/000047.html


MIGS 2004에서, Noel Llopis가 발표한 "애자일 게임 개발: 현실 세계의 혼돈을 다루는 법"의 슬라이드 한글판입니다.

주요 내용은 다음과 같습니다:
  • 왜 Agile Game Development이 필요한가?
  • Agile Development와 게임 개발
  • Scrum과 게임 개발
  • XP와 게임 개발
2004년의 내용이라, 그 뒤에 발표된 내용들과 다른 점들이 있습니다. 특히 어떤 기준으로 Scrum팀을 조직하는가에 대한 부분은 슬라이드 노트에 적은 자료를 참고하시기 바랍니다.

:

Mr. Children의 'くるみ(쿠루미)'




'くるみ(쿠루미)'라는 노래의 M/V입니다. 나이 든 샐러리맨이 자기가 쓰던 기타를 발견하는 것을 계기로 예전 멤버들을 규합해서, 밴드 활동을 재개한다는 내용이지요. '와이키키 브라더스'의 후속작 같은 내용입니다.

제가 가장 압권이라고 생각하는 장면은, 기타리스트가 음미하듯이 눈을 감고 즐겁게 연주하는 장면입니다. 과연 얼마나 즐겁길래, (마누라의 구박에 기를 못 펴던 소심한 사내가) 저런 표정을 지을 수 있는 것일까요?

덧. 개발을 하면서, 이런 동료들을 만날 수 있다면 더할 수 없는 축복이겠죠.
     어젯밤에 귀가해서 하루를 돌아봤을 때, 어쩌면 그런 기회를 놓쳤을지도 모른다는 생각이 들었습니다.
     언젠가 그런 분들과 기타리스트 같은 표정으로 개발을 할 수 있게 되길.

:

애자일 소프트웨어 개발에는 여러가지 기법들이 있습니다. 여기서 언급되는 XP와 Scrum은 그것들 중 하나죠. 다음 글에서는 애자일 게임 개발에서 언급되지 않았던 다른 몇가지 기법들을 소개합니다:


애자일 소프트웨어 개발

애자일 소프트웨어 개발은 90년대 후반에 시작되었다. 이 당시에는 Kent Beck이 소프트웨어 플래닝, 코딩, 디자인, 테스팅의 가치와 원리와 방법론을 통해 Extreme Programming (XP)을 선보였던 때이다. (Extreme Programming: A gentle introduction 참조)

모든 애자일 소프트웨어 개발 방식에는 여러 가치들이 있다:

  • 잦은 검사와 적용
  • 주기적인 배포
  • 협업과 긴밀한 커뮤니케이션
  • 반응적 향상
  • (점증적인) 요구 사항, 기술, 팀 기능의 탄생
  • 권한 부여와 자가 구성
  • 인도물이 아닌 현재의 것 다루기
  • 용기와 존경

오늘날 다양한 애자일 방식들은 각기 다른 방법들을 강조하고 있다.

2001년 2월, Agile Manifesto가 만들어지면서, 개인과 프로세스와 툴을 통한 인터랙션, 포괄적인 문서를 통한 소프트웨어 작동, 계약 협상을 통한 고객 협업, 플랜을 따르는 것 이상으로 변화에 대응하는 것 등에 가치가 매겨졌다. 이는 오늘날 사용되는 모든 애자일 방식의 토대가 된다.

먼저, 가장 일반적으로 사용되는 애자일 방식을 설명하고자 한다. 이들 중 많은 것들이 SOA 개발에도 유용하다. SOA는 소프트웨어 개발 그 이상이라는 것은 우리도 알고 있다. SOA는 비즈니스와 IT 아키텍처에 관한 것이기도 하다. 따라서 소프트웨어 개발 방식을 생각할 때면 언제나 이것이 SOA에 적합한지를 평가해야 한다. 적합성 평가에 대해서는 다음 시리즈에서 다루도록 하겠다.


Scrum

Scrum은 단순해 보이지만 작업에 영향을 주고 핵심적인 애자일 특징을 지닌 방식을 갖추고 있다. Scrum의 특징은 스스로 방향을 설정한 팀, 매일 매일의 팀 평가, 규정된 프로세스 지양이라는 특징이 있다. 다음은 Scrum의 기본적인 특징이다.

  • 스스로 방향을 설정하고 구성한 팀
  • 특별한 문제(무엇을 했는가, 무엇을 할 것인가, 문제가 무엇인가) 들을 주제로 한 매일 매일의 미팅
  • 30일 주기 반복
  • 매번 반복을 시작할 때 고객 위주의 적응성 플래닝
  • (각 반복의 끝에) 스테이크홀더에 기능을 선보임

엔터프라이즈의 경우, 프로젝트 간 의존성을 이해하고 관리하는 것이 중요하다. 이것은 Scrum에서 "글로벌 백로그(global backlog)"를 통해 잘 관리되고 있다. 이는 사용자가 가치를 두고 있는 기능적 요구 사항과 비기능적 요구 사항을 엔터프라이즈 관점에서 본 것이다. 글로벌 백로그에서는 전체적인 우선순위가 정해진다. 각 프로젝트는 글로벌 백로그에서 자신들에게 가장 중요한 부분들을 취한다. 프로젝트 간 동기화 역시 Scrum of Scrums"에서 다루고 있다. 팀들간 동기화를 위해서 각 팀의 대표들과 이틀에 한번 또는 매주 미팅을 갖는다.


XP

XP (http://www.extremeprogramming.org와 http://www.xprogramming.com)는 협업, 빠른 소프트웨어 구현, 매우 기술적인 개발 방식을 강조한다. 이것은 주요 관행들(함께 앉기, 전체 팀, 정보가 풍부한 작업 공간, 짝(pair) 프로그래밍, 주간 반복, 여유, 10분 구현, 연속 반복, 테스트 우선 프로그래밍, 점증적인 디자인)과 부차적인 관행들(실제 고객 개입, 점증적인 전개, 뿌리 원인 분석, 공유 코드, 싱글 코드 기반, 협상된 범위 계약, 사용에 따른 비용 지불)로 구성된다.


Crystal

Crystal은 주기적인 인도(delivery), 긴밀한 통신, 반응적인 향상을 강조하는 방법론이다. Crystal의 특징은 다음과 같다:

Crystal에서 우선순위는 프로젝트 결과의 안정성, 개발 효율성, 규율 지키기 등이다. 프로젝트 팀은 7 개의 특징을 지니고 있다. (첫 번째 세 개는 Crystal의 핵심이고, 다른 것들은 안정성을 위해 필요한 것들이다.):

  • 잦은 검사와 적용
  • 주기적인 배포
  • 긴밀한 커뮤니케이션; 개인적인 안정성
  • 포커스
  • 전문 사용자들로의 쉬운 액세스
  • 자동화된 테스팅을 갖춘 기술 환경
  • 설정 관리
  • 잦은 통합


Dynamic Systems Development Method

The Dynamic Systems Development Method (DSDM)는 시스템을 구현하고 관리하는 제어 프레임웍을 제공한다. 촉박한 시간 제약을 맞추고 반복적인 Rapid Application Development (RAD) 성공을 위한 방법을 제시한다. 이 방식은 개발자 관점의 RAD 뿐만 아니라 효과적인 시스템 개발에 관심이 있는 모든 사람들의 요구들을 포용한다. 아래 리스트는 DSDM의 관리 원리이다:

  • 적극적인 사용자 개입이 필요하다.
  • DSDM 팀은 결정을 내릴 수 있어야 한다.
  • 목표는 제품의 주기적인 인도이다.
  • 비즈니스 목적에 맞추는 것은 인도물의 필수 기준이다.
  • 반복적이고 점증적인 개발은 정확한 비즈니스 솔루션으로 수렴되어야 한다.
  • 개발 시 모든 변경 사항들은 원상으로 되돌릴 수 있어야 한다.
  • 요구 사항들은 고급 레벨을 기반으로 우선순위가 정해져야 한다.
  • 테스팅이 라이프 사이클에 통합된다.
  • 모든 이해 관계자들간 협업이 필요하다.

출처: http://www.ibm.com/developerworks/kr/library/ws-agile1/index.html
원문: http://www.ibm.com/developerworks/webservices/library/ws-agile1

위의 글은 발췌본이니, 가능하시다면 전문을 한 번 읽어보시길 권해드립니다.

:

Yahoo Group의 Scrum Development에 올라왔던 글. (Agile Game Develoment blog에서 재인용.)

Scrum은 다음의 두 경우 모두에 매우 효과적입니다:
  1. 일정이 고정되어 있지만 개발 범위는 유동적이거나,
  2. 개발 범위가 고정되어-하지만 늘상 그렇듯 늘어나죠-있고 일정이 유동적일 때.
하지만 만약 일정과 개발 범위 모두 고정되어 있다면,

저는 당신께 폭포수나 RUP(Rational Unified Process)를 권하겠습니다.

최소한 다른 일자리를 알아볼 몇달 간의 시간을 벌어줄테니까요.



웃기면서도 굉장히 진지한 조언이군요. 적용할 때, 염두에 두어야 할 듯 합니다. (웃음)
:

애자일 게임 개발을 이용한 게임 기획
(Game Design in Agile Development)


GDC 2007의 "애자일 게임 개발을 이용한 게임 기획(Game Design in Agile Development)"입니다.

다루고 있는 내용은 다음과 같습니다: 애자일 게임 개발을 적용할 때,
  • 게임 기획자들이 입는 혜택
  • 달라지는 점들
  • 주의해야 할 난관들

대부분의 애자일 관련 자료들이 프로젝트 관리나 프로그래밍을 다루고 있다는 점에서, 현재까지는 게임 기획에 관한 유일한 자료입니다.

이것으로 '(좋은 것 같긴 한데) 그래서 애자일을 어떻게 내 업무에 적용할까?'라는 기획자의 고민이 조금이나마 줄었으면 좋겠습니다.


..

(아래의 PPT를 받으시길 권합니다.
아래의 PPT에는 중요한 슬라이드 노트와 애니메이션이 포함되어 있습니다.)



Rory Mcguire의 허가를 받고 번역하였으며, 원문(의 축약판)은 이곳에서 받으실 수 있습니다.

마지막으로 여러분의 의견을 Trackback이나 댓글로 남겨주시면, 다른 분들과 의견을 공유하고, 다음 번역에 더 큰 도움이 될 듯 합니다.

감사합니다.

===============================================================================================
갱신 이력
  • 2007년 06월 12일
    • 맞춤법 교정.
  • 2007년 06월 04일
    • p.9, p.32: 슬라이드 노트 추가
    • p.11, p.47: 맞춤법 교정.
===============================================================================================
:

GDC 2006에서 발표된 "바쁠수록 돌아가라: 테스트-주도 개발을 이용해 더 좋은 게임 만들기(Backwards Is Forward: Making Better Games With TDD)"영문 슬라이드, 소스 코드 예제 및 노트입니다.
(단, 슬라이드는 GDC 2006보다 조금 더 보강된 Game Connect 2006의 "Test Driven Development For Games: What, Why And How"로 교체합니다.)

이전의 실전 애자일 게임 개발보다 테스트-주도 개발를 더 자세하게 다루고 있습니다.




마지막으로 이 강연 슬라이드나 노트(혹은 둘 다)를 번역하실 분을 찾습니다!

제가 번역할까 했으나, 소스 코드 등 보다 실무적인 내용인 내용을 다루고 있어서, 프로그래머이신 분이 번역해주시는 게 효과적일 듯 합니다. (저는 프로그래머가 아닌지라, 사실 Scrum에 많은 관심을 갖고 있습니다.)

관심이 있으신 분은 답글을 달아주시거나, 오른쪽 상단에 있는 제 Email로 연락주십시요.

여러분의 많은 참여를 기다립니다!

: