Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Agile Game Development
Clinton Keith
Introducing agile to an industry
Clinton Keith
24 years of development experience
Avionics, autonomous underwater robotics, video games
14 years of project management experience
7 years of Scrum, XP and Lean development experience4 years of Scrum coaching
experience
Agile coachand trainer
Overview
• A growing industry headed for trouble• An agile solution?
Questions at the end
Applying agile to the video game industry
People and communication
Process and Tools
The Agile Manifesto (for GD)
Working game
Customer collaboration
Responding to change
Design documentation
Contract negotiation
Following a plan
over
over
over
over
A GrowingIndustry Headed
for Trouble
Spectacular Software Failures
Evolution of the Process
• I think of the evolution of our process occurring in three stages…
The “Good Old Days”
Tony Oliver
…and it showed
Stage 1 - Hacking
• Small teams of 1-5 people• Communication was not an issue• Hardware was expensive,
software cheap
Sound Fun?Proposal Prototype Test Unit$?
Success
Fun?
How an 80s Game was made
Stage 2 – Large scale hacking
• Team sizes 10-20 People• More organization• Requires visionary• Many developers are still
doing this
Stage 3 – Waterfall to the rescue!
• Large design docs• Excel MS Project• Hierarchies & Producers• Phased development• Hard to kill after the first million $• The result…
!"
#!"
$!"
%!"
&!"
'!!"
'#!"
'$!"
'(&!" '(&)" '((!" '(()" #!!!" #!!)"
People Years to Develop Games
!"
#"
$!"
$#"
%!"
%#"
$&&'" %!!!" %!!(" %!!)"
*+,-"./0110+2,3"
4516,".70110+2,3"
Costs are growing much faster
VG Industry is at a cross-roads
Summary - The Problems
• The cost of making games is growing geometrically
• The failures are increasing• The value to the consumer is dropping• The working conditions for developers is decaying
AnAgile
Solution?
Adoption of Agile at High Moon
High Moon & Scrum
Not Quite “Phase-less”
0%
25%
50%
75%
100%
PreProd
uctio
n #1
PreProd
uctio
n #2
PreProd
uctio
n #3
Produc
tion #
1
Produc
tion #
2
Produc
tion #
3
Produc
tion #
4
Alpha/B
eta
PlanningCodeAsset CreationTuneDebug/Optimize
Adopting Scrum
• Challenges• Large teams > 150 people• Cross disciplined
• Artists• Musicians• Animators• Designers• Programmers
• Programmers thought it was logical• Everyone else was emotional• Besides, they didn’t have XP either
Problems with Large Teams
• Ownership/Commitment• 150 people can’t feel as much ownership as 8 people• The solution is to have the smaller teams have
ownership of “something”• What is that “something” and how do the teams
organize?• Three solutions tried:
Solution #1: Functional Teams
AI
Animation
Graphics
Audio
Mechanics
Solution #2: Feature Teams
Fighting Shooting Driving Squad AI Online
Solution #3: Core Team & Dedicated Function & Feature Teams
Core(~30)
PS3(Function)
Driving(Feature)
Cinematics(Function)Production
(Function)
Online(Feature)
Engine & Tools(Function)
FeatureProduct Owner
FeatureProduct Owner
A Hierarchy of Product Owners
FunctionalProduct Owner
FunctionalProduct Owner
FunctionalProduct Owner
GameProduct Owner
Visionaries for global/local products
All members of their teams (pigs/ninjas)
Game PO works with feature/functional product owners to
establish vision and priorities for their teams
Pair Programming
Programmer Experience
ProblemComplexity
Pair
Don’tPair
Pair programming is a continuous peer review. It supports:
-Mentoring-Knowledge sharing-Consistent standards-Resource sharing
XP
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
95%Metric
Build Stability
Agile for Artists and Designers
• Real flow is more complex• Specialists vs. generalists• “Done” is variable• There are no XP-like
practices for artists and designers
• Content production costs are the highest
Modelers
Animators
Composers
Texture artists
Physics programmers
Animation programmers
Designers
Motion capture technicians
Scripters
Concept artists
Producers
Testers
Collaboration takes center stage
Production Costs
Preproduction
Production
Production
Production
ConceptLow RezHigh RezAudioTuning
The problem using Scrum for productionScrum does not represent multi-step workflow transparently.
Model Rig AnimateAudiopass
End of sprint
Model Rig AnimateAudiopass
Team fails to achieve goal....all work-in-progress (WIP)
Cross-discipline teams cannot share the work evenly
Model Rig AnimateAudiopass
End of sprint
Model?
The problem using Scrum for production
Discipline pools can help, but they promote local optimization, which works against flow
If the work is repeatable...
Model Rig AnimateAudiopass
End of sprint
Model Rig AnimateAudiopass
Model RigAnimateAudiopass
ModelRig AnimateAudiopass
It should flow
Done
WIP
WIP
WIP
Done
Done
Done
Production Improvement with Agile
A 56% improvement
Solving Two Problems
• Knowing “done”• Reducing waste
Time-boxing Art
A time-box is a fixed length of time given to produce results. The results are variable.
“When forced to work within a strict framework the imagination is taxed to its utmost-and will produce richest ideas. Given total freedom the work is likely to sprawl.” -TS Eliot
Smaller Batches
16 weeks per level
7 “zones” x ~2.2 weeks
Waste in the Stream
Concept&
Outline
Low Rez /
Layout
High Rez Audio Design
Tune
12 concept art pieces per zone (handoff)Takes 2+ weeksNot 100% usedDifferent department
Stalls in the stream caused the most problems here
Concept&
Outline
Low Rez /
Layout
High Rez Audio Design
Tune
Kanban
Concept and Outline
Low Rez &Layout High Rez Audio Design Tune
Billy Robert R.J Carlos Mike
Charles
Andrea Scott
Production Improvement with Agile
16 weeks per level to7 x 1 weeks per zone =a 56% improvement
Product Challenges & the Future
• 2-3 year development cycles• Can’t iterate with real customers• Reviewers drive much of market
• They are “hard core” gamers, not like the market.
• Opportunities to be more agile• Online delivery of games• Episodic content
Conclusion
• Scrum “by the book” is a great starting place• Principles work• Focus on applying agile to an industry rather
than the other way around• Examples are everywhere
Questions?