Agile Game Development Introducing agile to an industry Clinton Keith
Clinton Keith Agile c oach and tra iner 24 yea rs of dev elopm ence ent experi Avioni c underw s, autonomo u games ater robotics s, video 14 yea r experi s of project manag ence ement 7 year s develo of Scrum, X pment P experi and Lean ence 4 year s of Sc experi r ence um coachin g
Overview Applying agile to the video game industry A growing industry headed for trouble An agile solution? Questions at the end
The Agile Manifesto (for GD) People and communication over Process and Tools Working game over Design documentation Customer collaboration over Contract negotiation Responding to change over Following a plan
A Growing Industry 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
How an 80s Game was made Proposal Sound Fun? Prototype Fun? Test Unit $? Success
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 '$!" '#!" '!!" &!" %!" $!" #!"!" '(&!" '(&)" '((!" '(()" #!!!" #!!)"
Costs are growing much faster %#" %!" $#" $!" *+,-"./0110+2,3" 4516,".70110+2,3" #"!" $&&'" %!!!" %!!(" %!!)"
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
An Agile Solution?
Adoption of Agile at High Moon
High Moon & Scrum
Not Quite Phase-less 100% 75% 50% Debug/Optimize Tune Asset Creation Code Planning 25% 0% PreProduction #1 PreProduction #2 PreProduction #3 Production #1 Production #2 Production #3 Production #4 Alpha/Beta
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 Mechanics AI Animation Graphics Audio
Solution #2: Feature Teams Fighting Shooting Driving Squad AI Online
Solution #3: Core Team & Dedicated Function & Feature Teams Driving (Feature) Production (Function) Core (~30) Cinematics (Function) PS3 (Function) Online (Feature) Engine & Tools (Function)
A Hierarchy of Product Owners Game Product Owner Visionaries for global/ local products Functional Product Owner Feature Product Owner Feature Product Owner Functional Product Owner Functional Product Owner 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 Pair programming is a continuous peer review. It supports: -Mentoring -Knowledge sharing -Consistent standards -Resource sharing Problem Complexity Pair Programmer Experience Don t Pair
XP Build Stability 95% Metric 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%
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
Collaboration takes center stage Motion capture technicians Designers Testers Producers Modelers Concept artists Scripters Texture artists Physics programmers Animation programmers Animators Composers
Production Costs Production Concept Low Rez High Rez Audio Tuning Preproduction Production Production
The problem using Scrum for production Scrum does not represent multi-step workflow transparently. End of sprint Model Rig Animate Audio pass Model Rig Animate Audio pass Team fails to achieve goal... all work-in-progress (WIP)
The problem using Scrum for production Cross-discipline teams cannot share the work evenly End of sprint Model Rig Model? Animate Audio pass Discipline pools can help, but they promote local optimization, which works against flow
If the work is repeatable... End of sprint Model Rig Animate Audio pass Done Audio pass Done Model Rig Animate WIP Animate Audio pass Done Model Rig WIP Rig Animate Audio pass Done Model WIP It should flow
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+ weeks Not 100% used Different department Stalls in the stream caused the most problems here
Kanban Concept & Outline Low Rez / Layout High Rez Audio Design Tune 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 to 7 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?