an introduction to agile game development with scrum, xp and lean
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 PresentationTRANSCRIPT
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
www.ClintonKeith.com
www.ClintonKeith.com