Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Communication Scaling Matthew Allen, Monolith Productions Overview • This talk is focused on communication within a large team and the role of the “producers” on that team • What is a large team? • What the talk won’t be Quick Poll • How many folks will you have on your team at peak size? – Under 20? – 20 - 40? – 40 – 80? – 80+ – Just for the hell of it • 150? • Less than 10? Defining a producer • A producer’s work product is a finished feature/task or final product • Their primary tool for completing this task is their ability to communicate Defining a producer • Who do they communicate with? – Within a functional group – Across groups/disciplines to other functional leaders – Across teams within multi-studio organizations – Upwards to management Defining a producer • Who within your organization is responsible for this stuff? – Most likely they don’t all have the word producer on their business card – At Monolith they are • Leads • Senior folks • Even a couple straight outta Digipen Defining a producer • It’s very important to identify the 2 types of folks within the your organization who get shit done – The Glue, those who do everything in their power to assist and support the Do-ers – The Do-ers, those who are directly responsible for getting shit done • Often your producer types are Glue, but I have first hand knowledge of them being both A history lesson or why the hell is this guy talking to me? • Concept art • Lead character art • Only game animator • Lead artist • Technical/ FX • Producer??? • Hell no! • Primary art lead A history lesson or why the hell is this guy talking to me? 9 A history lesson or why the hell is this guy talking to me? 15 A history lesson or why the hell is this guy talking to me? 22 A history lesson or why the hell is this guy talking to me? Other Internal Teams Core Tech Outsourcing Senior Management Art Leads Tools Team Team Leads Technical Design Vendor Relationships History Lesson part Deux Holy crap your team got big! Effective Communication • Core rule set for effective communication – Know your subject – Trust – Consistency – Up & down – Adapt – Efficiency – Full team involvement Core Rules • Know your subject – This one is a no-brainer, right? – If you don’t know what you are talking about • stop fucking talking about it • get the people who do know together Core Rules • Trust – If there is no trust in the communicator, folks will either go around them, or go somewhere they can get trust – How do you build trust? • • • • Be honest Be as transparent as possible Treat your audience with respect Follow up! Core Rules • Consistency – Get your communicators on the same page • It’s perfectly OK to disagree, but in the end the task can only be finished one way at a time – Inconsistency is one of the fastest ways to break trust Core Rules • Up & down – You need the people in the trenches moving forward at all time, so you have to make sure they are in the loop – You need upper management in the loop so they don’t keep messing with you • This is really the #1 issue most producers screw up Core Rules • Adapt – You are dealing with lots of different types of people • Do really think they all communicate the same way? • Figure out the styles of the folks you are working with and cater to them Core Rules • Efficiency – Get to the point as quickly as possible – Summarize at the start, move on to the meat later • This is important when managing down since you don’t want to waste the time of the Do-ers • Equally important when communicating up, as the amount of data received grows exponentially when moving up a hierarchy Core Rules • Complete team involvement – Include as many people as possible as often as possible • This doesn’t mean giant meetings, this means an efficient communication network Targets? • Core evangelists – The conduits for communication to flow up and down – Leads, producers, senior team members – Folk who have earned trust with the team • The communication path must start and end with your Do-ers Classifying Communication • Active communication vs. passive communication • Active, or pull – You are going out to get data – Web, Facebook, forums, Flickr • Passive or push – Data is getting sent to you – Email, IM, face to face meetings Types of communication • Face to face – One-on-ones – Meetings • • • • • • IM Email Prioritized hit lists Play throughs Confluence Status updates Types of communication • Face to face – One-on-ones – Meetings • • • • • Goal oriented Send out the agenda first Keep ‘em short If it has to go longer, adjourn http://tobytripp.github.com/meeting-ticker/ • Follow up is brutally necessary Types of communication • IM – Great way to quickly ask a single question, get a fast answer, and keep working – All external IM clients are not secure or private Types of communication • Email – I don’t really need to explain – Things to think about • • • • Be concise, put the meat at the end or attached Know your audience Don’t let them become noise They are not a permanent, traceable, or searchable record Types of communication • Prioritized hit lists Types of communication • Play throughs – Goal oriented – Send out the agenda first • What are we playing • What are evaluating • What type of feedback is required – Keep them as short as possible – Look familiar? Treat them like meetings Types of communication • Wikis – In the olden days we called this “documentation” – Great way to communicate to those outside the strike teams – Confluence • Forums • Push notification • embedded Excel and Word docs Types of communication • Status Update Emails – Aww crap that’s huge … Types of communication • Status Update Emails – Executive summary • Key personnel • Key dates • Upcoming dates Types of communication • Status Update Emails – Updates • Key updates from last summary Types of communication • Status Update Emails – Issues and risks • Summarized and only the urgent level risks Types of communication • Status Update Emails – Key dates • Key dates for the entire projects – – – – Milestones Vertical slice Alpha, Beta Street date Types of communication • Status Update Emails – Discipline updates • Very detailed updates per discipline Types of communication • Status Update Emails – Strike Team Updates • Functional team updates Types of communication • Status Update Emails – Detailed risk list • Go into much further depth with the risks to the projects • Include mitigations and escalation dates Types of communication • Status Update Emails – Next Milestone • List of all deliverables Types of communication • Status Update Emails – Aww crap that’s huge … – But completely manageable, and totally worth it FEAR 2 • FEAR 2 team is huge, game needs to get done • Key stake holders identified • In face to face meetings and play throughs – Identify missing features and functionality – Discuss strategies for attacking and completing those features • Post all notes to Confluence and encourage forum discussion FEAR 2 • Once features were identified, strike teams were formed – Strike teams took full ownership of the feature – Smaller more manageable communication paths – Decisions were not bottlenecked with a few key individuals – Not everyone is created equal, the need for an approvals process FEAR 2 • Main push: level strike teams – 4 level strike teams – Permanent mix of design and art – Daily face to face meetings and play throughs, generating hit lists that lived on Confluence – Moved the team members into the same area to expedite communication FEAR 2 • Main push: level strike teams – Floating content strike team • • • • Containing FX, animation, tech art Consultants “Contractors” Hit lists, IM, Confluence, some face to face FEAR 2 • Main push: level strike teams – Had to be self sufficient and self motivated • A good mix of junior and senior folks – A good proving ground for senior people wanting to try out being a lead FEAR 2 • Main push: level strike teams – The approvals process • Play throughs of level – Predetermined intervals – Key contributors • One-on-ones with principal designers if issues popped up • Weekly a level was singled out for the team to play – Hit list, Confluence, face to face if issues were big enough FEAR 2 • Other strike teams – – – – Weapons Characters UI Core combat • A smaller team for each AI type, 4 AI engineers • A larger group for core AI functionality – Clichéd scary girl moments – Really anything that could be broken into a functional group, and could be owned FEAR 2 • Let’s talk about the owners – Usually called strike team leads – Face to face every morning • Triage cross group issues, moved to Confluence • Who was finished? • Who was needed? FEAR 2 • End game – Different strike teams • • • • • Still level based Polish team Performance Memory Certification – Daily game play throughs, both as a group and as individuals – Lather, rinse, repeat, ship. FEAR 2 What did we learn? • Spread responsibility as wide as possible – Empowerment! • Give people the tools and support they need to make cool shit – Core individuals as shit filters and course correctors FEAR 2 What did we learn? • Commonly used tools and techniques – – – – – – Daily play throughs Forum feedback centers Small agile cross-discipline strike teams Internal IM client Email Internal wiki • Hit list • Support for Excel • Strong ties into our bug database FEAR 2 What did we learn? • Commonly used tools and techniques – Identify and rely on key individuals (Do-ers) • Trusted by the rest of the team • Small leadership roles • “Pony express” – Trenches camaraderie + ownership = high morale on a project that could have been very painful • Also created very strong cross team/company communication pathways The Future what are we doing on our seekrit project? • Team size about 80 people • Things are different depending on the phase. • Figuring shit out phase • Trying out some shit phase • Getting your shit done phase • Really getting your shit done phase • Polishing all your awesome shit phase • Shipping your awesome shit phase The Future what are we doing on our seekrit project? • Exciting pre-production! – Flame the fires of involvement – Cultivate “Pull” communication • Forums • Wikis • Optional brainstorming meetings with follow ups and owners The Future what are we doing on our seekrit project? • Strike Teams – New features – Core production • Animation • Environment art • Characters – – – – Combat AI behaviors UI Vertical slice specific strike teams The Future what are we doing on our seekrit project? • Daily hit list meetings • Lots of “what are we doing?” meetings – Follow the meeting rules! • Heavy forum involvement – Brainstorming – Quick idea generation and vetting • Status reports are HUGE! The Future what are we doing on our seekrit project? • What didn’t work? – Remember core production from a couple of slides ago? • Discipline based • Not many mixed groups – We tried mixed environment groups, and it wasn’t needed • Combat, UI and others are still mixed – We got used to not having meetings • Lots more pre task meetings • And even more review meetings The Future what are we doing on our seekrit project? • Each part of the production cycle has its own communication needs and drivers • FEAR 2 was a great test case for – – – – Production Polish Bug fix Ship • The core communication values still apply – – – – – Implementation is going to be different Be flexible Make mistakes and learn from them Keep focused on the core communication values A happy team will follow Questions?