Agile Methodology and Scrum in Game Development Clinton Keith VP/Director of Technology, High Moon...

Click here to load reader

  • date post

    17-Dec-2015
  • Category

    Documents

  • view

    212
  • download

    0

Embed Size (px)

Transcript of Agile Methodology and Scrum in Game Development Clinton Keith VP/Director of Technology, High Moon...

  • Slide 1
  • Agile Methodology and Scrum in Game Development Clinton Keith VP/Director of Technology, High Moon Studios
  • Slide 2
  • What well talk about: The Goal and the ProblemsThe Goal and the Problems Overview of Agile MethodologyOverview of Agile Methodology Description of ScrumDescription of Scrum The challenges we had using Scrum for game developmentThe challenges we had using Scrum for game development What were the benefits What lessons were learned What we will do next Q&AQ&A This is about what we experienced, not the Right Way to make games
  • Slide 3
  • The Goal Better Games at Lower Cost
  • Slide 4
  • The Problems Simple Complicated Anarchy Complex Close to Certainty Far from Certainty Technology Close to Agreement Far from Agreement Requirements Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. Project noise impacts process selected
  • Slide 5
  • The Problems oTeam Size oCommunication challenge increases faster than team size oCentralized command and control gets overwhelmed oDecision bottlenecks
  • Slide 6
  • The Problems oIssues with Traditional Methodology oWaterfall oUp front design does not reduce risk as much as we think oDelays true understanding of the game oSurprises creep up on you
  • Slide 7
  • Knowing the product value
  • Slide 8
  • 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;
  • Slide 9
  • The Four Major Agile Methodologies XP (eXtreme Programming)XP (eXtreme Programming) EvoEvo RUP (Rational Unified Process)RUP (Rational Unified Process) ScrumScrum
  • Slide 10
  • What is Scrum? Scrum is commitment-orientedScrum is commitment-oriented Scrum is results-orientedScrum is results-oriented Scrum is disciplinedScrum is disciplined Scrum has specific roles, artifacts and practicesScrum has specific roles, artifacts and practices
  • Slide 11
  • Origins The New New Product Development Game in Harvard Business Review, 1986.The New New Product Development Game in Harvard Business Review, 1986. 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 90sAdopted for Software Development and used since mid 90s
  • Slide 12
  • Gfx Overview Camera NPC 30 day cycle Prioritized Game Features Tasks New Version of the game Daily Meeting (Product Backlog) (Sprint) (Scrum)
  • Slide 13
  • The Elements of Scrum The Scrum TeamThe Scrum Team CustomersCustomers Product OwnerProduct Owner The Product BacklogThe Product Backlog Sprints (30 day iterations)Sprints (30 day iterations) Planning Reviewing What happens within a Sprint ScalabilityScalability
  • Slide 14
  • The Scrum Team Typically 5-10 peopleTypically 5-10 people Cross-functionalCross-functional Programmers, Designers, Artists, QA etc. Teams are self-organizingTeams are self-organizing No hierarchies Membership can change only between sprintsMembership can change only between sprints
  • Slide 15
  • The Scrum Master Can be any member of the teamCan be any member of the team Responsible for enacting Scrum values and practicesResponsible for enacting Scrum values and practices Main job is to remove impedimentsMain job is to remove impediments Can be certifiedCan be certified Not a lead roleNot a lead role
  • Slide 16
  • A story/moral about opening a dinerA story/moral about opening a diner The definition of a Pig is someone who makes a personal commitment to the success of the projectThe definition of a Pig is someone who makes a personal commitment to the success of the project One perspective is that Scrum is all about getting rid of the Chickens!One perspective is that Scrum is all about getting rid of the Chickens! The Scrum Team Its all about pigs and chickens
  • Slide 17
  • Customers Customers of the productCustomers of the product Publisher Marketing Management DirectorsDirectors Usually ChickensUsually Chickens
  • Slide 18
  • Product Owner Owns and prioritizes the Product BacklogOwns and prioritizes the Product Backlog Needs to be localNeeds to be local Mediates customer requests & prioritiesMediates customer requests & priorities
  • Slide 19
  • Sprints 30 day Sprint 24 hours Product Backlog As prioritized by Product Owner Sprint Backlog Backlog tasks expanded by team Potentially Shippable Product Increment Daily Scrum Meeting
  • Slide 20
  • Sprints Scrum projects make progress in a series of SprintsScrum projects make progress in a series of Sprints Target duration is one monthTarget duration is one month +/- a week or two But, a constant duration leads to a better rhythmBut, a constant duration leads to a better rhythm Game iteration is designed, coded, and tested during the sprintGame iteration is designed, coded, and tested during the sprint Vertical slices
  • Slide 21
  • Product Backlog 30 days Product Backlog As prioritized by Product Owner
  • Slide 22
  • Product Backlog A list of all desired work on the projectA list of all desired work on the project Prioritized by value No items are coarser than a sprint Can be time-boxed or estimated for planningCan be time-boxed or estimated for planning
  • Slide 23
  • Sample Product Backlog Backlog item Estimate (person-weeks) Break props into separate rigid bodies 1 Arrow projectiles stick to environment 0.5 Ragdolls can lose limbs 2 NPCs avoid dynamite thrown at them 4 Improve exception handling 0.5
  • Slide 24
  • Running a Sprint Creating Sprint GoalsCreating Sprint Goals Sprint Goals to Sprint BacklogSprint Goals to Sprint Backlog Changes to Goals and BacklogChanges to Goals and Backlog Reviewing Sprint ProgressReviewing Sprint Progress Daily Meetings (Scrums)Daily Meetings (Scrums) Working with the Sprint BacklogWorking with the Sprint Backlog The War RoomThe War Room
  • Slide 25
  • Sprint Backlog 30 days Product Backlog As prioritized by Product Owner Sprint Goals
  • Slide 26
  • Sprint Planning Meeting Selects set of Sprint goals from the Product BacklogSelects set of Sprint goals from the Product Backlog This is what the team will work on over the next SprintThis is what the team will work on over the next Sprint Place & time for all the pigs and chickens to get their sayPlace & time for all the pigs and chickens to get their say
  • Slide 27
  • Sprint Planning Meeting Sprint Planning Meeting Product backlogTeam capabilitiesBusiness conditionsTechnologyCurrent product Product ownerScrum teamManagementScrumMaster Sprint goals Customers
  • Slide 28
  • Sprint Backlog 30 day Sprint Product Backlog As prioritized by Product Owner Sprint Backlog Sprint Backlog broken out by team Potentially Shippable Product Increment
  • Slide 29
  • Sprint Backlog Scrum team takes the Sprint Goals and determines what tasks are necessaryScrum team takes the Sprint Goals and determines what tasks are necessary The tasks become the Sprint Backlog Usually written on cards and posted on a wall Highest priority goals/tasks are worked on first (placed higher on the wall)
  • Slide 30
  • Managing Sprint Backlog Team self-organizes around how theyll meet the Sprint GoalTeam self-organizes around how theyll meet the Sprint Goal Managers dont assign tasks to individuals Individuals estimate their own tasks No tasks can exceed 16 hours. Beyond 16 hours, the crystal ball gets foggy The main point is that managers dont make decisions for the teamThe main point is that managers dont make decisions for the team
  • Slide 31
  • No changes to the goals allowed during a Sprint in effect Sprint Inputs Tested Code Change Plan sprint durations around how long you can commit to keeping change out of the SprintPlan sprint durations around how long you can commit to keeping change out of the Sprint Resetting the Sprint is an optionResetting the Sprint is an option
  • Slide 32
  • Sprint Backlog during the Sprint Changes to BacklogChanges to Backlog Team adds new tasks whenever they need to in order to meet the Sprint Goal Team can remove unnecessary tasks But: Sprint Backlog can only be updated by the team Estimates are updated whenever theres new informationEstimates are updated whenever theres new information
  • Slide 33
  • Sprint Review Product Backlog As prioritized by Product Owner Sprint Backlog Potentially Shippable Game 30 day Sprint Sprint Backlog broken out by team
  • Slide 34
  • Sprint Review Team presents what it accomplished during the sprintTeam presents what it accomplished during the sprint Typically takes the form of a demo of new features or underlying architectureTypically takes the form of a demo of new features or underlying architecture ParticipantsParticipants Same as the planning meeting
  • Slide 35
  • Daily Scrum 24 hours Product Backlog As prioritiz