490 likes | 819 Views
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?.
E N D
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
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 communication Customer collaboration Responding to change Design documentation Contract negotiation Process and Tools Working game Following a plan The Agile Manifesto - applied to game development over over over over www.AgileManifesto.org
Why Adopt Agile? • Reduce wasted effort/crunch • To find the fun first
Finding the fun first Alpha/Beta E3 Demo Production Preproduction Design
Process tools partly driven by certainty Far from Agreement Anarchy Scrum Complex Requirements (fun) Complicated Simple Close to Agreement Close to Certainty Far from Certainty Technology Source: Strategic Management and Organizational az by Ralph Staceyin Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.
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 of Scrum
Daily Scrum 24 hours Sprint goal Crouch Fly Crouch Swim Swim Jump Fly Jump Sprint 2-4 weeks Sprint backlog Incrementally improved game Scrum Product backlog
Scrum Master Programmer Internal director Programmer Product Owner Artist Artist The Team Publisher producer Anyone (not an authority role) Tester Programmer Animator Designer The Scrum Project Community
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
The Task Board CompletedTasks UserStories Tasks (Sprint backlog) Burndown Chart
Sprint Backlog Burndown Chart Drag works against velocity Slope = Velocity Hours Backlogged Story Days Must hit zero hours by end
“A project doesn’t become a year late overnight....it loses hours a day” - Fred Brooks Scaling Scrum Functional Leadership Support services Team Team Team
eXtreme Programming
XP XP stands for eXtreme Programming is an agile methodology which includes Test Driven Development (TDD) and Pair Programming practices 95% Metric
Pair Programming • Pair programming is a continuous peer review. • It supports: • Mentoring • Knowledge sharing • Consistent standards • Resource sharing Pair Problem Complexity Don’t Pair Programmer Experience
Agile planning
DONE End? End? End? End? Agile without planning Start
Plans are nothing. Planning is everything. Dwight Eisenhower The “Cone of Uncertainty” Traditional vs. agile planning Start Goal Plan directed work Iterative Planning End
The product backlog iceberg Sprint Priority Release Future Releases
A project is a series of releases Green Light Pre Production Alpha Beta Production Release Release Release Release Release Release Release Release Release Release
Preproduction vs. Production Preproduction 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
Process tools partly driven by certainty Far from Agreement Anarchy Scrum Complex Requirements (fun) Lean Pre-production Complicated Simple Production Close to Agreement Close to Certainty Far from Certainty Technology Iterative Source: Strategic Management and Organizational az by Ralph Staceyin Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. Incremental
Lean game production is a translation of lean manufacturing principles and practices to video game asset production. Lean Game Production The “Deming Cycle”
Concept Low rez geometry High rez geometry Audio layout Gameplay tuning Buffer (1) Ongoing (2) Ongoing (1) Done To do A B C D E F Lean Game Production
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 Seven Lean Principles Lean chapter on website
Now for the bad news... The myths.....
Scrum will prevent problems (or solve them for you)
Scrum does not require competent leadership
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 Questions?