wrangling engineers producing technical yet passionate people matt priestley senior producer

32

Upload: dashawn-tennis

Post on 14-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer
Page 2: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Wrangling EngineersProducing technical yet passionate people

Matt PriestleySenior Producer

Page 3: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Who They Are• Highly trained• Wicked smart• Sometimes

introverted, often eager

• In love with their craft

Page 4: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Who You Need To Be• The consigliere• Detail man, store

minder, politician on their behalf

• Familiar with their cryptic language

• Precise & diligent

Page 5: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Bungie’s Engineers• 40 brave souls, mostly generalists• Designated – not dedicated – as area

experts• Culturally enthusiastic• You want a hot new unscheduled feature? Sure!• Eager to suggest cool ideas to design and art• Co-inventors of our production process

Page 6: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Halo: CE•Small company•Startup culture•Awesome and terrifying

Our Learning Curve

Halo 2•Engineers self-produce•No planned room for error •Little x-discipline planning•Painful resets & deadline crisis•Hurt the team

Halo 3•Producers get involved•Classic waterfall + buffer + ad-hoc•Much improved communication•Still crunchy, but better

Halo 3: ODST•Short timeframe labor of love•Planned mid-game stability•Statistical buffering•We nailed our CC and ZBR targets

Halo: Reach•The good habits learned in ODST•Strike teams for x-discipline production•Stability passes linked to internal play tests•We’re learning!

Page 7: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Estimates

Page 8: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Two Weeks• Sometimes it’s easy. Just copy/paste a cost

from a similar feature• Sometimes it’s not

• A problem unique to engineering. You know what you have and what you want, but not how to get there.

• Even if there are examples elsewhere in the industry, their estimates only apply to their tech, not ours

• Avoiding one-off features is partly why engineers love good architecture

Page 9: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Iterative Clarity• We walk through the

questions they’ll eventually ask themselves• How do we break this down?• What’s your first step going to be?• Ok and then what?• How are you going to do that part?

• “Could you help me understand this better?”

LSP Config “2 weeks”

Architecture

API

API

Logic

Cli Srv

Data

Data

Data

Page 10: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

PitfallsItemizing is a natural engineering habit,

but some personalities make it harder

Overly-eagerThat’s like 30 minutes

I’ll just work the weekendI can do way more than

that

Overly-vaguePerhaps a month?I don’t have time to

explain thisIt’s done when it’s done

Page 11: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Scheduling

Page 12: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Halo 3: Waterfall• Bungie production was still

inexperienced at the start of H3

• Waterfall seemed appropriate at the time

• We hit our dates, but engineers weren’t satisfied• An engineer couldn’t say “Yes” to a

clever idea without risking crunch• Designers and artists were starved for

feature iteration

Page 13: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

When Will I Get My Feature?• Producers like to make promises. Waterfall

provides a framework to do so• “Your feature will be built by August 12th”• Without promises, dependencies become nightmarish

• Sadly, waterfall promises drift as new work arrives

• Agile takes things to an opposite extreme: handling surprises but discouraging long-horizon dates

• Bungie looked for a compromise

Page 14: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Why Are We Slipping?Graphics Engineers

R&D overrunsIteration with art

UI EngineersLast minute work

Bug tidal wave from test

Gameplay EngineersConstant new

requestsBlocking bugs

Lead EngineersUnder-estimating

management costs

Etc…

Page 15: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

ODST: Statistical Buffers• Bugs, PTO, meetings, new

features, paternity, leadership. They all diminish availability

• But per engineer this is quite predictable!• Eng A gets 20% surprise work• Lead B spends 35% of his day in

meetings

• We add statistical buffers per engineer to each milestone Eng24

Eng23Eng22Eng21Eng20Eng19Eng18Eng17Eng16Eng15Eng14Eng13Eng12Eng11Eng10Eng9Eng8Eng7Eng6Eng5Eng4Eng3Eng2Eng1Eng0

M7

Page 16: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Standard vs. Statistical Buffer

Statistical BufferPer engineerMeasured &

adjustedNot just slop time;headroom for cool

ideasNot an accident!

We plan to use every drop

Standard BufferPer team or

featureUsually a guess

Safety net for when schedules

go wrongNobody wants to

use it but everyone

inevitably does

Vs.

Page 17: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

A Note on Slip• Tracking per-person buffers suddenly gave us a

naïve measurement of “productivity”• Culturally we had to decide whether this was

healthy• Happy “walkup” vs. sad “slip”• It’s valuable to know when an engineer is trailing behind• But is that really the role producers should play?

• At the end of the day we closed our eyes to this data and decided it was an internal engineering matter

Page 18: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Iteration

Page 19: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Communication Takes Work• Iteration stems from

communication• Bungie enjoys an

open floor plan, but it’s still an effort to keep people talking

• Devil’s bargain: “meeting purgatory” or lose touch?

Page 20: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Halo Reach: “Strike Teams"• Virtual product units

• Engineering + art + design + production• Focused on getting one feature “all the way done”

• Less a status meeting; more a show & tell• A way to talk without taking our eyes off the game

• In-engine results are what matter• Expectations are short-term and clear

• Peers make commitments to one another• Producers track the work and help coordinate

Page 21: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Scheduled Iteration

Paper planEmail

Kickoff mtg.

Bugs & polishPlay test

Strike team formedCoding first pass

Offset design / art

Strike teamcollaboration

Page 22: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Bug Smashes

8 weeks Features

2 weeks Bug Smash

InternalPlaytest

“Milestone 7”

Page 23: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Priorities

Page 24: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Cake vs. PieArea Feature Priori

ty

Engine Multi-threaded game loop P1

Engine Havok version x integration P1

Graphics

Shader creation tools P2

Graphics

Splitscreen performance P1

Gameplay

Explosion radius controls P2

Gameplay

4-way co-op P1

UI Cake P1

UI Pie P1

Page 25: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Priority Needs ConstraintArea Feature Priori

ty

Engine Havok version x integration P1

Graphics

Splitscreen performance P1

Gameplay

Explosion radius controls P2

Gameplay

***Surprise new feature!*** P1

UI Pie P1

Page 26: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Bungie’s Backlog

Page 27: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

The Shopping List

Page 28: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Three Day Work Week

Page 29: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Implicit Priority

Page 30: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

The Big Picture

Page 31: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

So In Summary• Passionate engineers who want to say

“Yes”• A process that fits their culture• Using Waterfall at the project level…• …statistical per-person buffers…• …and Agile from day to day.

• Trying to do better each game• Strike teams, open floor plan, custom tools

Page 32: Wrangling Engineers Producing technical yet passionate people Matt Priestley Senior Producer

Questions?Holy %#!* we’re making video games!

Matt PriestleySenior Producer