27

gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for
Page 2: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Clinton Keith CTO, High Moon Studios

Agile Methodology in Game Development: Year 3

Page 3: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

What We’ll Talk About: o  History of Agile at High Moon o  What is Agile? Why use it? o  Overview of Scrum, one Agile Methodology o  Agile Planning o  We’ll touch on eXtreme Programming (XP) o  The results of using Agile at High Moon o  Q&A

This is about what we experienced, not the “Right Way” to make games

Page 4: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

History of Agile at High Moon

o  Used Scrum in last year of Darkwatch o  Helped keep the project on track

o  Adopted XP and Agile planning practices on new projects over the last year

Page 5: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Why Adopt Agile?

The Reasons/Goals: o Reduce wasted effort/crunch o To find the fun first

Other industries have used Agile to develop better products faster. Can we?

Page 6: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

What is Agile Development? The roots of Agile go back 60 years for product dev

(in Japan) and 30+ years for software dev. The Agile Manifesto (modified for game dev): We value…

o  People and communication over processes and project management tools;

o  Working game over comprehensive design documents;

o  Publisher collaboration over milestone definitions;

o  Responding to change over following a plan;

Page 7: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Simple

Anarchy

Complex

Close to Certainty

Far from Certainty

Technology

Close to Agreement

Far from Agreement

Req

uire

men

ts

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

Wasted Effort Can Come From “Noise” …and it influences what methodology we use

Preproduction

Production

Page 8: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Finding the Fun First

Design

E3 Demo

Preproduction

Production

Alpha/Beta Not fun yet?

Page 9: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

What is Scrum? Scrum is..

o  One of the major Agile Methologies o  Iterative o  Commitment-oriented o  Results-oriented o  Disciplined o  About making things visible so you

can apply common sense

Page 10: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

The Scrum Cast

The Team

Scrum Master

Customers

Product Owner

Anyone. Not a lead role

Programmer

Designer

QA

Animator Artist

Artist

Publisher Producer

Marketing

Director

Page 11: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Product Backlog

Defined as User Stories with conditions of satisfaction Run

Crouch

Jump Product Backlog as prioritized by Product Owner

Estimated with relative User Story Points that help track progress

Page 12: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Run

Sprints (Iteration)

Crouch

Jump

Sprint

(Fixed Duration)

Game

Sprint Goals

Sprint Backlog broken out by

team

New Game (Vertical Slice Added)

Change

Page 13: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Run

Crouch

Review and Planning

Game Jump

Review and Planning

Fly

Page 14: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Run

Daily Scrum

Crouch

Jump

Daily Scrum

Game

Fly

Page 15: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

The War Room

User Stories (Sprint Backlog)

Tasks Completed Tasks

Burndown Chart

Page 16: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

8

16

8

Mon.

8

Tues.

8

16

10

0

Wed.

0 Double Jump Option

4 Jump Animation

4 Jump Tuning

0 Jump Input Control

Thurs. Task

3

16

16

Jump User Story

Page 17: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Sprint Backlog Burndown Chart

Backlogged Story

Slope = Velocity

Drag works against velocity

Must hit zero hours by end

Days

Hours

Page 18: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Scaling Scrum - The Scrum of Scrums

Teams

Support services

Functional Leadership

Page 19: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Sprint

Release

Priority

High

Low

Future Releases

Value

Cost

Risk

Knowledge

Releases – The Product Backlog Iceberg

Page 20: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Release Burndown

Page 21: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

eXtreme Programming (XP)

Design

Development

Alpha/Beta

Time

Cost Of

Change

Page 22: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Agile Game Development

o  Lessons learned o  Benefits o  Where to go for more info?

Page 23: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Lessons Learned

o  Start small o  One Scrum team doing a prototype would be

ideal o  Do what the book says from the start

o  Company dysfunctions can creep in otherwise

o  Don’t get too dogmatic about it o  …but Scrum is meant to be modified

(eventually)

Page 24: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Lessons Learned…

o  Agile planning is harder to start than thought o  But XP was easier

o  Coaching was critical o  Onsite and CSM

o  Publisher buy-in wasn’t difficult o  Getting them into reviews and planning took

adjustment

Page 25: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Lessons Learned…

Overtime value is limited but average intensity is raised

Old Habits Die Hard •  Over-design •  Delayed integration •  Seating by discipline •  Command and control

Testing needs to be pushed

Normal Velocity Overtime Velocity

Week 1 Week 2 Week 3 Week 4 Week 5

Page 26: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Benefits o  Improved…

o  Productivity o  Reliability of build o  Quality of game o  Morale

o  Ownership o  Team work o  Communication

o  Enables low-cost executive awareness

o  Which means you don’t have to work hard to find out what’s going on

Page 27: gdc2006 ClintonKeith 0323-1 · Why Adopt Agile? The Reasons/Goals: o Reduce wasted effort/crunch o To find the ... What is Agile Development? The roots of Agile go back 60 years for

Where to go for more info?

o  www.agilegamedevelopment.com o  Books o  Mailing lists – For Game Developers to share

info on adopting Agile o  AGD Blog – Addressing challenges and news

on adopting Agile to Game Development

Questions?