Clinton Keith - Background Agile c oach and tra iner
24 yea rs of d evelop experi ence ment 14 yea r develo s of game pmen t expe rience 6 year s of ag il experi ence i e developm n the g ent indust ame ry Introdu c indust ed agile to t ry in M h arch 2 e 005
Introduction • More developers are using Scrum • Scrum isn’t the best fit for production, but we don’t want to drop all agile benefits: •
Continual improvement
•
Collaboration
•
The focus on value
• Describe how Lean production is used to modify Scrum practices
This talk.... Stages in game development Pre-production
Production Scrum with Lean tools & principles Flow
Scrum
Asset streams Time boxes Kanban
Stages in game development
Agile is phase-less Iteration
Iteration
Iteration
Design
Design
Design
Code
Code
Code
Create Assets
Create Assets
Create Assets
Debug & Tune
Debug & Tune
Debug & Tune
...is game development?
a/
ph
Al
ta
#4
#3
#2
#1
#3
#2
#1
Be
n
tio
uc
od
Pr
n
tio
uc
od
Pr
n
tio
uc
od
Pr
n
n
n
n
tio
uc
od
Pr
tio
tio
uc
Pr od
e-
Pr
tio
uc
Pr od
e-
Pr
uc
Pr od
e-
Pr
Not Quite
100%
75% Production Development Design Concept
50%
25%
0%
We have stages
Process tools partly driven by certainty Far from Agreement Anarchy
Complex Requirements
Co
(fun)
Scrum
m
pl
ic
at e
d Lean
Close to Agreement
Pre-production
Simple Production
Close to Certainty
Source: Strategic Management and Organizational az by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.
Technology
Far from Certainty
Iterative Incremental
Pre-Production vs. Production Pre-production
Production
Questions/ Statements
What is fun? How will we build it?
Build 10 hours of it!
Goals
Correctness
Efficiency
States of mind
Collaboration
Flow
Approach
Iterate and increment
Increment
Derived from Cooper2008
Lean Game Production Lean game production is a translation of lean manufacturing principles and practices to video game asset production.
The “Deming Cycle”
Seven Lean Principles • • • • • • •
Eliminate waste Amplify learning Decide as late as possible Deliver as fast as possible Empower the team Build integrity in (balance discipline) See the whole
Why Scrum teams use Lean for production
The problem using Scrum for production End of sprint
Model
Model
Rig
Animate
Rig
Animate
Team fails to achieve goal.... There is work-in-progress (WIP)
Audio pass
Audio pass
The problem using Scrum for production End of sprint
Model
Rig
Animate Model?
Audio pass
Discipline pools can help, but they promote local optimization, which works against flow
If the work is repeatable...
End of sprint
Model
Audio pass
Done
Rig
Animate
Audio pass
Done
Model
Rig
Animate
WIP
Model
Rig
WIP
Model
WIP
Animate
Audio pass
Rig
Animate
Done
Audio pass
Flow
Done
Flow is a state where... • • • • •
Work is repeatable and predictable Interruptions are minimized There is no waiting There is no buildup of “inventory” Improvements enter quickly
Three tools to help flow • Time boxes • Asset streams • Kanban
Time-boxing Assets 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
Finding the right time-box PDCA/Kaizen
Value to Customer
Timebox should keep us here
Cost
Asset streams Used to visualize and improve flow (simplified value stream maps)
Asset streams Concept
•
Low rez geometry
High rez geometry
Audio layout
Help visualize and manipulate flow • We want flow leveled throughout the stream, ideally balancing downstream consumption with upstream production • We want to shorten the amount of time from start to end • We want incremental improvements to affect everything in production quickly • Identify waste (everything not adding value)
Gameplay tuning
Leveling flow Concept
Low rez geometry
High rez geometry
Audio layout
Gameplay tuning
8 4 weeks
8 weeks
High rez geometry
8 weeks
Gameplay 16 tuning
weeks 8 weeks
High 12rez geometry
weeks
8 weeks Eliminate buffers
when possible, add them when necessary
= Over-production
= Waiting
Match time of every step to meet schedule demand (back and forth)
Takt & cycle time Concept
8 weeks
Low rez geometry
8 weeks
High rez geometry
Audio layout
Gameplay tuning
High rez geometry
8 weeks
Gameplay tuning
High rez geometry
8 weeks A team of 8 would release a level every 2 months (Takt Time)
Handoffs create a sense of handing-off responsibility Responsibility needs to be carried forward
Kanban A signaling system used to trigger action
Scrum vs. Kanban To do
Ongoing B C
Done A
D E
F
To do
Ongoing (2)
Buffer Ongoing Done (1) (1) A B
D F
E
C
ToDo (4)
Model (2)
Buffer Audio (1) (1)
Done A
B D F
C
E
Asset
Asset
Asset
Kanban in action ToDo (3)
Model (1)
Buffer (1)
Rig (1)
Buffer (1)
NPC NPC NPC NPC
NPC
Animate (1)
NPC
NPC NPC NPC
NPC
Model
Rig
Animate
Summary • Scrum and Lean have similar values • They can be mixed depending on the needs of the project • Level production example saw 56% improvement • Focus on takt and full cycle times
Finally... • For more information •
www.ClintonKeith.com
• Book out in Q1 2010 • CSM4VG Class Wednesday & Thursday • Questions?