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
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!
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 Logic Cli Srv Data
Pitfalls Itemizing is a natural engineering habit, but some personalities make it harder Overly-eager That’s like 30 minutes I’ll just work the weekend I can do way more than that Overly-vague Perhaps a month? I don’t have time to explain this It’s done when it’s done
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 12 th ” 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 overruns Iteration with art UI Engineers Last minute work Bug tidal wave from test Gameplay Engineers Constant new requests Blocking bugs Lead Engineers Under-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 M7
Standard vs. Statistical Buffer Statistical Buffer Per engineer Measured & adjusted Not just slop time; headroom for cool ideas Not an accident! We plan to use every drop Standard Buffer Per team or feature Usually a guess Safety net for when schedules go wrong Nobody 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
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 Iteration Paper plan Email Kickoff mtg. Bugs & polish Play test Strike team formed Coding first pass Offset design / art Strike team collaboration
Cake vs. Pie AreaFeaturePriority EngineMulti-threaded game loopP1 EngineHavok version x integrationP1 GraphicsShader creation toolsP2 GraphicsSplitscreen performanceP1 GameplayExplosion radius controlsP2 Gameplay4-way co-opP1 UICakeP1 UIPieP1
Priority Needs Constraint AreaFeaturePriority EngineHavok version x integrationP1 GraphicsSplitscreen performanceP1 GameplayExplosion radius controlsP2 Gameplay***Surprise new feature!***P1 UIPieP1
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 Priestley Senior Producer