Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks •...

38

Transcript of Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks •...

Page 1: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.
Page 2: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Beyond Scrum

Page 3: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

24 years of development experience

14 years of game development experience7 years of agile development experience in the game industry

Introduced agile to the industry in March 2005

Agile coachand Scrum trainer

Clinton Keith - Background

Page 4: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Beyond Scrum

• Filling out the framework

• Appling project management practices where needed

• Using common sense, not dogma

No rules, just shared practices

Page 5: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Games Recently Shipped That Used Scrum

Page 6: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Game Development Challenge

• Manage• Fixed ship dates• Minimum required feature sets• Long project cycles with production

• While avoiding crunch

Page 7: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Fixed Ship Dates

Page 8: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

The Project Management Triangle

Scope

Schedule Cost (resources)

ProductBacklog

Velocity

Page 9: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Better & Cheaper & Faster

Page 10: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Velocity & Fixed Schedules

Time

Deadline!

Brooks’s Law:“Adding manpower to

a late software project makes it later”

Fred Brooks (1975)

ScopeGoal

Resources

Crunch,Extra people

Page 11: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

There are often scope limits

• Minimum marketable features• Cutting scope by 50% to meet a date may

produce a product that won’t sell• Example: A Word Processor without a printing

feature

Page 12: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Minimum Marketable Features + Fixed Schedule

= RISK

Page 13: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Applying PM, Attacking Risk• Identify minimum marketable feature set

• MuSCoW analysis

• Identify critical paths• Example: Game running on the PS3

• Identify path risks• Example: Graphics throughput on the RSX

• Prioritize work based on risk• E.g. Spike to demonstrate demo level on PS3 with

maximum desired detail

• Find and address bad news early• Example: Need to create lower resolution levels

Page 14: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

!"#$%&"'

!"#$%&"'

!"#$%&"'

!"#$%&"'

!"#$%&"'

!"#$%&"'

(")*+,'

-./"01))"$'

("2%+03%,"'

HighValue

LowValue

Progress

Page 15: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

MuSCoW Analysis

Must Have

Should Have

Could Have

Won’t Have

Page 16: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Minimum Required Feature Set Must Haves

• Example: Console FPS• 8 + hours single-player campaign• Online multiplayer• XBox 360• PS3

Dropping any of these means failure

Page 17: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Minimum Required Feature Set Should Haves

• Example: Console FPS• Cooperative Online Multiplayer

These add great value, but aren’t absolutely necessary

Page 18: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

!"#$%&"'

!"#$%&"'

!"#$%&"'

!"#$%&"'

())*"&#+,"'-.'

./0'

12)3045'

67897"'-.'

/97:8"'*8#;"&'

<"=9:7'

()>"?@=="$'

<"2%:?A%7"'

Page 19: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Backlog Prioritization

Cost

Knowledge

Value

Risk

Page 20: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Risk Prioritization

Page 21: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Critical Path

• The things that need to happen, in sequence. • Usually dependent on one

another

PS3 Critical Path

Subcontractor

???

DevelopmentEnvironment

EngineRunning

GameRunning

Performance Multiplayer

Page 22: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Critical Chain Staffing

Multiplayer(12 people x 8

months)

Single Player(20 people x 12 months)

PS3(6 people x 10

months)

Cooperative MP(4 people x 6

months)

Xbox 360(4 people x 16

months)

Page 23: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Putting it all together

• Have dedicated people/teams/time for each major feature

• Have them work off their own backlog• Watch out for

• Inconsistent progress• Great Multiplayer, bad single player• “Feels like” different experiences

• Not enough sharing• Example: Multiplayer on the PS3

Page 24: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Production Risk

Page 25: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Agile is phase-less

Iteration

Design

Code

Create Assets

Debug & Tune

...is game development?

Iteration

Design

Code

Create Assets

Debug & Tune

Iteration

Design

Code

Create Assets

Debug & Tune

Page 26: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Not Quite

0%

25%

50%

75%

100%

Pre-Prod

uctio

n #1

Pre-Prod

uctio

n #2

Pre-Prod

uctio

n #3

Produc

tion #

1

Produc

tion #

2

Produc

tion #

3

Produc

tion #

4

Alpha/B

eta

ConceptDesignDevelopmentProduction

We have stages

Page 27: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Production is DebtDeadline!

ProductionPre-Production

Production Start Date!

ProductionPre-Production

CrunchSure...why not...

ProductionPre-Production

Page 28: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Schedule Probabilities

Time

Probabilityof

Completion

Date(peak, not mean)

Date?

Page 29: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

ProductionProduction

© 2010 Clinton Keith Consulting

ProductionPre-Production

Refining Production DatesDeadline!

Page 30: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Selecting the right tools for pre-production and

production

Page 31: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Simple

Complicated

Anarchy

Complex

Close toCertainty

Far fromCertaintyTechnology

Close toAgreement

Far fromAgreement

Requirements

(fun)

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

Process tools driven by certainty

Pre-production

Production

Iterative

Incremental

Scrum

Lean

Page 32: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Lean/Kanban

Uncertainty

Kaizen

Time

Work

Deadline!

Page 33: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

More on Kanban...

November 2008 feature article in Gamasutra

Chapter in upcoming book

Page 34: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Common sense

Page 35: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Don’t follow labels

ScrumXP

Lean Kanban

ScrumBan

Lean-Agile

Page 36: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

• Scrum isn’t the goal• Following the rules no matter what

• Focus on the principles• Empiricism - Science vs. alchemy• Emergence• Time-Boxing• Prioritization• Self-Organization

• Iterate on the process• Provide leadership• Plan, plan, plan

Page 37: Beyond Scrum - Clinton Keith · • Example: Game running on the PS3 • Identify path risks • Example: Graphics throughput on the RSX • Prioritize work based on risk • E.g.

© 2010 Clinton Keith Consulting

Summary. Changes.

We’ll optimize resources

Devs given suspect dates & crunch

Iterate and we’ll measure velocity towards the goal

Devs solely responsible for achieving the goal

Biz is responsible for achieving the goal

Completion of activities Delivery of features

Devs make biz decisions, biz makes

dev decisions

Devs make dev decisions, biz makes

biz decisions