Agile Methodology in Game Development: Year 3 Clinton Keith CTO, High Moon Studios What We’ll Talk About: o o o o o o Why use Agile? Background on “Agile Methodology” at HMS and in general Overview of “Scrum” Agile Planning We’ll touch on eXtreme Programming The results of using Agile at High Moon o Application to game development o What were the lessons/benefits o o Where to go for more info? Q&A This is about what we experienced, not the “Right Way” to make games Why Adopt Agile? To find the fun first! Especially in Pre-Production Reduce wasted effort Especially in Production History of Agile at High Moon o Used Scrum in last year of Darkwatch o o Helped keep the project on track Have adopted XP and Agile planning practices on new projects over the last year Wasted Effort Can Come From “Noise” …and it influences what processes we use Far from Agreement Requirements Anarchy Complex Preproduction Agile Close to Agreement Simple Production - Lean Close to Certainty Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. Technology Far from Certainty Knowing the product value 100 80 % Value Known 60 Desired Actual 40 20 0 Time What is Agile Development? The Agile Manifesto: o Individuals and interactions over processes and tools; o Working software over comprehensive documentation; o Customer collaboration over contract negotiation; o Responding to change over following a plan; Scrum o o o Scrum is commitment-oriented Scrum is results-oriented Scrum is disciplined Origins of Scrum o “The New New Product Development Game” in Harvard Business Review, 1986. o o o Studied companies that were able to rapidly develop successful products Borrows the term from Rugby in which the ball gets moved up field by the entire team. Adopted for Software Development and used since mid 90’s Overview Daily Meeting (Scrum) 30 day cycle Tasks NPC Camera Gfx (Sprint) New version of the game Prioritized Game Features (Product Backlog) Review and Planning The Scrum Cast Product Owner Scrum Master Team Customers Product Backlog 24 hours Daily Scrum Meeting 30 day Sprint Backlog Backlog tasks expanded by team Sprint Product Backlog As prioritized by Product Owner Estimated for planning Broken down into stories that can fit in a sprint Potentially Shippable Product Increment Sprint Backlog Sprint Backlog broken out by team Sprint Sprint Goals Product Backlog New Game (Vertical Slice) No changes to the goals allowed during a Sprint in effect Change User Stories Sprint Tested Game Sprint Review and Planning Sprint Backlog broken out by team Sprint Sprint Goals Product Backlog New Game (Vertical Slice) Review and Planning Daily Scrum 24 hours Daily Scrum Meeting Sprint Backlog broken out by team 30 day Sprint Sprint Backlog Product Backlog As prioritized by Product Owner New Game Task Mon. Tues. Wed. Thurs. Code the widget 8 3 0 0 Create widget asset 16 16 10 4 Test middle tier 8 16 16 4 8 8 0 Write widget tester 50 40 30 20 10 0 Mon Tues Weds Thurs Sprint Backlog Burndown Chart 800 Drag works against velocity 700 Slope = Velocity 600 500 400 300 200 100 0 Dropped Story The War Room Scaling Scrum - The Scrum of Scrums Functional Leadership Support services Teams Other Agile Practices o o Agile Planning eXtreme Programming (XP) Agile Planning o You can’t plan away uncertainty o o o o o o You have to execute to reduce uncertainty Planning is spread out over the entire project Shifts the emphasis from “the plan” to planning Shifts from “completion of activities” to “delivery of features” Creates plans that are easily changed & encourage change Plans are focused on releases of the game. Works well for pre-production. Production should be predictable. Release Planning Sprint High Release Value Priority Future Releases Cost Risk Knowledge Low Release Planning 600 500 400 300 200 100 0 -100 -200 -300 eXtreme Programming (XP) Alpha/Beta Cost Of Change Development Design Time W aterfall XP XP Builds on Good Practices TDD Pair Programming Continuous Integration Refactoring Unit Testing Automated Build and Test Source Control Agile Game Development o o o Lessons learned Benefits Where to go for more info? Lessons Learned Getting Started o Start small o o Do what the book says from the start o o o But XP was easier Coaching was critical o o Company dysfunctions can creep in otherwise …but Scrum is meant to be modified (eventually) Agile planning is harder to start than thought o o One Scrum team doing a prototype would be ideal Onsite and CSM Publisher buy-in wasn’t difficult o Get them into reviews and planning Lessons Learned… Normal Velocity Overtime Velocity Overtime value is limited but 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 Waterfall Project End Iterations Testing needs to be pushed Waterfall Project Start Benefits o Improved… o o o o Productivity Reliability of build Quality of game Morale o o o o Ownership Team work Communication Enables low-cost executive awareness o Which means you don’t have to work hard to find out what’s going on Where to go for more info? o www.agilegamedevelopment.com o o o Books Mailing lists AGD Blog Questions?