지난번의 "실전 애자일 게임 개발"의 지속적인 통합(Continuous Integration)을 하려면, 코드가 제출될 때마다, 구축을 해야 합니다.

이걸 일일히 하려다 보면, 프로그래밍할 시간을 앗아갈 것이 틀림없죠. 그런데 만약 이걸 놀고 있는 PC에게 대신시킬 수 있다면? 이걸 자동화해주는 게 바로 "CruiseControl"입니다.

CruiseControl이 하는 일은 크게 두 가지입니다:
  • 자동 구축: 정기적으로 혹은 필요할 때마다(예: 코드가 제출될 때마다) 자동으로 구축을 시도한다.
  • 결과 보고: 구축이 완료된 후, (HTML 형태의) 결과 보고서를 생성한다.
    • 왼쪽에서는 해당 프로젝트의 이름이전 빌드에 대한 정보를,
    • 오른쪽에서는 빌드의 결과(예:컴파일 오류, 테스트 결과, 이전 빌드 이후로 변경된 파일들)에 대한 정보를 제공한다.

사용자 삽입 이미지

CruiseControl의 결과 화면



따라서 CruiseControl를 사용하(여 지속적인 통합을 하):
  1. 프로그래머가 프로그래밍에 집중할 시간이 늘어나고,
  2. 오랜 시간이 걸리는 빌드를 퇴근한 후, 자동적으로 시행되게 할 수 있으며,
  3. 일일 빌드를 통해 모든 코드가 제대로 동작하는지 검증할 수 있습니다.

CruiseControl가 다른 도구들에 비해 가지는 장점들은:

CruiseControl 설치시에 참고할만한 글이나 서적은 다음과 같습니다:

지속적인 통합(CI)에 도움이 될만한 글들은 아래와 같습니다:

CruiseControl외의 고려해볼만한 CI Server들은 다음과 같습니다:

마지막으로 현재 CruiseControl을 사용하고 계신 분이 있다면, 그 사용 후기를 Trackback(혹은 답글)으로 부탁드립니다. 불행히도 저는 프로그래머도 아니고, TDD를 반기는 프로그래머들을 만나지 못해서, 아직까지 CruiseControl를 사용해보지 못했네요.
:

애자일 이야기에 "극과 극"으로 올라온 글로 생산성의 원동력에 대한 색다른 시각을 던져줍니다. (아래는 일부만 발췌했으니 원문을 꼭 보세요.)

XP 개발을 위한 개발 생산성 향상 파노라마 (2006/12/16)

"마이크로소프트(이하 MS)의 XIT Sustained Engineering 팀은 MS의 80여개의 애플리케이션을 유지 보수한다. 주로 버그 수정(작업 시간이 120시간 미만인 것들) 같은 작은 변경 요청을 처리하는데, 하나의 변경 요청이 처리되기까지 걸리는 시간(리드타임)이 통상 5개월이었다. 해당 팀은 비즈니스 유닛에서 최악의 퍼포먼스를 차지한 셈이다.

그런데, 새로운 자원을 추가하지 않고, 기존의 설계, 코딩, 테스팅 등의 엔지니어링 작업 방식에 변화를 주지 않으면서 어떻게 작업이 쌓이고(queue) 추정하는지를 바꾸는 것만으로 9개월 만에 리드타임을 14일로 줄였다. 아무리 긴 변경 요청도 5주를 넘지 않았다. 납기일을 맞추는 확률은 이전의 0%에서 90%가 넘는 수치로 바뀌었다.

이제 이 팀은 해당 유닛에서 최고의 팀으로 바뀌었다. 최악에서 최고로.

이 사례의 성공 요인은 린(Lean)과 제약 이론 그리고 애자일 원리를 적용한 데서 찾을 수 있다.

사람들은「우리는 인력이 부족해」라는 말을 쉽게 뱉는다. 그 말은 모든 다른 문제를 탈색시켜 버리는 강력한 효과가 있다. 「입 다물어」가되는 셈이다. 인력이 부족하다고 말하는 순간 더 이상 논의가 필요 없게 되는 것이다. 필자는 그 이면에 우선 상상력의 빈곤이 자리 잡고 있다고 본다."

출처: 마이크로소프트 (ZDnet에서 재인용)

참고로 제가 김창준 님을 익스트림 프로그래밍의 역자 이전에, ZDnet의 기고가로 기억하게 만든, 아주 인상깊은 글입니다.
:

고맙게도 남기룡 님께서 Noel LlopisA Day in the Life를 번역해주셨군요:

01


말마따나 XP 중에서짝 프로그래밍을 게임에 활용하는 모습을 생생하게 보여주고 있습니다.

(참고로 A Day in the Life는 개발자 지망생들에게 게임 개발자들의 일상을 소개하고자 하는 목적으로 개설된
Game Developer Magazine의 취업 안내서(Career Guide)의 한 코너입니다.)

마지막으로 시간을 쪼개서 번역해주신 남기룡 님께 감사드립니다!
:

Scrum을 설명하는 좋은 글이 올라왔길래 추천해드립니다.
사용자 삽입 이미지


글을 올려주신 jeddli 님께 감사드립니다!
:

개발팀에 Scrum을 도입하는 방법


이 글은 Scrum Rising(Game Developer Magazine 2007년 02월)의 'Opening the Scrum Gate'를 자의적으로 날림 번역의역한 것입니다.


1. 작게 시작하라.

하룻밤에 스튜디오 전체를 바꾸려 하지 말라. 기꺼이 실험에 참가하고자 하는 8명 전후의 팀원들(10명을 초과해서는 안됨)을 고른다.


2. Scrum의 챔피언을 선발하라.

그는 Scrum의 리더나 프로듀서가 되어서 Scrum에 대한 모든 것을 배워야 한다. 일단 그에게 Ken Schwaber이 Scrum에 대해서 쓴 책 두 권을 읽게 하는 것부터 시작하라:
(유감스럽게도 아직 한글 번역본은 나오지 않았습니다. 혹시 출간 계획에 대해서 아시는 분은 답글을 부탁드립니다.)


3. 모든 실천 사항들(practices)을 그대로 시행하라

가장 중요한 (동시에 가장 논란이 되는) 조언은 "설사 그 가치를 이해할 수 없다고 하더라도, 책에서 언급한 모든 실천 사항(practices)를 그대로 시행하라."는 것이다.

Scrum의 실천 사항들은 매우 중요한 원칙들에 바탕을 두고 있다. 만약 이 점을 충분히 이해하지 못한 상태에서 변경을 가한다면, 대부분의 장점들을 누리지 못할 것이다. Schwaber는 다음과 같이 말한다. "나는 항상 Scrum의 기본 메카니즘이나 규칙들을 변경하려는 사람들을 만나는데, 그것은 그 메카니즘이나 규칙이 아무도 직시하고 싶어하지 않는 것들을 가시적으로 만들기 때문이다. 예를 들어서, '우리는 일일 Scrum이 필요하지 않으니 1주일에 한 번만 하자.'고 하는 사람들이 있다. 일일 Scrum은 그 팀이 자율적이지도 않고, 하나의 유기적인 조직이 아니라 그저 자기 일에만 신경쓰는 한 무리의 개인들(a group of individuals)에 지나지 않는다는 점을 들춰낸다. 즉, 아무도 신경쓰지 않기 때문에, 정보를 교환할 필요가 없다고 주장하는 것이다."

Scrum의 실천 사항들을 절대 바꾸어서는 안된다는 의미는 아니다. 단지 속도를 향상시킬 수 있는 경우에만 팀 스스로 바꾸어야 한다는 것이다. 또한 Scrum을 처음 도입하는 경우에는 Scrum Master 인증 과정을 수강하길 권한다. 2일 과정이며, 이곳 저곳에서 수시로 열린다. (물론 미국의 이야기이며, 한국에서는 애자일 컨설팅에서비슷한 과정-교육 및 코칭-을 제공하는 것으로 알고 있다.)


4. 고객(the customer)과 목표를 선정하라.

Scrum으로 들어가는 또 다른 중요한 단계는 그 팀의 고객(the customer)를 선별하고, 달성한 몇 개의 목표들과 그 우선 순위를 결정하는 것이다. 그 다음, 팀원들 중의 한 명을 선발해서 공인(Certified) Scrum Master으로 만든다. 초반에 그는 고객과 팀에게 개발의 모든 단계에 숨겨진 의미를 이해시킨다. (공인 Scrum Master가 되는 방법은, 3번 가장 마지막 문단에서 말하는 '인증 과정(혹은 연수)'를 통과하는 것이다. 인증 자격을 갖춘 기관이 한국에 있는지 누구 아시는 분?)

자, 이제 팀은 Sprint cycle로 들어갈 준비가 되었다!
:

나는 애자일 게임 개발(Agile game development)이 (PC 및 콘솔을 포함한) 팩키지보다 온라인 게임에 더 없이 효과적이라고 생각한다.

그 이유는, 1) 수천, 수만이 접속해 있는 동안 무슨 일이 일어날지 모르기 때문에, '테스트'라는 명목으로 완성(혹은 가능성을 제거당하지 않은 채) 공개되며, 2) 사용자의 요구(혹은 개발자의 욕망)에 따라 끊임없이 변해가기 때문이다.

...
사용자 삽입 이미지
애자일(Agile)이란,
영어로 '민첩한' '재빠른'이라는 뜻을 가진 단어이며, 인터넷 업계에서는 경영 환경의 변화에 신속하게 대처할 수 있는 유연한 인터넷 서비스의 효율적인 시스템이나 개발 프로세스를 뜻한다.
...(중략)...
따라서 웹 1.0 시대의 '오랜 시간을 들여 개발한 소프트웨어를 장기간에 걸쳐 업데이트한다'라는 개발 스타일이 아니라, '비즈니스의 변화에 맞춰 오랜 기간 (소프트웨어가 아니라)서비스를 진화시킨다.' 라는 개발 스타일이 된 것이다.

서비스의 완성이라는 목표점이 없어졌기 때문에 사용자는 자신이 사용하고 있는 서비스의 버전 번호를 알고 있을 필요가 없어졌으며 버전 번호를 표시할 필요도 없어졌다. 이것이 '영원한 베타 버전' 이라고 블리는 이유가 된 것이다.

- 일본 하테나의 개발 방식은 웹 2.0 개발 스타일인 애자일 개발 스타일을 채택하고 있다. 하테나의 콘도 준야 사장은 자신의 블로그에서 '50% 정도의 완성도로 서비스를 내놓는다'라는 기사에 다음과 같이 이야기 하고 있다.

100% 에 도달하지 않은 시점에서 공개하는 편이 좋은 이유는 무엇인가? 첫 번째는 서비스는 가능한 한 빨리 출시하는 것이 유리하다는 점이 있다. 여러 사업자나 개인이 매일 같이 크리에이티브와 아이디어를 바탕으로 계속해서 새로운 서비스를 만들어내는 인터넷에서는 1개월, 2개월 늦어지는 것이 결정적인 실패 원인이 될 수도 있기 때문에 언제나 '출시가 빠르다는 것은 좋은 것이다.'라는 명제가 있다고 생각한다.

그러나 그것보다도 훨씬 중요한 것은 '만드는 사람의 상상력에는 한계가 있다'는 사실이다. 아무리 재미있는 장치를 생각해내고 다양한 사람의 입장에 서서 생각하는 작업을 잘 하는 사람이라 하더라도 한 서비스를 수십만 명이 이용할 때 그 안에서 어떤 일이 일어나고 어떤 기능이 필요해질지를 전부 예상할 수는 없는 일이다.

출처: 50%의 완성도로 서비스를 공개한다(일어 자동 번역), 강일석 PD의 기획 노트

:
Firefox의 Blogger Web Comments라는 플러그인을 설치했다가 재미있는 글을 보고 추천해드립니다;

번역: 잔업과 그것이 출시에 미치는 영향
원문: Debt and the effects on releases

애자일 개임 개발의 p.27에서 언급된 "예측하지 못한 ‘완료되지 않은 작업들’이 누적될 수 있음. (Debt can sneak in.)"에 대한 훌륭한 주석이라고 될 거라는 생각이 듭니다.


P.S. Blogger Web Comments라는 게, (아마도 Google의 관련글 기능을 이용해서) 해당 페이지(혹은 사이트)에 대해서 블로거들이 무슨 이야기를 해놨는지 보여주는 건데, 의외로 재미가 쏠쏠하네요.
:

애자일 게임 개발에 대해서 읽어보았지만, 아직도 실제로 어떻게 해야 할지 잘 모르겠다는 분들, 특히 "상황실(The war room)"을 어떻게 꾸며야하는지에 대해서 궁금하신 분들에게 아주 좋은 글이 있습니다..

012345678


한편 혹시 원문을 읽어보시겠다거나, 다른 언어권의 친구에게 추천해줄 경우에는 다음을 이용하십시요:


마지막으로, 앞으로 XP에 대해서 올라올 거라고 짐작하신 분. 눈치 +1점!
:
Game Developer Magazine 2007년 02월호에 실렸던 "Scrum의 부상 (Scrum Rising)"입니다.

사용자 삽입 이미지

다음과 같은 내용을 담고 있습니다;
  • Scrum의 정의
  • Scrum에 대한 미신과 사실
  • Scrum을 도입하는 방법
  • 주의할 점
  • 팀의 크기

번역할까 했으나, 업무와 다른 슬라이드를 번역하느라, 미리 올려둡니다.
:

기다리셨던 <게임으로 오세요: 게임 개발자들에게 배워야 할 점들> 제3편입니다.

이번 제3편에는 애자일 게임 개발을 위해서 조직을 어떻게 구성할 것인가에 대해서 다룹니다. 동시에 가장 논란이 될만한 '야근'에 대한 언급도 있습니다.

아마도 이 글을 읽으시는 분들 중에는 "이건 불가능하다."라고 회의적인 분들 있을 겁니다. 가능하다면 김창준 님의 "극과 극" "평범한 직원들로 천재 조직 만들기"를 읽어보시길 권해드립니다.

그리고 즐거운 실험에 동참해보십시요!

..
..

게임으로 오세요: 게임 개발자들에게 배워야 할 점들
(Get in the Game: What others can learn from game developers) 


3/3


 

출처: p. 24, Better Software (November, 2006)

작성: Clinton Keith

번역: 김기웅, Nikopole(교정), Khazad(교정)




SUPPORTING THE DISCIPLINES

서로 다른 분야들에 대한 지원

 

Agile을 적용하기 전에, 우리 프로젝트 팀들은 각각 일단의 프로그래머들, 기획자들, 아티스트들로 분리되어 있었다. 이것은 공통된 분야의 기술(shared disciplinary skills)을 갖고 있을 경우에는 훌륭한 방식이었으나, 게임이 정상적으로 돌아가도록 하는 간접 비용(the overhead)을 증가시켰다. 우리가 Agile을 적용했을 때, 이 점이 명확해졌고, 변화가 필요했다. 초반에 저항이 있었고, 이것이 결과적으로는 우리를 요소 제작팀들(feature teams)로 변화시켰다.

 

처음에 우리는 한 개의 특정 분야가 주도하는 여러 개의 기능 제작팀들(functional teams)”을 구성했다. (예를 들어, AI 팀은 대부분 프로그래머로 이루어진다.) 몇 달 후, 문제들이 발생했다. AI 팀은 진공 상태[1]에서 자신들의 작업물을 만들었다. AI의 요구사항(requirements)이 실제 게임 내에서 개발되고 시험되기 보다는, AI를 사용하는 모든 팀들이 필요로 하는 아키텍처를 제공하는데 초점을 둔 프로그래머 위주의 팀에 의해 개발되었던 것이다. 따라서 매 주기가 끝날 때마다, 아키텍처는 진보했으나, 실제 게임에서의 활용도는 별로 증가하지는 않았다.

 

그 다음, 우리는 기능 제작팀들(functional teams)에서 요소 제작팀들(feature teams)”로 변화해갔다. 요소 제작팀들(feature teams)은 사격이나 주행 메카닉과 같은 서로 다른 분야의 연계가 필요한 게임 플레이의 독립적인 한 부분(a vertical slice of game play)을 만드는데 초점을 맞추었다. 목표는, 게임 플레이의 독립적인 한 부분을 반복적으로 개발하는데 필요한, 개발의 모든 분야를 취급하는 자급자족적인 팀이다.


사용자 삽입 이미지

 

요소 제작팀들(feature teams)”로 전환한 결과, 핵심 기술의 개발 노력이 분산되었다. 예를 들어, 우리는 하나의 기능별 조직이 전체 프로젝트를 위한 하나의 AI를 만드는 대신, 각 요소 제작팀들(feature team)의 한두 명이 각각 AI를 만들도록 했다. 이 조치는 여러가지 문제들을 일으켰는데, 우선적으로는 기술 개발이 분열되는 양상을 초래했다. 이런 방식은 다양한 가능성을 탐색하는 초기(early exploration)에는 좋을지 몰라도, 전적으로 문제가 많았다. 우리는 마치 별개의 게임을 만드는 것처럼 행동하고 있었지만, 결과적으로 우리가 전체 게임을 위한 단 하나의 AI 시스템이 필요하게 될 것이라는 것을 알았다. 또한 우리는 요소 제작팀들(feature teams)이 자원을 놓고 서로 경쟁하는 것을 목격했다. 이 방식은 모든 팀들이 전체 프로젝트의 일부분이라는 인식을 심어주지 못했다.

 

해결책은 추가로 각 전문 분야마다 가상의 팀들(virtual teams)을 조직하는 것이었다. 프로그래머들은 자신들의 Scrum Master[2] 한 명과 팀을 이루고, 그들은 일주일에 최소 한 번 이상 만나서, 팀의 기술적인 발전 방향을 논의했다. 프로그래밍 분야의 Scrum Master는 다른 분야(아트 및 기획) Scrum Master들과 만나서 게임의 비전을 창출한다. 이것은 각각의 분리된 팀들이 보다 효과적으로 의사 소통하도록 해줄 뿐만 아니라, 그들 모두가 최종 제품의 한 부분이라는 점을 인식시켰다.

 

 

 

DEVELOPMENT PHASES

개발 단계


Agile 게임 개발법은 폭포수(waterfall) 모형에서 제시된 프로젝트 단계들을 인정한다. 예를 들어서, 컨셉 발전 단계(the concept-development phase)에서는 고객이 창조적인 목표들을 전반적으로 그려볼(visualize) 수 있도록, 게임의 창조적인 가능성들과 한계들을 실험해본다. 개발 도중에는 게임 프로젝트의 가능성을 충분히 탐색하기가 불가능하다. 고객은 게임을 위한 라이센스와 함께 마케팅적인 척도나 요구사항들을 갖고 있을 것이며, 이것은 사전-시각화(pre-visualization)[3]와 원화(concept art)를 필요로 한다.

 

제작 단계(the production phase)는 프로젝트의 후반부, 즉 상당수의 게임 리소스-캐릭터와 레벨들-가 자리 잡아가는 시기를 말한다. 제작 단계 이전에는 별다른 제약 없이 게임 플레이를 실험해볼 수 있다. 우리는 그 시기 동안, 몇 개의 대표적인 레벨들과 캐릭터들을 만들었다. 어떤 자원을 생산할지를 결정하는 재미의 요소들을 발견하자, 우리는 [손상되거나 변하지 않도록] 재미의 요소들을 고정시켰다.

 

 

 

CRUNCH TIME

야근

 

게임 산업은 야근으로 악명이 높다.[4] 최근에는 게임 개발사 직원들을 위한 본보기적인 소송들(high-profile lawsuits)이 발생하고 있으며, 종종 집에 들어오지 못하며 고생하는 직원들의 가족들이 때때로 원고가 되기도 한다.[5] 다행히도 우리는 그런 문제를 겪지 않았다. 우리는 Scrum 기법의 일환으로 과거 경험에서 누적된 자료(the empirical data)를 사용하였기 때문에, 야근을 근본적으로 제거했다. Scum에서는, 한 주기(a sprint) 동안 하루 단위로 남아 있는 업무를 추정한다. 한 주기에서 남아 있는 시간의 일일 변동량을 속도(velocity)라고 하며, 도표로 표시된다. 기술적 장애물, 휴가, 좌석 배치 등과 같이 속도에 영향을 미치는 많은 요소들이 이 도표에 나타난다. 또한 팀의 업무 효율(effectiveness) 역시 이 도표에 드러난다.[6]

 

우리는 심지어 Scum에서도 해당 주기의 다가오는 마감에 맞추어 야근을 하도록 강요당한 적이 있었다. 그러나 이것은 경영진이 Scrum의 규칙들을 무시하고 팀으로 하여금, 업무(work)에 헌신하도록 하기보다, 하루에 10시간씩, 1주일에 6일이라는 일정(schedule)에 헌신하도록 고집했기 때문이었다. 초반에는 속도가 증가했으나, 수주가 지나자 속도는 야근 이전 수준(the pre-crunch-time level)으로 떨어져 버렸다. 사람들이 야근을 하게 되면 지칠뿐만 아니라, 프로그래밍상의 오류(game bugs)나 잘못된 그래픽 소스(art mistakes)와 같은 많은 실수들을 범하게 된다. 이것들은 수정하는데 별도의 시간이 필요하기 때문에, 결과적으로 속도를 감소시킨다.

 

사용자 삽입 이미지
 


이것은 우리에게 중요한 교훈이었다. 팀들은 해당 주기의 목표를 달성하기 위해서 추가 근무를 할 수도 있다. 그러나 경영진은 더 이상 그것을 강요하지 않는다.

 

 

 

SUMMARY

요약

 

우리는 Agile을 어떻게 비디오 게임 개발에 응용할 것인지를 계속해서 탐색해 보고자 한다. 대가는 크다. 진보된 방법론은 게임 가격이 합리적이 되도록, 개발비를 줄여준다. 또한 극소수만이 창조적인 도전을 기꺼이 받아들이고, 나머지 대부분은 위험을 무릅쓰려 하지 않는 추세(the increasing risk-averse trend)에 편승하지 않도록 도와준다. 현재 영화나 스포츠 라이센스를 기반으로 한 게임들과 성공적인 전작의 후속작들이 시장의 많은 부분을 차지하고 있다. 새로운 지적 재산이나 참신한 아이디어를 이용한 타이틀들을 개발하는 데, 막대한 돈을 투자하는 것은 너무 무모해 보일지도 모른다. 그러나 엔터테인먼트 산업에서 소비자의 돈과 관객의 관심은 더없이 소중하다. 비디오 게임의 전반적인 가치와 재미를 감소시키는 추세는 시장을 축소시켜서, 게임 산업의 모두에게 피해를 줄 것이다. Agile은 새로운 경험을 실험하고, 참신한 아이디어를 반복적으로 개발하여, 게임 속에서 재미를 빨리 그리고 자주 찾을 수 있도록 해주며, 우리의 고객을 즐겁게 하는 동시에 증가시키는, 보다 나은 길을 열어주는 체계(framework)를 제공할 것이다. {}

 

Clinton Keith는 최신 전투기의 항공 전자 장비용(avionics) 소프트웨어 개발을 그만두고, 비디오 게임 프로그래머가 되었다. 그는 현재 미국 캘리포니아 칼스버드(Carlsbad) 소재의 게임 개발사, High Moon Studios[7]의 기술 이사(the chief technology officer)로 재직중이다. 그가 개발하거나 개발을 진두 지휘한 것들을 몇 개 들자면, Midtown Madness, Midnight Club, Smuggler's RunDarkwatch가 있다. 게임을 개발하기 전에는 소프트웨어 엔지니어로서, Raytheon에서는 해저 관련 기술에, TRW에서는 YF-23 YF-22에 관련된 일을 했었다.

 

해당 주제에 대한 보다 자세한 정보를 원한다면, www.StickyMinds.com/bettersoftware에 들러볼 것.

l  사전 제작: 재미의 요소들(Pre-production: elements of fun)



                             


[1] [역자주] 다른 팀들과 완전히 동떨어진 상태에서 개발을 했다는 것에 대한 은유적 표현이다.


[2]
[역자주] “Scrum Master는 팀과 제품주(Product owner) 사이의 촉진자(facilitator)이다. Scrum Master, 팀을 관리하는 것이 아니라, 다음과 같이 팀과 제품주를 지원한다;

l  제품주가 직접적 개발을 주도할 수 있도록, 개발팀과 제품주 사이의 장벽을 제거한다.

l  제품주에게 어떻게 투자 수익(ROI: return on investment)을 극대화시킬지 알리고, Scrum을 통해서 제품주의 목표를 만족시키도록 한다.

l  창조력과 위임을 촉진시켜서, 개발팀의 삶[의 질]을 향상시킨다.

l  가능한 모든 수단을 동원하여, 개발팀의 생산성을 향상시킨다.

l  각 주기마다 추가된 기능들이 언제든지 배포될 수 있도록, 기술과 도구를 향상시킨다.

l  진행 상황에 대한 정보를 최신으로 유지하고, 모든 관련자가 접근가능하게 한다.”

Agile Project Management with Scrum(Ken Schwaber, Microsoft Press, 2004)에서 인용.


[3]
[역자주] 사전 시각화(pre-visualization), 개발하려는 게임(의 컨셉)을 문서가 아닌 시각적인 매체들(: 그림, 동영상, 도표 혹은 모형 등)을 통해서 표현하는 것을 말한다. 대표적인 예로는 ICOPilot movie를 들 수 있다. 자세한 것은 http://kwanny.ntreev.net/tt/index.php?pl=133를 참조.


[4]
[역자주] 한 사후분석(Postmortem)에서는 다음과 같이 묘사한다; “막바지가 되면 가족들과 친구들은 우리를 잊어버리고, 우리는 피자 배달부와 친해진다.”

 

[5] [역자주] 이에 대한 좋은 예로, Electronic Arts(이하 EA) 소속 개발자의 배우자가 익명으로 쓴 EA: The Human Story가 있다. 2004년말에 쓰여진 이 글은 최고 주당 80시간(오전 9~오후 10. 7일 근무. 열심히 일한 경우, 토요일 저녁에는 오후 6:30에 퇴근 가능.)의 일을 시키면서도 야근 수당을 지급하지 않는 EA의 관행에 대해서 강력히 비판했다. 이로 인해, EA 내외에서 격렬한 논쟁이 벌어졌고, 소송이 줄을 이었다. 2006 4, 결국 EA 200명에 달하는 전현직 프로그래머들에게 1,449만 달러를 지불하기로 합의했다. 보다 자세한 사항은 WikipediaEA Spouse EA Employment policy를 참고할 것.


[6]
[역자주] 남기룡 우리팀 3개월 동안의 일일소멸차트를 참조할 것.


[7]
[역자주] 원래는 Sammy Studios, Inc였으나, 2005 03 07Sammy로부터 독립하고, High Moon Studios가 되었다. 2006 01 05, Vivendi Universal Games에 합병되어, 현재는 Sierra Entertainment의 일부가 되었다.


<< 이전: Agile로의 이행 <<
..

..
: