Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf ·...

43

Transcript of Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf ·...

Page 1: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development
Page 2: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Advanced Scrum and agile

developmentClinton Keith

Page 3: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Clinton Keith

24 years of development experience

15 years of game development experience5 years of agile development experience in the game industryIntroduced agile to the

industry in March 2005

Agile coachand trainer

Page 4: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Agenda

•3 minute tour•Challenges & Solutions•Summary•Q&A

Page 5: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

A 3 minute tour of Scrum

Page 6: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

© 2009 Clinton Keith

Scrum

Swim

Crouch

Jump

Sprint2-4 weeks

Jump

Sprint goal

Sprint backlog Incrementallyimproved game

Productbacklog

FlySwim

Fly

Crouch

24 hours

Page 7: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

© 2009 Clinton Keith

Putting it all together

Page 8: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

© 2009 Clinton Keith

The Scrum project community

Programmer Designer

Designer

Programmer

Tester

Artist

Animator

Artist

Internaldirector

Publisherproducer

The team

ScrumMaster

Product Owner

Anyone(not an

authority role)

Page 9: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

The Roadmap

Stage 1• Apprentice• 3-12 months• Daily Scrums• Iterations• “Done”

Stage 2• Journeyman• 12-24 months• Faster integrations• Better testing• Release planning

Stage 3• Master• Never ends• Self organization• Continuous improvement

Page 10: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Project Leadership

Time

Directed Management

Facilitative / Coaching

Time

Page 11: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

•3 minute tour•Challenges & Solutions•Summary•Q&A

Page 12: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Switching from a push system to a pull system

• What is a “pull system”?• “Pushing” tasks through Scrum• The challenge of pull systems.• Defining done

Page 13: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Scrum is a pull system

Sprintgoal

Not started In progress Done

Page 14: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Why a pull system?

• “Done” is the goal, not task completion

• Creates a “real” pace• Minimizes debt

• Allows true velocity to be measured• Velocity is a better measure than

progress against a schedule• Focuses on what is “on the screen”, not

progress against a schedule• Reality vs “the plan”

Page 15: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Burning down hours?

Tracking story points completed?

Work tracked in days not hours?

Page 16: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

“Pushing” tasks through Scrum

Sprintgoal

Not started In progress Done

Page 17: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Pushing tasks in Scrum• Task completion is the goal• Goals often left incomplete

• Bugs• Missing, yet unstated, requirements

• Velocity is slower• Collisions at the end of the sprint• More multi-tasking

• Symptoms• Mini-crunch every sprint• Very few iterations on the sprint goal• Not much polish

Page 18: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

The challenge with pull systems

• Over reliance on tools• Daily scrums are not status reporting

meetings

• “Over managing” the team• Let the team manage the tasks (i.e. the

path to achieving the goal). • Help them make the right decisions

• Teams not taking ownership or making commitments• Common for teams new to Scrum

• Defining “done”

Page 19: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

© 2003–2008 Mike Cohn or Clinton Keith

Concept

Design

Coded

Playable

Polish

Performance

Magazine demo

Online

Shippable

!Extend the scope of done as far as possible

Defining Done

Page 20: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Shared service teams

Page 21: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

© 2009 Clinton Keith

Game 1 backlog

Game 2 backlog

Game 3 backlogShared

Services backlog

Product owner = CTOProduct = studio

= external shared services work

Shared service teams

Page 22: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

The product owner

Page 23: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

The product owner

• Represents the customers• One voice, even if not one person

• Usually an• Internal Director• Publisher Producer

• Supplement with someone onsite

• Main responsibility is knowing what to build and in what sequence

Page 24: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Communicating vision

Backlog

DeveloperPO

PublisherPO

TeamMarketing

Executives

Sales

Page 25: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Parts on the garage floor

Leads to iterative and incremental death marches

Page 26: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Documentation has its place

!

Page 27: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Agile phases for game development

Page 28: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Agile is phase-less

Iteration

Concept

Design

Development

Production

Iteration

Concept

Design

Development

Production

Iteration

Concept

Design

Development

Production

...is game development?

Page 29: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Not Quite

0%

25%

50%

75%

100%

PreProd

uctio

n #1

PreProd

uctio

n #2

PreProd

uctio

n #3

Produc

tion #

1

Produc

tion #

2

Produc

tion #

3

Produc

tion #

4

Alpha/B

eta

ConceptDesignDevelopmentProduction

Page 30: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Preproduction vs Production

Preproduction Production

Questions or

StatementsWhat and how? Build it!

State of mind Collaboration Flow

Goals Correctness Efficiency

Page 31: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Which process?

What and how? Build it!

Collaboration Flow

Correctness Efficiency

Scrum Lean

Page 32: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

What is Lean?

• Agile development methodology that is not as well known as Scrum.

• Focused on complex flow of work and pull systems to represent that flow.

• Are better suited to more predictable work-flow.

Page 33: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

The problem using Scrum for productionScrum does not represent multi-step workflow transparently.

Model Rig AnimateAudiopass

End of sprint

Model Rig AnimateAudiopass

Team fails to achieve goal....all work-in-progress (WIP)

Page 34: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Cross-discipline teams cannot share the work evenly

Model Rig AnimateAudiopass

End of sprint

Model?

The problem using Scrum for production

Discipline pools can help, but they promote local optimization, which works against flow

Page 35: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

If the work is repeatable...

Model Rig AnimateAudiopass

End of sprint

Model Rig AnimateAudiopass

Model RigAnimateAudiopass

ModelRig AnimateAudiopass

It should flow

Done

WIP

WIP

WIP

Done

Done

Done

Page 36: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Time-boxing Art

A time-box is a fixed length of time given to produce results. The results are variable.

“When forced to work within a strict framework the imagination is taxed to its utmost-and will produce richest ideas. Given total freedom the work is likely to sprawl.” -TS Eliot

Page 37: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Finding the right timebox

Timeboxshould keep

us here

Value

to

Customer

Cost

Page 38: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Kanban Board

Concept andOutline

Low Rez &Layout High Rez Audio Tuning pass

Billy Robert R.J Carlos Mike

Charles

Andrea Scott

ConceptLow pass

High rezgeometry

Gameplay tuning

Audio layout

Page 39: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

•3 minute tour•Challenges & Solutions•Summary•Q&A

Page 40: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Real world experiences• Scrum teams experience less crunch

• If they establish a definition of done• If they have a shared vision

• Lean is a better fit for production• It’s compatible with Scrum

• Success is not determined by agile• Vision• Talent• Teamwork• Leadership

Page 41: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Agile Game Development book

• Fall 2009 release• ISBN 0321618521

• Currently in 2nd draft• Want feedback

• See me after

Page 42: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Conclusion

• For more information• www.AgileGameDevelopment.com• www.ClintonKeith.com

• Onsite workshops• Public classes• Coaching• Info up front

• Questions?

Page 43: Advanced Scrum and agile - clintonkeith.comclintonkeith.com/resources/GDC2009-AdvancedScrum.pdf · Advanced Scrum and agile development Clinton Keith. Clinton Keith 24 years of development

Conclusion

• For more information• www.AgileGameDevelopment.com• www.ClintonKeith.com

• Questions?