320 likes | 330 Views
Learn how to effectively manage and guide highly trained and passionate engineers in a technical environment. Discover the success story of Matt Priestley, a Senior Producer at Bungie, and gain insights into Bungie's engineering culture and production process.
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