일 정 대 로 출 시 하 기 왜 & 어 떻 게
개발자를 위한 제작진행개론
이승재
넥슨코리아 데브캣스튜디오
2
발표자: 이승재 @0xcafea1fa
프로그래머
• 카바티나스토리
• 데스크탑히어로즈
• 마비노기2
• 중단된프로젝트
• 중단된프로젝트
• 마비노기듀얼
• 실버바인서버엔진2(현재)
3
개발자를 위한 제작진행개론
많은 분들께 너무나도 당연한 이야기일 수 있으나,
일단 토론의 장으로 끄집어내고 싶음
4
다루는 범위
신규 게임 프로젝트
5
이 발표의 원래 제목은…
밤새지 않고 휴일출근하지 않고
일정대로 출시하기
6
일정 vs 성공?
7
성공할 가능성을 높이자
• 더 먼 미래는 더 예측하기 어렵다
– 프로젝트는 몇 년 뒤의 시장을 예측해서 킥오프한다
– 트렌드는 빠르게 변한다
• 출시조차 못할 수도 있다
• 적당한 제약조건(일정)이 있을 때 더 창의적이 된다
8
특히 출시가 가까워지면
• 변경이 불가능한 외부 스케줄이 있다
– 마케팅
– 피처드
9
왜 밤새거나 휴일출근하면 안되나
• 밤새고 휴일출근하면 장기적으로 더 느리기 때문
– 터널 비전에 빠져 잘못된 판단을 하게 된다
• 출시 후에도 개발은 계속된다
– 특히 라이브 초기
• 오랫동안 건강하게 개발하자
10
왜 밤새거나 휴일출근하면 안되나
• 치명적인 착각
– ‘밤새면 어떻게 되겠지’
– ‘주말출근하면 어떻게 되겠지’
밤새지 않고 휴일출근하지 않고
일정대로 출시하는 법
12
일정대로 출시하는 법
남은 일을 남은 기간 동안 해낼 수 있는 계획을 세우고 실행한다.
도저히 해낼 수 없다면 어떻게든 한다.
이것을 출시할 때까지 계속 반복한다.
13
일정대로 출시하는 법
남은 일을 남은 기간 동안 해낼 수 있는 계획을 세우고 실행한다.
도저히 해낼 수 없다면 어떻게든 한다.
이것을 출시할 때까지 계속 반복한다.
14
일정대로 출시하는 법
남은 일을 남은 기간 동안 해낼 수 있는 계획을 세우고 실행한다.
도저히 해낼 수 없다면 어떻게든 한다.
이것을 출시할 때까지 계속 반복한다.
15
일정대로 출시하는 법
남은 일을 남은 기간 동안 해낼 수 있는 계획을 세우고 실행한다.
도저히 해낼 수 없다면 어떻게든 한다.
이것을 출시할 때까지 계속 반복한다.
16
일정대로 출시하는 법
남은 일을 남은 기간 동안 해낼 수 있는 계획을 세우고 실행한다.
도저히 해낼 수 없다면 어떻게든 한다.
이것을 출시할 때까지 계속 반복한다.
17
계획은 반드시 틀어진다
• 몰랐던 일이 밝혀지고
• 작업이 예상보다 오래 걸린다
• 하고 싶은 것도 새로 생긴다
어차피 계획대로 안 굴러갈 거, 계획 안 세우면 안 되나…?
18
계획에 실패하면 실패를 계획하는 것
1. 이 일에 얼마나 시간을 얼마나 써야 할까?
2. 지금 빚을 내야 하나 갚아야 하나?
3. 지금 뫄뫄를 하고 싶은데 그래도 되나?
4. 우리 이대로 가면 출시할 수 있나?
이런 질문들에 대답하려면 프로덕션 계획이 필요하다
19
급히 차를 써야 한다면?
10km/h 이하로만 달릴 거라면?
바퀴 갈아끼울 돈이 없다면?
1. 이 일에 시간을 얼마나 써야 할까?
프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
20
2. 기술부채의 계획적인 운용
• 상위 결정권자는 신이 아니다.
– 모든 주제에 대해 최선의 의사결정을 내릴 수는 없다!
• 특히 눈에 보이지 않는 엔지니어링 이슈들
– 기술부채
– 서버 성능
프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
21
2. 기술부채의 계획적인 운용
편법으로, 어떤 좁은 목표를 빠르게 달성하는 것.
잘 활용하면 대단히 유용하다
프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
22
23
2. 기술부채의 계획적인 운용
언제 빌릴 타이밍이고 언제 갚을 타이밍인지를
프로덕션 계획이 있어야 제대로 판단할 수 있다
프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
24
3. 질러야 할 때 지르기 위해서
• 놀라운 것, 새로운 것을 만들어야 한다
• 그런 것은 계획하기 어렵다.
– 일단 동작하는 걸 눈으로 봐야 그 다음 아이디어가 떠오른다.
– 비용을 예측하기도 어렵다.
프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
25
3. 질러야 할 때 지르기 위해서
• 계획에 없다고, 비용이 비싸다고 아무것도 지르지 않는다면 밋밋한 게임이 된다.
• 뒷일 생각안하고 지르기만 하면 출시가 멀어진다.
• 프로덕션 계획이 튼튼해야, 질러야 할 때 지를 수 있다
프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
26
4. 우리 이대로 가면 출시할 수 있나?
• 의문이 들기 시작하면 사람들이 이탈한다
• 점점 더 출시와 멀어져간다
프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
모두를 위한 조언
28
1. 지킬 수 있는 것만 약속하고
2. 약속한 것은 지키려고 최선을 다하자.
3. 지키지 못할 것 같으면 가능한 한 빨리 알리자.
약속을 소중히 여기자 – 실무자 입장
조언 #1
29
1. 프로덕션 계획을 지속적으로 업데이트하고 공유하고
2. 중요 마일스톤을 지키려고 애써야 하고
3. 계획을 바꾸게 되면 그 이유를 밝혀야 한다.
아무 설명 없이 약속이 깨어지는 게 몇 번 반복되면 누구도 계획을 믿지 않게 된다.
약속을 소중히 여기자 – 매니저 입장
조언 #2
30
• 예측을 해야 계획을 세울 수 있다.
• 예측치에 불확실성을 반영하자: ‘잘되면 ○일, 잘 안되면 ○일’
• 예측이 틀렸다고 비난하면 안된다.
예측은 어렵다. 하지만 해야 한다.
조언 #3
31
• 안해본 것, 실패할 가능성이 높은 것을 일찍 배치하자.
• 불확실성을 줄이기 위한 작업 자체에 시간을 투자하자.
• 미뤄도 문제없는 일은 미루다 보면 안해도 되는 경우도 있다.
• 출시 직전 계획을 너무 빡빡하게 잡지 말자.
불확실성을 길들이자.
조언 #4
32
“리드 타임(lead time)은 상품의 주문일시와 인도일시 사이에 경과된 시간을 말한다.”
- 한국어 위키백과 <리드 타임>
작업 요청이 들어오고 나서부터 완료되기까지 걸린 시간
리드 타임을 이해하자
조언 #5
33
• 작업 두 개가 나에게 요청되었다
– A: 4일 소요
– B: 1일 소요
– 뭘 먼저 해도 각각걸리는 시간은 같다
• 일을 어떤 순서로 해야 할까?
– 조건이 같다면 빨리 끝날 일부터 하는 게 유리하지만
– 실제로는 각 작업의후속 작업에 따라 다르다!
리드 타임을 이해하자
조언 #5
A의 리드타임 B의 리드타임
A → B 순서 4일 5일
B → A 순서 5일 1일
34
• 내가 하는 일을 기다리는 사람은 누구지?
• 내가 일을 어떻게 쪼개서 하면 다른 사람이 덜 기다릴까?
• 내가 뭘 조금 더 하면 다른 사람이 시간을 아낄 수 있을까?
자기 작업만 보고 있지 말자.
전체를 보고 낭비를 없애자.
조언 #6
35
• 우선순위는 상대적인 것이다.
• 모든 작업이 우선순위 S = 모든 작업이 우선순위 D
• 의사결정 책임으로부터 도망치지 말 것
모든 작업이 우선순위 S일 수는 없다.
조언 #7
36
• 이게 최선인가?
• 낭비는 없었나?
• 더 잘하는 방법은 없나?
마일스톤 넘어갈 때마다 회고 회의 추천.
지속적으로 개선하자.
조언 #8
37
• 상황은 계속 바뀜
• 새로운 사실을 알게 됨
• 완전한 계획은 애초에 불가능
계획의 디테일에 집착하지 말 것
계획 변경의 파급효과를 고려해서 판단하자
계획에 집착하지는 말자.
조언 #9
38
본인 업무에서 제작진행 비중이 높다면.
• 동시에 진행되는 여러 일들을 끊임없이 추적하고 누락을 찾아내야 한다.
• 필요할 때 바로 판단해서 답해줄 수 있도록 언제나 대기중인 상태로 있어야 한다.
• 자투리 시간 활용하기 매우 어렵다.
실무와 병행하기 괴로울 것이다,
조언 #10
멘탈을 키워주는 교재
40
상상해봅시다
• 1주일에 한번씩 신규 컨텐츠가 나온다
– 13주 연속! 경우에 따라서는 26주, 39주 혹은 그 이상도
– 다 만들어놓고 1주일에 하나씩 푸는 게 아님. 계속 만들면서 공개한다
• 많은 작업을 외주로 진행한다
41
일본 TV애니메이션 업계
• 진짜로 저런 조건에서 일하고 있고
• 거의 펑크내지 않는다
• 우리가 사랑하는 수많은 작품들이 저렇게 만들어짐
42
그쪽 사람들은 일을 어떻게 할까?
• 제작진행을 담당하는 직군이 따로 있다
– 일정 지키는 게 매우 중요하니 어찌보면 당연
– 형식과 기술이 거의 정해져 있으니 가능한 걸지도
43※ 애니플러스에서 보실 수있습니다
이것을 발표한 이유
45
누구의 일인가?
46
누구의 일인가?
• 파트장~팀장급에서 더 많이 맡는 경우가 많다.
• 기획파트에서 맡는 경우도 있다.
모두의 일이다.
46
47
흔히 듣는 이야기
“아 오늘도 일 하나도 못했네”
“별로 한 게 없다. 일정관리 같은것만 하고…”
48
중요한 일은 멋있는 이름으로 부르자
제작진행
Production Management
49
하고 싶은 이야기
• 모두 조금씩 더 제작진행을 의식하며 일합시다
• 업무에 제작진행 비중이 높은 사람은 중요한 일을 하고있는거예요. 힘냅시다
50
끝

이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017

  • 1.
    일 정 대로 출 시 하 기 왜 & 어 떻 게 개발자를 위한 제작진행개론 이승재 넥슨코리아 데브캣스튜디오
  • 2.
    2 발표자: 이승재 @0xcafea1fa 프로그래머 •카바티나스토리 • 데스크탑히어로즈 • 마비노기2 • 중단된프로젝트 • 중단된프로젝트 • 마비노기듀얼 • 실버바인서버엔진2(현재)
  • 3.
    3 개발자를 위한 제작진행개론 많은분들께 너무나도 당연한 이야기일 수 있으나, 일단 토론의 장으로 끄집어내고 싶음
  • 4.
  • 5.
    5 이 발표의 원래제목은… 밤새지 않고 휴일출근하지 않고 일정대로 출시하기
  • 6.
  • 7.
    7 성공할 가능성을 높이자 •더 먼 미래는 더 예측하기 어렵다 – 프로젝트는 몇 년 뒤의 시장을 예측해서 킥오프한다 – 트렌드는 빠르게 변한다 • 출시조차 못할 수도 있다 • 적당한 제약조건(일정)이 있을 때 더 창의적이 된다
  • 8.
    8 특히 출시가 가까워지면 •변경이 불가능한 외부 스케줄이 있다 – 마케팅 – 피처드
  • 9.
    9 왜 밤새거나 휴일출근하면안되나 • 밤새고 휴일출근하면 장기적으로 더 느리기 때문 – 터널 비전에 빠져 잘못된 판단을 하게 된다 • 출시 후에도 개발은 계속된다 – 특히 라이브 초기 • 오랫동안 건강하게 개발하자
  • 10.
    10 왜 밤새거나 휴일출근하면안되나 • 치명적인 착각 – ‘밤새면 어떻게 되겠지’ – ‘주말출근하면 어떻게 되겠지’
  • 11.
    밤새지 않고 휴일출근하지않고 일정대로 출시하는 법
  • 12.
    12 일정대로 출시하는 법 남은일을 남은 기간 동안 해낼 수 있는 계획을 세우고 실행한다. 도저히 해낼 수 없다면 어떻게든 한다. 이것을 출시할 때까지 계속 반복한다.
  • 13.
    13 일정대로 출시하는 법 남은일을 남은 기간 동안 해낼 수 있는 계획을 세우고 실행한다. 도저히 해낼 수 없다면 어떻게든 한다. 이것을 출시할 때까지 계속 반복한다.
  • 14.
    14 일정대로 출시하는 법 남은일을 남은 기간 동안 해낼 수 있는 계획을 세우고 실행한다. 도저히 해낼 수 없다면 어떻게든 한다. 이것을 출시할 때까지 계속 반복한다.
  • 15.
    15 일정대로 출시하는 법 남은일을 남은 기간 동안 해낼 수 있는 계획을 세우고 실행한다. 도저히 해낼 수 없다면 어떻게든 한다. 이것을 출시할 때까지 계속 반복한다.
  • 16.
    16 일정대로 출시하는 법 남은일을 남은 기간 동안 해낼 수 있는 계획을 세우고 실행한다. 도저히 해낼 수 없다면 어떻게든 한다. 이것을 출시할 때까지 계속 반복한다.
  • 17.
    17 계획은 반드시 틀어진다 •몰랐던 일이 밝혀지고 • 작업이 예상보다 오래 걸린다 • 하고 싶은 것도 새로 생긴다 어차피 계획대로 안 굴러갈 거, 계획 안 세우면 안 되나…?
  • 18.
    18 계획에 실패하면 실패를계획하는 것 1. 이 일에 얼마나 시간을 얼마나 써야 할까? 2. 지금 빚을 내야 하나 갚아야 하나? 3. 지금 뫄뫄를 하고 싶은데 그래도 되나? 4. 우리 이대로 가면 출시할 수 있나? 이런 질문들에 대답하려면 프로덕션 계획이 필요하다
  • 19.
    19 급히 차를 써야한다면? 10km/h 이하로만 달릴 거라면? 바퀴 갈아끼울 돈이 없다면? 1. 이 일에 시간을 얼마나 써야 할까? 프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
  • 20.
    20 2. 기술부채의 계획적인운용 • 상위 결정권자는 신이 아니다. – 모든 주제에 대해 최선의 의사결정을 내릴 수는 없다! • 특히 눈에 보이지 않는 엔지니어링 이슈들 – 기술부채 – 서버 성능 프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
  • 21.
    21 2. 기술부채의 계획적인운용 편법으로, 어떤 좁은 목표를 빠르게 달성하는 것. 잘 활용하면 대단히 유용하다 프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
  • 22.
  • 23.
    23 2. 기술부채의 계획적인운용 언제 빌릴 타이밍이고 언제 갚을 타이밍인지를 프로덕션 계획이 있어야 제대로 판단할 수 있다 프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
  • 24.
    24 3. 질러야 할때 지르기 위해서 • 놀라운 것, 새로운 것을 만들어야 한다 • 그런 것은 계획하기 어렵다. – 일단 동작하는 걸 눈으로 봐야 그 다음 아이디어가 떠오른다. – 비용을 예측하기도 어렵다. 프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
  • 25.
    25 3. 질러야 할때 지르기 위해서 • 계획에 없다고, 비용이 비싸다고 아무것도 지르지 않는다면 밋밋한 게임이 된다. • 뒷일 생각안하고 지르기만 하면 출시가 멀어진다. • 프로덕션 계획이 튼튼해야, 질러야 할 때 지를 수 있다 프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
  • 26.
    26 4. 우리 이대로가면 출시할 수 있나? • 의문이 들기 시작하면 사람들이 이탈한다 • 점점 더 출시와 멀어져간다 프로덕션 계획을 지속적으로 업데이트하고 공유해야 한다
  • 27.
  • 28.
    28 1. 지킬 수있는 것만 약속하고 2. 약속한 것은 지키려고 최선을 다하자. 3. 지키지 못할 것 같으면 가능한 한 빨리 알리자. 약속을 소중히 여기자 – 실무자 입장 조언 #1
  • 29.
    29 1. 프로덕션 계획을지속적으로 업데이트하고 공유하고 2. 중요 마일스톤을 지키려고 애써야 하고 3. 계획을 바꾸게 되면 그 이유를 밝혀야 한다. 아무 설명 없이 약속이 깨어지는 게 몇 번 반복되면 누구도 계획을 믿지 않게 된다. 약속을 소중히 여기자 – 매니저 입장 조언 #2
  • 30.
    30 • 예측을 해야계획을 세울 수 있다. • 예측치에 불확실성을 반영하자: ‘잘되면 ○일, 잘 안되면 ○일’ • 예측이 틀렸다고 비난하면 안된다. 예측은 어렵다. 하지만 해야 한다. 조언 #3
  • 31.
    31 • 안해본 것,실패할 가능성이 높은 것을 일찍 배치하자. • 불확실성을 줄이기 위한 작업 자체에 시간을 투자하자. • 미뤄도 문제없는 일은 미루다 보면 안해도 되는 경우도 있다. • 출시 직전 계획을 너무 빡빡하게 잡지 말자. 불확실성을 길들이자. 조언 #4
  • 32.
    32 “리드 타임(lead time)은상품의 주문일시와 인도일시 사이에 경과된 시간을 말한다.” - 한국어 위키백과 <리드 타임> 작업 요청이 들어오고 나서부터 완료되기까지 걸린 시간 리드 타임을 이해하자 조언 #5
  • 33.
    33 • 작업 두개가 나에게 요청되었다 – A: 4일 소요 – B: 1일 소요 – 뭘 먼저 해도 각각걸리는 시간은 같다 • 일을 어떤 순서로 해야 할까? – 조건이 같다면 빨리 끝날 일부터 하는 게 유리하지만 – 실제로는 각 작업의후속 작업에 따라 다르다! 리드 타임을 이해하자 조언 #5 A의 리드타임 B의 리드타임 A → B 순서 4일 5일 B → A 순서 5일 1일
  • 34.
    34 • 내가 하는일을 기다리는 사람은 누구지? • 내가 일을 어떻게 쪼개서 하면 다른 사람이 덜 기다릴까? • 내가 뭘 조금 더 하면 다른 사람이 시간을 아낄 수 있을까? 자기 작업만 보고 있지 말자. 전체를 보고 낭비를 없애자. 조언 #6
  • 35.
    35 • 우선순위는 상대적인것이다. • 모든 작업이 우선순위 S = 모든 작업이 우선순위 D • 의사결정 책임으로부터 도망치지 말 것 모든 작업이 우선순위 S일 수는 없다. 조언 #7
  • 36.
    36 • 이게 최선인가? •낭비는 없었나? • 더 잘하는 방법은 없나? 마일스톤 넘어갈 때마다 회고 회의 추천. 지속적으로 개선하자. 조언 #8
  • 37.
    37 • 상황은 계속바뀜 • 새로운 사실을 알게 됨 • 완전한 계획은 애초에 불가능 계획의 디테일에 집착하지 말 것 계획 변경의 파급효과를 고려해서 판단하자 계획에 집착하지는 말자. 조언 #9
  • 38.
    38 본인 업무에서 제작진행비중이 높다면. • 동시에 진행되는 여러 일들을 끊임없이 추적하고 누락을 찾아내야 한다. • 필요할 때 바로 판단해서 답해줄 수 있도록 언제나 대기중인 상태로 있어야 한다. • 자투리 시간 활용하기 매우 어렵다. 실무와 병행하기 괴로울 것이다, 조언 #10
  • 39.
  • 40.
    40 상상해봅시다 • 1주일에 한번씩신규 컨텐츠가 나온다 – 13주 연속! 경우에 따라서는 26주, 39주 혹은 그 이상도 – 다 만들어놓고 1주일에 하나씩 푸는 게 아님. 계속 만들면서 공개한다 • 많은 작업을 외주로 진행한다
  • 41.
    41 일본 TV애니메이션 업계 •진짜로 저런 조건에서 일하고 있고 • 거의 펑크내지 않는다 • 우리가 사랑하는 수많은 작품들이 저렇게 만들어짐
  • 42.
    42 그쪽 사람들은 일을어떻게 할까? • 제작진행을 담당하는 직군이 따로 있다 – 일정 지키는 게 매우 중요하니 어찌보면 당연 – 형식과 기술이 거의 정해져 있으니 가능한 걸지도
  • 43.
  • 44.
  • 45.
  • 46.
    46 누구의 일인가? • 파트장~팀장급에서더 많이 맡는 경우가 많다. • 기획파트에서 맡는 경우도 있다. 모두의 일이다. 46
  • 47.
    47 흔히 듣는 이야기 “아오늘도 일 하나도 못했네” “별로 한 게 없다. 일정관리 같은것만 하고…”
  • 48.
    48 중요한 일은 멋있는이름으로 부르자 제작진행 Production Management
  • 49.
    49 하고 싶은 이야기 •모두 조금씩 더 제작진행을 의식하며 일합시다 • 업무에 제작진행 비중이 높은 사람은 중요한 일을 하고있는거예요. 힘냅시다
  • 50.