wrangling engineers
Post on 24-Feb-2016
43 Views
Preview:
DESCRIPTION
TRANSCRIPT
Wrangling EngineersProducing technical yet passionate people
Matt PriestleySenior Producer
Who They Are• Highly trained• Wicked smart• Sometimes
introverted, often eager
• In love with their craft
Who You Need To Be• The consigliere• Detail man, store
minder, politician on their behalf
• Familiar with their cryptic language
• Precise & diligent
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
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!
Estimates
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
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
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
Scheduling
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
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
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…
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 Eng24Eng23Eng22Eng21Eng20Eng19Eng18Eng17Eng16Eng15Eng14Eng13Eng12Eng11Eng10Eng9Eng8Eng7Eng6Eng5Eng4Eng3Eng2Eng1Eng0
M7
Standard vs. Statistical BufferStatistical 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.
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
Iteration
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?
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
Scheduled IterationPaper plan
EmailKickoff mtg.
Bugs & polishPlay test
Strike team formedCoding first pass
Offset design / art
Strike teamcollaboration
Bug Smashes
8 weeks Features
2 weeks Bug
SmashInternalPlaytest
“Milestone 7”
Priorities
Cake vs. PieArea Feature Priori
tyEngine Multi-threaded game loop P1Engine Havok version x integration P1Graphics
Shader creation tools P2
Graphics
Splitscreen performance P1
Gameplay
Explosion radius controls P2
Gameplay
4-way co-op P1
UI Cake P1UI Pie P1
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
Bungie’s Backlog
The Shopping List
Three Day Work Week
Implicit Priority
The Big Picture
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
Questions?Holy %#!* we’re making video games!
Matt PriestleySenior Producer
top related