an agile retrospective clinton keith gdc 2008 agd kor
TRANSCRIPT
애자일 레트로스펙티브
Clinton KeithCTO, High Moon Studios
Overview
• 레트로스펙티브 포멧• 잘되고 있는 것은 무엇 ( 확실히 )?• 잘되지 않는 것은 무엇인가 ?• 무엇을 새로 시작해야 하는가 ?
• 개발자들에게서 수집한 정보• 넓은 범위의 주제 , 깊이는 생략• 재능과 리더십은 여전히 가장 중요하다 .
이 프레젠테이션의 목적은 , 애자일(agile) 실천론 배후의 가치와 원칙을 훼손하지 않으면서 게임 개발 프로세스에서 이 실천 이론을 채택하는 방법을 설명하는 것이다 .
잘 되는 것들
Iteration
• 애자일 프로세스의 핵심• 무엇이 재미있는지 발견 /증명• 테스트를 하고 계획을 정제• 고객과의 커뮤니케이션 향상
• “ 완료”가 무엇을 의미하는지 분명히 정하는 것이 중요하다 .
이터레이션이란 다양한 스코프 (작업범위 ) 를 완료하는데 사용되는 정해진 시간의 길이를 뜻한다 .
Time-boxing Art
• “ 완벽함은 충분히 괜찮은 상태의 적이다 .”• 품질은 고객이 비용을 바탕으로 판단해야 하는
변수이다 .• 시간 상자 ( 제한 ) 는 특히 생산 과정에 좋지만 ,
품질과 개선 ( 발전 ?) 을 위해 잘 조정할 필요가 있다 .• “ 매크로 레벨” 에셋을 위한 최고의 선택• 부족함은 혁신을 부른다 .
시간 상자란 결과를 창출하기 위해 주어진 시간의 정해진 길이이다 . 결과는 변하기 쉽다 .
애자일 그리고 리더십
• 주인의식 만들기• 대형 팀의 단 하나의
비전• 행동으로 이끌어라
애자일 세계에서 리더십의 역할은 명령과 통제가 아닌 멘토와 지원의 역할로 변화한다 .
Retrospectives
레트로스펙티브는 팀의 , 팀에 의한 정기적인 리뷰로 작업의 방식에 대한 토론이 이루어진다 .
XP
Time after introduction
Cost of Change
Average Time that Bourne Build is Green(Average of the UE3 PC-Release / Bourne Functional Tester)
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
90.00%
100.00%
익스트림 프로그래밍 (eXtreme Programmig) 을 뜻하는 XP 는 테스트 중심 개발 (TDD) 과 페어 프로그래밍 프랙티스를 포함하는 애자일 방법론이다 .
95%Metric
Pair Programming
Programmer Experience
ProblemComplexity
Pair
Don’tPair
페어 프로그래밍은 지속적인 상호 검토이다 .다음의 내용을 지원한다 .
• 멘토링• 지식 공유• 일관성 표준• 리소스 공유
Sprint
Release
우선순위
High
Low
Future Releases
Value ( 가치 )
Cost ( 비용 )
Risk ( 위험 )
Knowledge ( 지식 )
Agile Planning
우선순위 지향적인 플래닝 및 개발
Coaching & Classes• 현장 코칭• 스크럼 마스터 수업
• 게임 개발에 포커스 .• 제품 오너 수업• 추정 및 플래닝 수업
별로 잘 되지 못한 것들
적응 이슈
Apprentice Journeyman Master
• 스크럼은 힘들다 .• 시작부터 변경하는 것은 실패의 위험이 있다 .
• … 그러나 변화는 반드시 필요하다 .
• Silver bullet 심리• ( 아직 ) 논쟁의 여지가 있는 XP• 리더십 지원 및 방해공작
아티스트 & 디자이너 스크럼
• 스크럼의 단점• 실제 플로우는 더
복잡하다• 기술병 VS 일반병• 아티스트와 디자이너를
위한 XP 프랙티스 같은 것이 없다 .
• 린 (Lean) 또는 간빤(Kanban) 에서 해답을 찾을 수 있을지도 ..
Large teams
• 거대한 프로젝트 그룹에서는 많은 팀에 걸쳐 나누어지기 때문에 오너쉽에 결핍을 느낄 수 있다 .
• 프로젝트 그룹을 어떻게 여러 팀으로 나눌 것인가 ?
Solution #1: 역할 중심의 팀
AIAI
AnimationAnimation
GraphicsGraphics
AudioAudio
MechanicsMechanics
Solution #2: 기능 중심의 팀
FightingFighting ShootingShooting DrivingDriving Squad AISquad AI OnlineOnline
Solution #3: 핵심 팀 & Dedicated 역할 팀 & 기능 팀
Core(~30)
Core(~30)
PS3(Function)
PS3(Function)
Driving(Feature)
Driving(Feature)
Cinematics(Function)
Cinematics(Function)Production
(Function)
Production(Function)
Online(Feature)
Online(Feature)
Engine & Tools(Function)
Engine & Tools(Function)
애자일 플래닝에 대한 두려움
• “ 계획이 없다는 뜻과 다른 점이 무엇인가 ?”
• “ 이터레이션은 무한 반복인가 ?”• “ 제품 생산은 이런 도움이 필요 없다 .”• 애자일 vs. 폭포수 , 끝없는 양극화
Ideal Waterfall
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Design Preproduction Production Alpha Beta
Debug/Optimize
Integrate/Tune
Asset Creation
Code
Planning
Actual Waterfall
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Design Preproduction Production Alpha Beta
Debug/Optimize
Tune
Asset Creation
Code
Planning
Ideal Agile
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Release#1
Release#2
Release#3
Release#4
Release#5
Release#6
Release#7
Release#8
Release#9
Release#10
Debug/Optimize
Tune
Asset Creation
Code
Planning
Agile Game Development
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
PrePro
ducti
on #
1
PrePro
ducti
on #
2
PrePro
ducti
on #
3
Produ
ctio
n #1
Produ
ctio
n #2
Produ
ctio
n #3
Produ
ctio
n #4
Alpha
/Bet
a
Debug/Optimize
Tune
Asset Creation
Code
Planning
앞으로 해야 할 것들 (new/more/better)
변화에 대한 전략
• 교두보가 되는 팀• 비용과 위험성이 낮다• 더 많은 시간을 소요• 어떻게 퍼뜨려야 하나 ?• 영향력을 가져야 한다 .• 채택하기 쉽고 , 모든 프랙티스를
시도해보기도 쉽다 .• 아무도 모르게 적용해 볼 수 있다 .
• 전사 규모의 변화• 더 많은 코칭이 필요• 시간은 덜 소요 됨• 더 많은 비용과 위험• 일반적으로 명령과 컨트롤이
필요된다 .
Bottom Up or Top Down?
아트 프로덕션 & 어질리티
• 프로덕션과 컨텐츠 생산은 스크럼과 완벽히 어울리지 않는다 .• 복잡한 작업 플로우• 다양하게 훈련된 팀• 요구 사항에 대한 더 큰
이해
Lean Production
Concept&
Outline
Low Rez /
Layout
High Rez
LightingDesign Tune
Value Stream Mapping & Kanban
Focus on reducing waste:•Handoffs•Cycle time•Things in progress•Waiting
Concept and Outline
Low Rez &Layout High Rez Lighting Design Tune
Billy Robert R.J Carlos Mike
Charles
Andrea
Scott
A 56% improvement in level production
Conclusion• 실천을 넘어 원칙을• 핵심은 Metrics• 재능과 리더십이 가장 중요하다 .
• ( 프로세스를 넘어 사람을 )• More info
• www.AgileGameDevelopment.com• www.MountainGoatSoftware.com
• CSM-VGD in May
Questions?