Download Production - GDC Vault

Document related concepts
no text concepts found
Transcript
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?