47
Agile Game Development Clinton Keith Introducing agile to an industry

Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Agile Game Development

Clinton Keith

Introducing agile to an industry

Page 2: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 3: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Overview

• A growing industry headed for trouble• An agile solution?

Questions at the end

Applying agile to the video game industry

Page 4: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 5: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

A GrowingIndustry Headed

for Trouble

Page 6: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Spectacular Software Failures

Page 7: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Evolution of the Process

• I think of the evolution of our process occurring in three stages…

Page 8: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

The “Good Old Days”

Tony Oliver

Page 9: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

…and it showed

Page 10: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and
Page 11: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Stage 1 - Hacking

• Small teams of 1-5 people• Communication was not an issue• Hardware was expensive,

software cheap

Page 12: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Sound Fun?Proposal Prototype Test Unit$?

Success

Fun?

How an 80s Game was made

Page 13: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Stage 2 – Large scale hacking

• Team sizes 10-20 People• More organization• Requires visionary• Many developers are still

doing this

Page 14: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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…

Page 15: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

!"

#!"

$!"

%!"

&!"

'!!"

'#!"

'$!"

'(&!" '(&)" '((!" '(()" #!!!" #!!)"

People Years to Develop Games

Page 16: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

!"

#"

$!"

$#"

%!"

%#"

$&&'" %!!!" %!!(" %!!)"

*+,-"./0110+2,3"

4516,".70110+2,3"

Costs are growing much faster

Page 17: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

VG Industry is at a cross-roads

Page 18: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 19: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

AnAgile

Solution?

Page 20: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Adoption of Agile at High Moon

Page 21: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

High Moon & Scrum

Page 22: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 23: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 24: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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:

Page 25: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Solution #1: Functional Teams

AI

Animation

Graphics

Audio

Mechanics

Page 26: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Solution #2: Feature Teams

Fighting Shooting Driving Squad AI Online

Page 27: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Solution #3: Core Team & Dedicated Function & Feature Teams

Core(~30)

PS3(Function)

Driving(Feature)

Cinematics(Function)Production

(Function)

Online(Feature)

Engine & Tools(Function)

Page 28: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 29: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Pair Programming

Programmer Experience

ProblemComplexity

Pair

Don’tPair

Pair programming is a continuous peer review. It supports:

-Mentoring-Knowledge sharing-Consistent standards-Resource sharing

Page 30: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

XP

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

95%Metric

Build Stability

Page 31: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 32: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Modelers

Animators

Composers

Texture artists

Physics programmers

Animation programmers

Designers

Motion capture technicians

Scripters

Concept artists

Producers

Testers

Collaboration takes center stage

Page 33: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and
Page 34: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Production Costs

Preproduction

Production

Production

Production

ConceptLow RezHigh RezAudioTuning

Page 35: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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)

Page 36: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 37: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 38: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Production Improvement with Agile

A 56% improvement

Page 39: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Solving Two Problems

• Knowing “done”• Reducing waste

Page 40: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 41: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Smaller Batches

16 weeks per level

7 “zones” x ~2.2 weeks

Page 42: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 43: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 44: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Production Improvement with Agile

16 weeks per level to7 x 1 weeks per zone =a 56% improvement

Page 45: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 46: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

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

Page 47: Agile Game Development - Clinton Keithclintonkeith.com/resources/SoCalXP2009-AgileGameDevelopment.pdfgames underwater robotics, video 14 years of project management experience and

Questions?