18
Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

Scrum for Video Game Development

Mike Cohn - background

© Mountain Goat Software, LLC

1

2

Friday, February 9, 2007

Page 2: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

What is Scrum?

• One of the agile processes

• Iterative and incremental

• Produces demonstrable working software every two to four weeks

• Results- and commitment-oriented

• Not a silver bullet

• Has a long history of success on a wide variety of projects, including video game development

© Mountain Goat Software, LLC

Why Scrum for game development?

Time

% o

f “Fu

n”

Know

n

DesignPre-production

E3 demo

Production

Beta

3

4

Friday, February 9, 2007

Page 3: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

Project noise level

Simple

Complex

Anarchy

Complicated

Technology

Req

uir

emen

tsFar from

Agreement

Close toAgreement

Clo

se t

oC

erta

inty

Far

from

Cer

tain

ty

Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.

Pre-production

Production

© Mountain Goat Software, LLC

The Scrum project community

Programmer Programmer

Artist

Programmer

Tester

Tester

Animator

Artist

Internaldirector

Publisherproducer

Anyone(not an

authority role)

5

6

Friday, February 9, 2007

Page 4: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

Scrum roles and responsibilities

• Defines the features of the product, decides on release date and content

• Is responsible for the profitability of the product (ROI)

• Prioritizes features according to market value

• Can change features and priority every sprint

• Accepts or rejects work results

ProductOwner

• Ensures that the team is fully functional and productive

• Enables close cooperation across all roles and functions and removes barriers

• Shields the team from external interferences

• Ensures that the process is followed. Participates in daily scrum, sprint review and planning meetings

ScrumMaster

• Cross-functional, seven plus/minus two ideally full-time members

• Selects the sprint backlog

• Has the right to do everything within the boundaries of the project guidelines to reach the sprint goal

• Organizes itself and its work

• Demos work results to the Product OwnerTeam

© Mountain Goat Software, LLC

Sprints

Swim

Crouch

Jump

Sprint2-4 weeks

Jump

Sprint goal

Sprint backlog

Incrementallyimproved game

Productbacklog

7

8

Friday, February 9, 2007

Page 5: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

Review and planning

Swim

Crouch

Sprint2-4 weeks

Jump

Sprint goal

Incrementallyimproved game

Fly

Crouch

Fly

Swim

Sprint backlog

© Mountain Goat Software, LLC

The daily standup

Sprint2-4 weeks

Jump

Sprint goal

Incrementallyimproved game

Crouch

Fly

Swim

24 hours

Sprint backlog

9

10

Friday, February 9, 2007

Page 6: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

“Scrum facilitates feature iteration, allowing teams to deliver polished, tuned and integrated features which can be used to test the creative quality of the game throughout its development, allowing the team to incorporate audience feedback as early as possible in the development process.”

Scrum is iterative

© Mountain Goat Software, LLC

Sequential vs. overlapping development

Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.

Rather than doing all of one thing at a time...

...Scrum teams do a little of everything all the time

11

12

Friday, February 9, 2007

Page 7: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

A sample product backlog

© Mountain Goat Software, LLC

The product backlog iceberg

Sprint

Release

FutureReleases

Priority

13

14

Friday, February 9, 2007

Page 8: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

Detail is added as an item moves up the iceberg

© Mountain Goat Software, LLC

15

16

Friday, February 9, 2007

Page 9: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

Additional examples

© Mountain Goat Software, LLC

The sprint cycle

• Body Text with a bullet and

17

18

Friday, February 9, 2007

Page 10: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

•Product owner describes priorities•Team breaks product backlog items (features)

into tasks•Team commits to some amount of work

Sprint planning meeting

•Three questions:• What did you do yesterday?

• What will you do today?

• What’s in your way?

•A commitment between peers, not a management status meeting

Daily scrum

© Mountain Goat Software, LLC

•Team demonstrates what was accomplished•2-hour prep time rule•No PowerPoint!•Anyone can attend

Sprint review meeting

•Focus on continuous improvement•Look back at the last sprint and ask what would

we like to:• Start doing

• Stop doing

• Continue doing

Sprint retrospective

19

20

Friday, February 9, 2007

Page 11: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

A sprint backlog

Create close punch animations for attackers

Create close punch animations for responders

Adjust fight navigation

Fix camera bouncing off walls

Polish audio

8

16

8

12

8

4

12

16

8

4

11

8

4

8

8

Tune attack percentage in AI

8

10

16

8

8

© Mountain Goat Software, LLC

Reciprocal commitmentsThe team commits to delivering some amount of functionality

The business commits to leave priorities alone during the sprint

21

22

Friday, February 9, 2007

Page 12: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

No changes during a sprint

• What the team commits to—and what the product owner agrees to—during sprint planning should be what is delivered

• We start with vague requirements

• Our understanding of those requirements is refined during the sprint

However, keep in mind that...

© Mountain Goat Software, LLC

Abnormal terminations

• If change cannot be kept out of a sprint...

• The sprint may be abnormally terminated

•An extreme circumstance, not done very often

•Raises visibility of priority changes

...they feel they cannot meet the goal of a sprint.

Team can abnormally terminate if...

...priorities change.

Business can abnormally terminate if...

23

24

Friday, February 9, 2007

Page 13: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

Burndown charts

• Primary method of tracking progress

• A burndown chart shows how much work is left as of various dates

• Two types

• Release burndown

• Sprint burndown

© Mountain Goat Software, LLC

A sprint burndown chart

0

200

400

600

800

1,000

4/2

9/0

2

5/6

/02

5/1

3/0

2

5/2

0/0

2

5/2

4/0

2

Ho

urs

25

26

Friday, February 9, 2007

Page 14: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

Hours

40

30

20

10

0Mon Tue Wed Thu Fri

Create punch animations

Fix camera bouncing off walls

Polish audio

Tune attack percentage in AI

8

16

8

12

4

12

16

7

11

8

10

16 8

50

© Mountain Goat Software, LLC

Task boards

Story To DoIn

ProcessTo

Verify Done

27

28

Friday, February 9, 2007

Page 15: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

Burndownchart

Tasksto do

Productbacklog

Completedtasks

© Mountain Goat Software, LLC

29

30

Friday, February 9, 2007

Page 16: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

Release planning on long projects

• On a multi-year game, break the total project into a series of shorter interim internal “releases”

• Three months is a good horizon

• For each release, establish one or a few BHAGs (Big Hairy Audacious Goals)

© Mountain Goat Software, LLC

Scrum of scrums

31

32

Friday, February 9, 2007

Page 17: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

Scrum of scrums of scrums

© Mountain Goat Software, LLC

Augment with orthogonal teams

• Beyond a certain team size, augment the team structure with orthogonal, virtual teams

• Programming team

• Audio team

• AI team

• Informal or semi-formal at best

• Meet periodically

• Discuss and resolve issues related to their specialty

• May want to work off their own team backlog

33

34

Friday, February 9, 2007

Page 18: Scrum For VGD - Mountain Goat Software · 2015-01-29 · Scrum for Video Game Development Mike Cohn - background © Mountain Goat Software, LLC 1 2 Friday, February 9, 2007

© Mountain Goat Software, LLC

Upcoming public classes

© Mountain Goat Software, LLC

Mike Cohn contact info

35

36

Friday, February 9, 2007