실전 애자일 게임 개발
(Agile Game Development From The Trenches)


===================================================================================================
갱신 이력
  • 2007년 06월 02일: p. 33~35쪽의 슬라이드 노트를 추가했습니다.
===================================================================================================


이번에는 "실전 애자일 게임 개발"입니다. Noel LlopisMontreal International Game Summit 2006에서 발표한 내용을 번역했습니다.

주요 내용은 Agile 기법들 중의 하나인 XP를 다루고 있습니다. Clinton Keith가 주로 다룬 Scrum이 프로젝트 관리에 가깝다면, XP는 좀더 프로그래밍에 가깝습니다. 실전이라는 표현답게, 비교적 구체적인 실천 사항들(practices)을 이야기합니다. (from the trenches를 직역하면 '(최전선의) 참호로부터'가 됩니다.)

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



한편 Noel Llopis의 허가를 받고 번역했으며, 원본의 출처는 이곳입니다.

마지막으로 마음껏 퍼가시되, 가능하다면 trackback을 남겨주시면 서로 관심사나 정보를 공유하는데 도움이 되지 않을까 싶습니다.
:


Microsoft의 소프트웨어 개발 방법
(21 Rules of Thumb - How Microsoft develops its Software)



목차:

제1부: 일정 맞추기
   1. 아는 체 하지 마라.
   2. 상황을 파악한 다음에 움직여라.
   3. 제품-일정-비용의 삼각형을 기억하라.
   4. 어둠 속으로 돌진하지 마라.
   5. 무결점 이정표를 사용하라.
   6. 팀워크를 유지하라.
   7. 일정에는 조삼모사가 없다.
   8. 일정이 밀리면, 전열을 가다듬으라.
   9. 밑바닥 기술이 중요하다.
  10. 설계할 때는 설계만 한다.
  11. 만들어야 출시할 수 있다.
  12. 호환성은 카누 만들 때나 필요하다.

제2부: 위대한 소프트웨어
  13. 고객을 감동시켜라.
  14. 통일성이라는 한 가지 명제만 기억하라.
  15. 설계 사상을 명확하게 잡아라.
  16. 비교하라.
  17. 균형을 맞춰라
  18. 발전시켜라.
  19. 제품을 층층이 쌓아라.
  20. 공유할 비전을 정하라.

제3부: 출시
  21. 팀을 항상 출시 모드로 유지하라.

전문


Agile이라 불리던, 실용주의라 불리던, 혹은 경험에서 우러나온 어림짐작(Rule of thumb)이건, 성공적인 소프트웨어를 만드는 건 똑같다는 생각이 듭니다. 위의 21가지 중에서 Agile에서도 강조되는 것들을 골라보면 다음과 같습니다:
   6. 팀워크를 유지하라.
   7. 일정에는 조삼모사가 없다.
  11. 만들어야 출시할 수 있다.
  13. 고객을 감동시켜라.
  18. 발전시켜라.
  19. 제품을 층층이 쌓아라.
  21. 팀을 항상 출시 모드로 유지하라.

:

"혁신이란 얼마나 많은 연구비를 갖고 있냐와 상관 없다. Apple이 Mac을 출시했을 때, IBM은 100배 이상의 연구비를 쳐들이고 있었다. 혁신은 돈의 문제가 아니다. 그것은 당신이 가진 사람들과 당신이 그들을 어떻게 이끌고, 그들로부터 무엇을 이끌어내느냐에 달려 있다. (It's about the people you have, how you're led, and how much you get it.)"

출처 Fortune, 1998년 11월 09일

(블루 오션 전략에서 언급되어서 다시금 회자된) Tom Peters의 "초우량 기업의 조건(In Search of Excellence)"에 따르면, 초우량 기업의 비결은 사람을 통한 생산성 향상에 있다고 합니다. 우수한 인간들로 이루어진 회사가 아니라, 오히려 보통 사람들을 동기부여하여, 그들로 하여금 120% 이상의 업적을 이끌어 내는 것에 있다는 거죠.


"자동차 1만 대를 만들려면 몇 명이 필요한가?"

80명으로 자동차 5,000대를 만들 수 있다고 보고하러 온 과장에게 당시 부사장이던 고(故) 오노 다이이치(大野耐一) 씨가 물었다.

과장이 "160명이 필요하다."고 하자 오노 씨는 "자네에게 구구단을 배우게 될 줄 몰랐다."면서 "경영은 산술이 아니라 지혜와 훈련의 둔갑술."이라고 말했다. 얼마 지나지 않아 도요타에선 100명이 1만 대를 만들 수 있게 됐다.

출처: http://www.donga.com/fbin/output?n=200611130137

이러한 사실은 Toyota의 예에서도 드러납니다. Toyota의 경쟁자인 Nissan은 동경대를 비롯한 명문대생을 주로 채용하는 반면, Toyota는 지방대생에게 문을 활짝 열어놨죠. 동시에 Toyota는 그들 하나하나를 창조적인 문제해결자로 둔갑시켰습니다.


또 다른 예는 놀랍게도 유명한 독재자 Hitler에게서 발견할 수 있습니다. 많은 사람들은 그가 독일 국민을 속이고 억압했다고 생각할지 모릅니다. 하지만 동시에 그는 어느 누구보다 노동자들의 동기부여에 관심을 갖고 있던 독재자였습니다:
  • 현재 독일의 복지 제도의 대부분은 사실상 그의 집권기에 마련되었다.
  • 딱정벌레 자동차로 유명한 Volkswagen Beetle은 저소득층을 비롯한 모든 국민이 자신의 차를 갖게 하겠다는 국민차 프로젝트의 결과물이다. (Volkswagen 자체가 민족(Volks) + 차(wagen)를 의미한다.)
  • 제2차 세계 대전에 있었던, 어느 유람선 침몰 사건의 희생자들은 대부분 '노동자의 힘'이라는 프로그램을 통해 해외 여행을 다녀오던 노동자들이었다.
사용자 삽입 이미지

인구나 물자 모두 연합군 전체에 비해서 턱없이 부족했던 Hitler 시대의 독일이, 연합군을 밀어붙였던 이면에는, 아래로부터의 동의와 지지를 얻어내는 그의 정책에 있었다고 봐야 할 것입니다. (역으로, 단순한 억압만으로는 생산성의 향상을 이룰 수 없습니다. 그것은 로마 제국 멸망의 원인들 중 하나로 노예제의 생산성 저하로 해석하는 논문들이 참고하십시요. 혹은 맨날 형편없는 음식을 먹으며, 철야로 인해 늘어난 자신의 뱃살을 거울에 비쳐보거나. :) )


조엘 온 소프트웨어는 "소프트웨어 사업이란 자본을 코드로 변환하는 것"이라고 정의합니다. 게임 역시 자본을 인터랙티브 엔터테인먼트 소프트웨어를 생산하는 것이 될 수 있겠죠. 그렇다면 그것을 생산하는 사람들에게 좀더 많은 관심과 배려가 있어야 하지 않을까라는 생각이 듭니다.

: