An Introduction to Agile Game Development with Scrum, XP and Lean

Preview:

DESCRIPTION

An Introduction to Agile Game Development with Scrum, XP and Lean. Presented by Clinton Keith. Overview. What is agile? Why use it? Overview of Scrum Agile Planning Lean Game Production Expectations Q&A. What is agile?. - PowerPoint PPT Presentation

Citation preview

An Introduction to Agile Game

Development with Scrum, XP and Lean

Presented by Clinton Keith

24 years of development experience14 years of game development experience6 years of agile

development experience in the game industryIntroduced agile to

the industry in March 2005

Agile coachand trainer

Clinton Keith - Background

Overview

• What is agile? Why use it?

• Overview of Scrum• Agile Planning• Lean Game Production• Expectations• Q&A

What is agile?What is agile?What is agile?What is agile?

Agile is an approach for developing products using short iterations and using the results of each iteration to adjust the project plan

• Each iteration is like a short project in itself

• Uses “inspect and adapt” practices to adjust the goals and measure progress

People and communicatio

n

Process and Tools

The Agile Manifesto - applied to game development

Working game

Customer collaboration

Responding to change

Design documentation

Contract negotiation

Following a plan

over

over

over

over

www.AgileManifesto.org

Why Adopt Agile?

oReduce wasted effort/crunch

oTo find the fun first

Design

E3 Demo

Preproduction

Production

Alpha/Beta

Finding the fun first

Simple

Complicated

Anarchy

Complex

Close toCertainty

Far fromCertaintyTechnology

Close toAgreement

Far fromAgreement

Requirements

(fun)

Source: Strategic Management and Organizational az by Ralph Stacey in Agile Software Development with Scrum by Ken

Schwaber and Mike Beedle.

Process tools partly driven by certainty

ScrumScrumScrumScrum

Reducing waste

• Discover what works before mass producing it

• As much as possible, don’t postpone value, debugging and optimization until the end

• Let value, risk, cost and knowledge drive the order of what we work on rather than a preordained schedule

Overview Overview of Scrumof Scrum

Overview Overview of Scrumof Scrum

Scrum

Swim

Crouch

Jump

Sprint2-4 weeks

Jump

Sprint goal

Sprint backlog

Incrementallyimproved game

Productbacklog

FlySwim

Fly

Crouch

Daily Scrum

24 hours

The Scrum Project Community

Programmer Programmer

Artist

Programmer

Designer

Tester

Animator

ArtistThe

TeamThe

Team

Internaldirector

Publisherproducer

Product Owner

Product Owner

ScrumMasterScrumMaster

Anyone(not an

authority role)

Always deliver

• You must have a potentially demoable / playable game at the end of each sprint

• Do not miss the end of the sprint

• The deadline is sacred

• Functionality may vary

Reciprocal commitments

The team commits to delivering some amount of

functionality

The business commits to leave priorities alone during

the sprint

User Stories Tasks (Sprint backlog) Completed Tasks

Burndown Chart

The Task Board

Backlogged Story

Slope = Velocity

Drag works against velocity

Must hit zero hours by end

Days

Hours

Sprint Backlog Burndown Chart

Scaling Scrum

Team

Support services

Functional Leadershi

p

TeamTeam

“A project doesn’t become a year late overnight....it loses hours a day” - Fred

Brooks

eXtremeeXtreme

ProgrammingProgrammingeXtremeeXtreme

ProgrammingProgramming

XPXP stands for eXtreme Programming is an agile

methodology which includes Test Driven Development (TDD) and Pair Programming

practices

95%Metric

Pair Programming

Programmer Experience

ProblemComplexity

Pair

Don’tPair

Pair programming is a continuous peer review. It supports:-Mentoring-Knowledge sharing-Consistent standards-Resource sharing

AgileAgileplanningplanning

AgileAgileplanningplanning

DONEDONEDONEDONE End?

End?

End?

End?

Start

Agile without planning

The “Cone of Uncertainty”

Traditional vs. agile planning

Start Goal

End

Plan directed work

IterativePlanning

Plans are nothing. Planning is everything.

Dwight Eisenhower

The product backlog iceberg

Sprint

Release

FutureReleases

Priority

A project is a series of releases

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Green

Light

PreProduction Production

AlphaBeta

LeanLeanLeanLean

We have stages

Questions/StatementsQuestions/StatementsQuestions/StatementsQuestions/Statements

PreproductionPreproductionPreproductionPreproduction ProductionProductionProductionProduction

GoalsGoalsGoalsGoals

States of mindStates of mindStates of mindStates of mind

ApproachApproachApproachApproach

What is fun? How What is fun? How will we build it?will we build it?

What is fun? How What is fun? How will we build it?will we build it?

CollaborationCollaborationCollaborationCollaboration

Iterate and Iterate and incrementincrement

Iterate and Iterate and incrementincrement

Build 10 hours of it!Build 10 hours of it!Build 10 hours of it!Build 10 hours of it!

EfficiencyEfficiencyEfficiencyEfficiency

FlowFlowFlowFlow

IncrementIncrementIncrementIncrement

CorrectnessCorrectnessCorrectnessCorrectness

Derived from Cooper2008

Preproduction vs. Production

Simple

Complicated

Anarchy

Complex

Close toCertainty

Far fromCertainty

Close toAgreement

Far fromAgreement

Source: Strategic Management and Organizational az by Ralph Stacey in Agile Software Development with Scrum by Ken

Schwaber and Mike Beedle.

Process tools partly driven by certainty

Pre-production

Production

Iterative

Incremental

ScrumScrumScrumScrum

LeanLeanLeanLean

Requirements

(fun)

Technology

Lean Game Production

Lean game production is a translation of lean manufacturing principles and practices to video game asset production.

The “Deming Cycle”

Lean Game Production

To doOngoing

(1) Done

D

A

B

C

Ongoing(2)

E

Buffer(1)

F

ConceptConcept Low rez geometry

Low rez geometry

High rezgeometry

High rezgeometry

Gameplay tuning

Gameplay tuning

Audio layout

Audio layout

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 wholeLean chapter on website

Now for the bad news...

The myths.....

Scrum will prevent problems

Scrum will prevent problems

(or solve them for you)

(or solve them for you)

Scrum will prevent problems

Scrum will prevent problems

(or solve them for you)

(or solve them for you)

Scrum can achieve impossible goalsScrum can achieve impossible goalsScrum can achieve impossible goalsScrum can achieve impossible goals

Scrum does not require Scrum does not require competent leadershipcompetent leadershipScrum does not require Scrum does not require competent leadershipcompetent leadership

Starting agile

Questions?Questions?

• Onsite classes and coaching• Team training, Advanced Scrum, Lean Production

• Certified ScrumMaster for Game Development course• Before IGDA Leadership Forum, November 10th &

11th• Agile Game Development book in early 2010• These slides are posted on my website

Clint@ClintonKeith.com

www.ClintonKeith.com

Clint@ClintonKeith.com

www.ClintonKeith.com