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)을 들 수 있겠습니다. 전적으로 개인적인 생각입니다.)

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



애자일 게임 개발(Agile Game Development) 강연 녹음

한 가지 더 말씀드리고 싶은 게 있다면, 애자일 게임 개발은 게임을 만드는 방법이 아니라, 그저 '프로세스'에 지나지 않는다는 것입니다. (중략) 끝내주는 게임을 만드는 최소한의 조건은 [끝내주는 프로세스가 아니라] 끝내주는 팀을 만드는 겁니다. (중략) 더  좋은 프로세스가 더 좋은 게임을 만든다는 걸 말하려는 게 아닙니다. 그저 좋은 팀이 [더 좋은 결과를 낼 수 있도록] 돕는 것뿐이죠.
(The other thing I'd like to mention as well, I'm not apealing this is the way to make games. This is a just a process. ... Really bottom line is a great game makes a great game. ...  It's not about which better process gonna produce a better game. This is just helping great teams.)



GDC 2007에서 있었던 "애자일 게임 개발(Agile Game Development)"의 강연 녹음입니다. 애자일 게임 개발(Agile Game Development)의 슬라이드와 함께 보시면 더욱 좋습니다.

(당연하지만) 영어이고, MP3 Player에 넣어서 일하시거나 출퇴근할 때 들으시면 좋습니다.

10Mb 이상을 올릴 수 없어서 두 개로 쪼개서 올립니다.
:

애자일 게임 개발: 최전선의 이야기
(Agile Game Development:Tales from the Trenches)



(아래의 첨부 파일를 받으시길 권합니다.
위의 미리보기에서는 에니메이션이나 슬라이드 노트를 볼 수 없습니다.)
영어 원문

..
..
MS Gamefest 2006의 에서 있었던 '애자일 게임 개발: 최전선의 이야기(Agile Game Development:Tales from the Trenches)'의 한글 번역입니다:
  • Agile Development
  • 조직 차원의 Agile 기법
  • Agile 기법을 이용한 프로그래밍
  • 우리가 얻은 교훈들

(강연자인 Noel Llopis 씨의 허가를 받고 번역하였습니다.)

마지막으로 여러분의
소감, 비판, 경험 혹은 계획을 Trackback이나 댓글로 달아주시면 정말 감사하겠습니다.

:

'Agile의 의미'와 '기민한 계획 수립'
('What it means to be agile' & 'Agile Planning')



(아래의 첨부 파일를 받으시길 권합니다.
위의 미리보기에서는 에니메이션이나 슬라이드 노트를 볼 수 없습니다.)


GDC 2007에서 있었던 Agile Game Development Tutorial의 일부인 'Agile의 의미'와 '기민한 계획 수립'의 한글 번역입니다:
(강연자인 Mike Cohn의 허가를 받고 번역하였습니다.)

마지막으로 여러분의 소감, 비판, 경험 혹은 계획을 Trackback이나 댓글로 달아주시면 정말 감사하겠습니다.
:

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

사용자 삽입 이미지

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



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

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


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

:

애자일 게임 개발: 현실 세계의 혼돈을 다루는 법
(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팀을 조직하는가에 대한 부분은 슬라이드 노트에 적은 자료를 참고하시기 바랍니다.

:

애자일 소프트웨어 개발에는 여러가지 기법들이 있습니다. 여기서 언급되는 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)를 권하겠습니다.

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



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