Agile Methodology in Game Development: Year 3 Clinton Keith CTO, High Moon Studios
What We’ll Talk About: • History of Agile at High Moon • What is Agile? Why use it? • Overview of Scrum, one Agile Methodology • Agile Planning • We’ll touch on eXtreme Programming (XP) • The results of using Agile at High Moon • Q&A This is about what we experienced, not the “Right Way” to make games
History of Agile at High Moon • Used Scrum in last year of Darkwatch • Helped keep the project on track • Adopted XP and Agile planning practices on new projects over the last year
Why Adopt Agile? The Reasons/Goals: • Reduce wasted effort/crunch • To find the fun first Other industries have used Agile to develop better products faster. Can we?
What is Agile Development? The roots of Agile go back 60 years for product dev (in Japan) and 30+ years for software dev. The Agile Manifesto (modified for game dev): We value… • People and communication over processes and project management tools; • Working game over comprehensive design documents; • Publisher collaboration over milestone definitions; • Responding to change over following a plan;
Far from Agreement Anarchy Complex Requirements Complicated Simple Close to Agreement Technology Far from Certainty Close to Certainty Wasted Effort Can Come From “Noise”…and it influences what methodology we use Preproduction Production Source: Strategic Management and Organizational Dynamics by Ralph Staceyin Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.
Finding the Fun First Not fun yet? Alpha/Beta E3 Demo Production Preproduction Design
What is Scrum?Scrum is.. • One of the major Agile Methologies • Iterative • Commitment-oriented • Results-oriented • Disciplined • About making things visible so you can apply common sense
ProductOwner The Scrum Cast ScrumMaster Anyone. Not a lead role Director Artist Artist The Team Animator Marketing QA Programmer Customers Designer Publisher Producer
Product Backlog Jump Product Backlog as prioritized by Product Owner Crouch Defined as User Stories with conditions of satisfaction Run Estimated with relative User Story Points that help track progress
Sprints (Iteration) Change Sprint (Fixed Duration) Sprint Backlog broken out by team Sprint Goals Game Jump New Game (Vertical Slice Added) Crouch Run
Review and Planning Game Jump Fly Crouch Review and Planning Run
Daily Scrum Daily Scrum Game Jump Fly Crouch Run
The War Room CompletedTasks UserStories (Sprint Backlog) Tasks Burndown Chart
Jump User Story Task Mon. Tues. Wed. Thurs. 3 Jump Input Control 8 0 0 16 Jump Tuning 16 10 4 16 Jump Animation 8 16 4 Double Jump Option 8 8 0
Sprint Backlog Burndown Chart Drag works against velocity Slope = Velocity Hours Backlogged Story Days Must hit zero hours by end
Scaling Scrum - The Scrum of Scrums Functional Leadership Support services Teams
Releases – The Product Backlog Iceberg High Sprint Release Value Cost Priority Future Releases Risk Knowledge Low
eXtreme Programming (XP) Alpha/Beta Cost Of Change Development Design Time
Agile Game Development • Lessons learned • Benefits • Where to go for more info?
Lessons Learned • Start small • One Scrum team doing a prototype would be ideal • Do what the book says from the start • Company dysfunctions can creep in otherwise • Don’t get too dogmatic about it • …but Scrum is meant to be modified (eventually)
Lessons Learned… • Agile planning is harder to start than thought • But XP was easier • Coaching was critical • Onsite and CSM • Publisher buy-in wasn’t difficult • Getting them into reviews and planning took adjustment
Normal Velocity Lessons Learned… Overtime Velocity Overtime value is limited but average intensity is raised • Old Habits Die Hard • Over-design • Delayed integration • Seating by discipline • Command and control Week 1 Week 2 Week 3 Week 4 Week 5 Testing needs to be pushed
Benefits • Improved… • Productivity • Reliability of build • Quality of game • Morale • Ownership • Team work • Communication • Enables low-cost executive awareness • Which means you don’t have to work hard to find out what’s going on
Where to go for more info? • www.agilegamedevelopment.com • Books • Mailing lists – For Game Developers to share info on adopting Agile • AGD Blog – Addressing challenges and news on adopting Agile to Game Development Questions?