320 likes | 397 Views
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
E N D
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
Our Learning Curve • Halo: CE • Small company • Startup culture • Awesome and terrifying • 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?”
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 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? 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
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. Strike team collaboration Strike team formed Coding first pass Offset design / art Bugs & polish Play test
Bug Smashes “Milestone 7”
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