Upload
dino-dini
View
757
Download
1
Embed Size (px)
DESCRIPTION
Guest lecture on managing risk in video game development.
Citation preview
Risk Management
In Video Game Production
Dino Dini 2014
Cevat Yerli - Founder & CEO of Crytek
The way Yerli talks about discovering programming feels well-practiced, as do
most of his stories. It takes place around 1990, when he was only 12 years old
"I was playing a game called Kick Off, from a programmer called Dino Dini," Yerli
says, pronouncing his name carefully, almost reverently. "It combined my two
passions [soccer and games]. ... I played so long at this friend's place that I forgot
about time. It got [to be] late, late [in the] afternoon. The sun was going down and I
was supposed to be at home.
"I took my [bicycle], drove downhill and [was lost in] a daydream. And I just
snapped and the next thing I remember I was in a hospital."
Yerli was so consumed by thoughts of Kick Off that he smashed headlong into a
brick wall. He has no memory of the crash.
-Polygon interview 11/07/2013
Dino Dini 2014
Risk Probability
Failure to
satisfy
clearly
defined
goals
Non
deterministic
processes
Project
failure
of
Unknowns
Knowns
Certainties Probabilities
Hard To
Measure
Easy To
Measure
Tool 1: Map of connected concepts
Risk Probability
Failure to
satisfy clearly
defined goals
Non
deterministic
processes
Project failure
of
Unknowns
Knowns
Certainties Probabilities
Hard To
Measure
Easy To
Measure
Hard To
Measure
Easy To
Measure
Analysis is important. However, human nature means that
most often we focus on easy to measure things, regardless of
how effective they are in achieving our goals.
Hard To
Measure
Easy To
Measure
Pass Rates
Popularity
Scores
Revenue
Example of "Easy Bias": An educational establishment
Education
What is measured
What Matters
Hard To
Measure
Easy To
Measure
Budget
Features
Time
Example of "Easy Bias": The Video Game Industry
Entertainment
Value
What is measured
What Matters
Hard To
Measure
Easy To
Measure
More Objective
More
Subjective
There is often little faith in
subjective comparisons to track
progress, yet these usually matter
the most.
It is hard to argue with objective
comparisons, so these usually
overpower any analysis
The more unknowns
you have, the greater
your risk
Risk Unknowns
So… we should all eliminate
unknowns then, right?
The more unknowns
you have, the greater
your risk
Risk Unknowns
So… we should all eliminate
unknowns then, right?
Tool 2: Robust Triangles
Risk
Unknowns ?
Risk
Unknowns
The more unknowns
you have, the greater
your risk
This the the video game
industry. An artful
entertainment medium. It must
innovate, and innovation
increases unknowns.
Risk
Unknowns
The more unknowns
you have, the greater
your risk
Much of the important
development in video games
occurred in indie development
(before that was a term).
Risk
Unknowns
The more unknowns
you have, the greater
your risk
How can we compensate for
increasing unknowns?
Risk
Unknowns Flexibility
Risk
Unknowns Flexibility
FIXED
Choose
Between
Risk
Unknowns Flexibility
FIXED
Choose
Between
Risk
Unknowns Flexibility
FIXED
Choose
Between
Example on an unrobust triangle
Quality
Resources Time
Risk
Unknowns Flexibility
More Abstract
Less AbstractLess AbstractLess Abstract
More Abstract
Often answers how.
Often answers why. Groups more concrete concepts
Serves more abstract needs
Tool 3: Abstraction Graph
Flexibility Organising
complexityHow?
Negotiable
constraints
Abstraction
SimplificationNegotiable
time
Negotiable
budget
Negotiable
features
Reducing inter-
dependencies
Priority List
Refactoring
Efficiency
?
Risk
Unknowns Flexibility
Reduce effect
of Unknowns Experience
How?
Prototyping
Hire
experienced
people
Training
Rapid
Protoyping
Prototyping
Budget
Analysis of
historical data /
Research
Faith in
(research)
process
Good
management
practices
Effective
assessment of
research value
Data driven
decision
making
Effective
procedures and
heuristics
Tools
Tools
Tools
Tools
Tools
Rapid
Prototyping Focus on core
player
experience
Quick and
flexible
development
environmentDevelop set of
identifying
constraints Middleware (e.g.
Unity)
Design game
considering
production
issues
Reducing inter-
dependencies
Game DesignProduction
Process
Design
How?
Team
management
Heuristic:
Avoid circular
dependencies
Heuristic: Limit
dependencies
between
art/prog/design
Communication
Tools
Heuristic: Avoid
central points of
failure
Heuristic: TOC
Efficiency
Theory of
Constraints
(TOC)
How?
TOC supplies heuristics and methods that help
manufacturing to be efficient. However, it turns
out that these are also invaluable in software
development projects.
Efficiency
Theory of
Constraints
(TOC)
How? Heuristic: Keep
all inventory as
low as possible
Algorithm
Find the biggest bottleneck
Reduce it
Repeat continuously
Integrate as
you go
Do not
stockpile
Constantly
monitor your
'stock'
Reassign
personnel to
remove
backlogs
Development Process as a factory
Tool 4: Process Diagram
Process Inventory
Development Process as a factory
DesignSpecs Tasks Dev
Work To
Check
Finished
Product
Project
tracking
QA (Unit)
Verified
work
Work to
integrate
Work to
check
Defects
to find
Defects
Found
IntegrationQA
(Product)Defects
to Find
Design
Issues
Development Process as a factory
DesignSpecs Tasks Dev
Work To
Check
Finished
Product
Project
tracking
QA (Unit)
Verified
work
Work to
integrate
Work to
check
Defects
to find
Defects
Found
IntegrationQA
(Product)Defects
to Find
Design
Issues
QA gets harder
when there is
more stuff to
work through
Development Process as a factory
DesignSpecs Tasks Dev
Work To
Check
Finished
Product
Project
tracking
QA (Unit)
Verified
work
Work to
integrate
Work to
check
Defects
to find
Defects
Found
IntegrationQA
(Product)Defects
to Find
Design
Issues
Imagine the horror after
you have used most of
your time
Development Process as a factory
DesignSpecs Tasks Dev
Work To
Check
Finished
Product
Project
tracking
QA (Unit)
Verified
work
Work to
integrate
Work to
check
Defects
to find
Defects
Found
IntegrationQA
(Product)Defects
to Find
Design
Issues
What strategy would you use in this case?
Why stockpiles are bad
● Work can become obsolete due to design changes
● Work could be cut from the product due to time pressure
● Work 'rusts'
● Stockpiles get in the way
● Stockpiles interfere with each other (e.g. finding and understanding bugs)
● Represent risk (not worth anything until integrated)
● Stockpiles damage morale
Why do stockpiles happen?
● The feeling that everyone should be doing something
● Generating the impression of hard work for naive managers
● Bad communication
● Bad planning
● Bad management
Stockpiles are so bad...
● That they can outweigh the benefit of continuing to run a process
● Yes, this means that it can actually make things worse
● So you sometimes need the courage to turn a process off
I can't have people doing nothing!
● Yes, you can. They can take a break… come back refreshed...
● You can reassign them to some other task to help with a backlog
● You can get them to refactor their existing work (reducing the need for QA)
● You can assign them to QA if that is what is needed
● You can assign them low risk work
● You can assign them research tasks
Anything is better than making a bad situation worse!
Production
Process
DesignDesign, Art and Programming all in one big
soup.
Integrate
QA
La-La-Land
Production
Process
Design
Design Art Programming
Integrate
QA
La-La-Land
Minimise
dependencies
between
tracks
Production
Process
Design
Design Art Programming Integration QA
Happy Land
Final testing and integration
What's Your Biggest Risk?
There now follows an important
heuristic for risk management..
What's Your Biggest Risk?
Find the biggest risk
Mitigate it
Repeat continuously
Always know your biggest risk and deal with it first.
How do we mitigate a risk? You know now...
Conclusion
(key points
covered)
Risk
Management
Minimise
unknowns and
their effects
Increase
Flexibility
Reduce
dependencies
Increase
Efficiency
Design &
managementTOC
Experience/
Expertise
Prototyping
Biggest Risk
Reduce scope
Thank you