agile, scrum and kanban for video game …...agile, scrum and kanban for video game development a...

48
Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.

Upload: others

Post on 07-Aug-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

Agile, Scrum and Kanban for Video Game Development

A tour of what agile is and what can be applied (or not) to video game development.

Page 2: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

Clinton Keith - Background

• Full-time agile trainer and coach for video game development

• 20 Years of Video Game Development Experience

• Introduced the Video Game Industry to Scrum and Kanban

• Author of “Agile Game Development with Scrum”

Page 3: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

What is Agile?• It’s a set of values and principles (link below) for developing

products using short iterations, which

• Are like short projects

• Include design, code, art and testing

• Use “inspect and adapt” practices to adjust the project plan and development practices

• Focus on adding features in a value prioritized way (fun first)

• Include frameworks such as Scrum and Kanban that best fit the complexity and uncertainly level of work

http://agilemanifesto.orgChapter 2

Page 4: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

What is Scrum?

• It’s an implementation of the agile values and principles

• It defines three roles, four meetings and a few artifacts used to kickstart an agile adoption

• It focuses on cross-discipline teams iterating in “sprints”

Chapter 3

Page 5: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

% "

Fun"

Kno

wn

0

25

50

75

100

Time

1 2 3 4 5 6 7 8 9 10 11 12 13

Design

E3 Demo

Preproduction

Production

Alpha/Beta

Why Scrum for Video Game Development?Focuses on “Finding the Fun”Reduces wasted effortEliminates death marchesEngages developersCreates transparency

Chapter 3

Page 6: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

NPC #3

The Scrum Cycle

Swim

Crouch

Sprintgoal

(features)

FlySprintbacklog(tasks)

Jump

Sprintplanning

DailyMeeting

Sprint1-3weeks

ImprovedGame

Productbacklog

Progress is tracked through iterations (sprints) that demonstrate real progress every 1-3 weeksPlanning is captured in a “Product Backlog” that allows the plan and game to be continually synchronized

Page 7: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Product backlog

• The requirements

• A list of all desired work on the project

• Ideally expressed such that each item has value to the players

• Prioritized by the Product Owner

• Reprioritized at the start of each sprint

This is the product backlog

Page 8: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Scrum roles

Scrum Team

ProductOwner

Developers

ScrumMaster

The Scrum Team commits to accomplishing sprint goals, with qualityThe stakeholders outside the team commit to letting them do that

Page 9: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

The Developers

• Commit to a sprint goal with Product Owner and does everything necessary to achieve that goal

• Autonomous on how to achieve their goal.• Remove most impediments• Intensely collaborative.• Most successful when working in one team room with long-term, full-time

membership.• 7 ± 2 members.• Attend all sprint meetings• Grow their ability to self-organize

Page 10: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

The Scrum Master

• Facilitates the Scrum practices, meetings and artifacts.• Helps resolve impediments• Creates an environment conducive to team self-

organization• Captures empirical data• Shields the team from external interference and

distractions to keep it in “the zone”.• Enforces time-boxes• Keeps Scrum artifacts visible• Promotes improved practices• Has no management authority over the team• Supports and guides the Product Owner role• Coaches & guides the team on agile/Scrum principles• Challenges the organization to approach the agile values

Page 11: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Product Owner Duties• Establishes a shared vision between the team and

stakeholders.• Is responsible for the long-term schedule of the game’s

development, using the metrics from team output and the product backlog (more below). Continuously prioritizes and refines the product backlog

• Conveys a shared vision• Represents the players and stakeholders• Participates in all Scrum meetings• Is a member of the Scrum team and can take on team

tasks.• Accepts or rejects sprint results• Communicates status externally• Terminates a sprint if needed• Ensures that the items in the backlog are relevant to

their features, or that their feature is dependent on, are tracked, sized and prioritized accurately.

Page 12: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Sprints• Scrum projects make progress

in a series of sprints

• During the sprint, the team does

• Animation

• Coding

• Testing

• Level design

• and so on

• After each sprint, the improved game can be played / demoed

This is the sprint

Chapter 4

Page 13: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

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

Page 14: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Reciprocal commitmentsThe team commits to delivering some amount of functionality

The business commits to leave priorities alone during the sprint

Page 15: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

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

Page 16: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Sprint length• Most common lengths:

• 1, 2 or 3 weeks

• You can change your sprint length, but not every sprint

• How long the business can go without changing its mind• Amount of uncertainty on the game• Ability to reliably predict effort on tasks three weeks out• The overhead of planning, executing and reviewing once a

week• Pick a length that spreads intensity appropriately

Factors to consider...

Page 17: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Intensity varies over time

Months

Inte

nsity

Waterfall

Scrum

By delivering value prioritized features and addressing debt every 1-3 weeks, Scrum creates a sustainable and measurable pace that can eliminate death marches

Page 18: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

The Sprint Cycle

Spri

nt R

etro

spec

tive

Daily Scrums Spri

nt R

evie

w M

eetin

g

Spri

nt P

lann

ing

Mee

ting

Spri

nt P

lann

ing

Mee

ting

• Body Text with a bullet and

Page 19: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

An example Sprint calendar

1 2 3 4 5

6 7 8 9 10

+1

Monday Tuesday Wednesday Thursday Friday

SprintDay

Lunch

Sprint Review

Sprint Planning

Retrospective

“Sprint Day”

SprintDay

10 AM

11 AM

1 PMThe “overhead” of sprint planning, review and retrospectives should be less than 10% of total team timeThese meetings should be engage everyone, not run by one person

Page 20: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Sprint Planning Meeting• Team selects items from the product backlog they can

commit to completing

• Sprint backlog is created• Tasks are identified and each is estimated

• Collaboratively, not done alone by the Scrum Master

• Very high-level design is considered

As a player I want punches, reactions and blocks synchronized, so that fighting looks natural and realistic

Create close punch animations (12 hours)Tune attack percentage in AI (4)Remap controls so attacks are on free buttons (4)Tune block and reaction animations to be same length (2)

Page 21: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Managing the sprint backlog• Individuals sign up for work of their own choosing

• Work is never assigned

• Estimated work remaining is updated daily

• Any team member can add, delete or change the sprint backlog

• Work for the sprint emerges

• If work is unclear, define a sprint backlog item with a larger amount of time• Break it down later

• Update work remaining as either• More is known

• Items are worked on

Page 22: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Task boards

As a user, I... 8 points

Story To DoIn

ProcessTo

Verify DoneCode the... 9

Code the... 2

Test the... 8

As a user, I... 5 points

Code the... 8

Code the... 4Code the...

6

Code the... 4

Test the... 8

Code the... 8

Code the... MC 4

Test the... SC 8

Code the... DC 8

Test the... SC 8

Test the... MC 8

Code the... LC 8

Test the... SC 4

Test the... 8

Code the... 8

Test the... 4

Test the... 8

Page 23: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Burndown charts• Primary method of tracking progress

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

0

200

400

600

800

1,000

4/29

/02

5/6/

02

5/13

/02

5/20

/02

5/24

/02

Page 24: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

The Daily Scrum

• Parameters

• Daily

• 15-minutes

• Stand-up

• Not for problem solving

• Whole world is invited

• Only Developers, Scrum Master and (a well behaved) Product Owner, can talk

• Helps avoid other unnecessary meetings

Page 25: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

Everyone answers 3 questions

What did you do yesterday?1

What will you do today?2

Is anything in your way?3

• These are not status for the Scrum Master• They are commitments in front of peers

Page 26: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

The Sprint Review

• Team presents what it accomplished during the sprint

• Typically takes the form of a demo of new features or underlying architecture

• Informal• 2-hour prep time rule

• No slides

• Whole team participates

• Invite the world

Page 27: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Typical review results• Restore unfinished functionality to the Product

Backlog

• Remove functionality from the Product Backlog that the team unexpectedly completed

• Reformulate the team

• Re-prioritize the Product Backlog based on what we find is fun (or not)

• Expand or cut features

Page 28: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Sprint Retrospective

• Periodically take a look at what is and is not working

• Typically 15–30 minutes

• Done after every sprint

• Whole team participates

• Scrum Master

• Product owner

• Developers

• Possibly customers and others (invitation only)

Page 29: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

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

• The sprint may be reset

• Don’t substitute one feature for another in the existing sprint!

•An extreme circumstance, not done very often

•Raises visibility of priority changes

• All work-in-progress from the current sprint is set aside

• Work might revert to where it was at the end of the prior sprint

• Next step is to plan a new sprint

After resetting...

Page 30: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Abnormal Terminations

• Team can abnormally terminate if…

• They feel they cannot meet the overall sprint goal

• Management can abnormally terminate if…

• Business priorities change

Page 31: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Releases

Spri

nt 1

Spri

nt 2

Spri

nt 3

Spri

nt 4

Spri

nt 5

Spri

nt 6

Release

Spri

nt 7

Spri

nt 8

Spri

nt 9

Spri

nt 1

0Sp

rint

11

Spri

nt 1

2

Release

Small or live games can release to the market every sprint, if desired.Larger games will bring larger features to a “magazine demo” state at least once every three months.

Chapter 6

Page 32: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

The Product Backlog Iceberg

Sprint

Release

Priority

High

Low

Future Releases

Higher priority features are broken down into sub-features that can be finished in a sprintLower priority features are not broken down until later, as we learn more

Chapter 6

Page 33: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

“As a <user role>,I want <goal>so that <reason>.”

Use this template

User Stories

One or more sentences in the everyday language of the end user that captures

what the user wants

Some developers use “User Stories” to capture player-facing featuresThese drive conversation and keep us focused on the player

Chapter 5

Page 34: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Some sample user storiesAs a player I want punches, reactions and blocks synchronized, so that fighting looks natural and realistic

As a player I want to know which of my friends are playing this game

As a content creator, I want the asset validation process to recompile scripts so that I know if some of them reference deleted assets.

Page 35: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

A project is a series of releases

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Rel

ease

Green Light

PreProduction Production Alpha

Beta

Larger (or pre-deployed) games will often have stages of development (especially pre-production and content production)These are managed through releases

Chapter 7

Page 36: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

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 major feature deliveries

• “Epic” user stories work well for this, such as:

• As a player I want online multiplayer so I can connect to the internet and play against other players online.

• As a player I want to engage enemies in hand-to-hand combat.

• As a player I want to drive a car around the city.

Page 37: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Scaling Scrum for Large Teams

• Scalability comes from teams of teams

• Practices that work

• “Scrum of Scrums” meeting

• Synchronized Sprints

• Product Owner hierarchies

• Guilds

Chapter 8

Page 38: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Scrum of scrums

Page 39: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Running the scrum of scrumsAttendees

• Each team sends an individual contributor• If four or fewer teams, it’s OK to send a Scrum

Master also• Rotate based on whose skills are needed most

Agenda• Everyone answers four questions• Attendees discuss the product backlog

for the scrum of scrums

Frequency• Some say daily• I usually do these MWF or TuTh• These are problem-solving meetings• Not time-boxed to 15 minutes

Page 40: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

The four questions

What will your team do before we meet next?

2

What has your team done since we last met?

1

What’s in your team’s way?3

What are you about to put in another team’s way?

4

Rule: No names during this discussion

Page 41: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Synchronize Sprints

Team 1 Team 1

Team 2Team 2

Team 3 Team 3FinishFinish StartStart

Team 1 Team 1

Team 2Team 2

Team 3 Team 3

• Don’t stagger sprints like this:

• Synchronize sprint starts instead

Page 42: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

A hierarchy of Product OwnersChief Product Owner

• Visionary for the game• Prioritizes major features, which leads

to which teams form• Manages release schedules

Feature Product Owner

• Works with teams implementing features daily

• Can work with up to three teams

Page 43: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Augment with Guilds

• Beyond a certain project size, augment the team structure with orthogonal, virtual teams (Guilds)

• Programming guild

• Audio guild

• AI guild

• Scrum Master guild

• Informal or semi-formal at best

• Meet periodically

• Discuss and resolve issues related to their specialty

Page 44: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Programmers

Animators

Testers

Scrum Masters

Audio Engineers

Guilds

Team Team Team

Page 45: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Kanban for Content Production

• While sprints work well for developing new features, content production in the later part of developing a game doesn’t fit well within a sprint time-box

• Content is more predictable and the flow of work more manageable

• Assets don’t fit well into a 1-3 week time-box

Chapter 7

Page 46: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Kanban A kanban is a visual mapping of a flow of work for a class of assets (e.g. models, characters, levels, etc.)Lean practices, such as limiting work-in-progress, can help teams find continuous improvements in the flow of work and how they work together.

(3)

Texture Test

Asset

AssetAsset

Asset

Asset

Asset

On Deck

Requirement

(5)DoneModel

Bug

(2) (5) (4)

Page 47: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

Scrum and Kanban• Scrum and Kanban are compatible with one another

• What’s the same:

• Both have Product Owners to prioritize the work and Scrum Masters to coach and support the team.

• Teams will establish cadences to regularly hold reviews and retrospectives

• What’s different:

• Instead of Sprint planning, teams will plan on demand when they need to pull in more work

• Instead of measuring & optimizing the amount of features added every sprint, we measure & optimize the total amount of time an asset takes from start to finish.

Page 48: Agile, Scrum and Kanban for Video Game …...Agile, Scrum and Kanban for Video Game Development A tour of what agile is and what can be applied (or not) to video game development.Clinton

© 2008–2016 Clinton Keith

More Info

Clinton Keith [email protected] www.ClintonKeith.com

@ClintonKeith