|
How do you best manage risk when creating a game? Using this article and the attached spreadsheet, you can better identify the problem areas in your game and get a sense of whether any decisions you are making actually make business sense.
Risk in Game Development
Ours is a tumultuous industry, rife with unexpected project and studio failures. There are countless stories of canceled projects, unanticipated multi-year delays, cost overruns, mass layoffs, and unexpected project quality problems. Often, these surprises come from well-known and well-respected studios with a long and storied history of producing high-quality projects.
On the technology side, we sometimes select platforms and engines poorly, postpone bug fixing until it's too late, build undisciplined technical teams to with inadequate standards and poor coordination, and incur mountains of technical debt while underestimating the risk of avalanche. On the creative side, we can hire poorly, fail to develop our creative talent or the teamwork they need to flourish, fail to develop a coherent creative vision, or underestimate the costs of major late-stage creative changes. On the marketing side, we sometimes inadequately analyze our markets and misunderstand which features our customers truly care about. And we take enormous teamwork risks, far too often short-changing priceless talent and underestimating the risk of low morale, teamwork failures, and employee turnover.
On the surface, these all look like completely different problems. But a closer look shows a common thread underlying many of these project failures: as an industry, we often fail to accurately gauge and manage risk. We very often make decisions by instinct or guesswork, let our excitement for a project blind us to its faults, or bring too many biases from past experience onto new projects without doing the work to truly analyze and manage the risks inherent in each new project.
Why do we so often fail at assessing and managing risk, and what can we do to fix it?
In 2009, I enrolled in a Penn MSE program co-sponsored by the Wharton School of business, in part to learn better answers to these questions. While there, I had an unexpected and priceless opportunity to learn Discovery-driven planning ("DDP") directly from its co-inventor, Ian MacMillan, and from Professor Ron Pierantozzi. After graduating from the program, I used discovery-driven planning to plan the development of the iOS/Android strategy game City Conquest, as discussed in the recent postmortem.
DDP has proven very successful in countless organizations outside the game industry for planning and managing risky and innovative projects. There is no magic bullet for managing risk, but the DDP planning methodology can help you identify which risks can and should be managed, and can go a long way toward building a risk management focus into an organization, beginning at the very earliest stages of planning.
Nearly all of the ideas in this article are adapted directly from examples by Professors MacMillan and Pierantozzi. This article is intended only as a brief and simplified introduction to guide the reader through the DDP process. For readers interested in a more thorough introduction to DDP, we recommend the seminal article from Harvard Business Review and the books Opportunity Engineering and Discovery-Driven Growth.
In this article, I will explain the discovery-driven planning process and illustrate its application to games with an extended freemium game example. However, bear in mind that DDP can also be used in other many aspects of development, such as planning the development of new technologies such as tools and engines.
|
I'm sure it could be an article in itself, but could you speak to the issues of bridging the gaps between discovery-driven planning and development methodologies over the SDLC? I understand the connection between driving your development cycles with input from the discovery-driven checkpoints, but it seems to me that this is more geared toward agile methodologies than more front-loaded design schemes. Are there any key factors to integrating DDP with specific design methods that we should be aware of?
DDP is really a very broad project planning and business planning framework that can be used for almost *any* kind of planning, regardless the scale or even what industry it's in.
It's much more of a high-level, big-picture, ten-thousand-foot-view type of planning framework, and you would generally use other software development and planning methodologies inside of the DDP plan you create.
You're right that DDP does lend itself more toward agile methodologies. Non-agile methologies like waterfall tend to assume correctness from the outset (from http://en.wikipedia.org/wiki/Systems_development_life-cycle : "Sequential or big-design-up-front (BDUF) models, such as Waterfall, focus on complete and correct planning to guide large projects and risks to successful and predictable results").
And we all know that that certainty doesn't really exist in software, much less in game development, where you combine all the unpredictability of software development with the added unpredictability of creatively-rooted projects.
DDP, on the other hand, is basically taking the opposite approach. It says to the planning team: "Start by admitting how much you don't know and how much you can't predict. Then identify all of those parameters as best you can, figure out the boundaries on the uncertainty associated with each one, and use the DDP system to figure out which uncertainties represent real risks and sort them by risk. Then you can gradually corral those risks over time as you go from one Checkpoint to the next and gradually reduce uncertainty by converting your assumptions into knowledge."
The uncertainty can arise either because we're missing some amount of a priori knowledge (say, we might not know a certain parameter in advance, even though the parameter has a definite value -- for example, we might not yet have done the marketing research to figure out cost of acquiring a user on mobile, even though it is a definite dollar figure that many companies know precisely).
Or it could be because it's something that will happen in the future and there's inherent uncertainty involved (say, we hire 10 programmers and expect them to be done in 2 years, but we don't know if they'll actually get it done, if our design changes will push their schedule to 3 years, if our lead coder will have a heart attack, etc, etc).
In either case, DDP can help you get a handle on where the biggest risks are really hiding and help you build a plan to identify them, quantify them, and manage them.
I've always been pretty agnostic about it, but I definitely think Scrum has its limitations.
There's really nothing inherently wrong with it as a day-to-day planning methodology, but it seems really incomplete to me. Scrum tends to be totally focused on the short term, and there's very little focus on long-term planning.
And that just doesn't work.
Even if you don't have a fixed schedule or feature set, or you're building your game under a huge cloud of uncertainty for whatever reason, you HAVE to do long-term planning at least at some level.
I've worked on a few projects that used Scrum and/or ScrumWorks software at some level, but were actually totally ineffective teams because they ended up chasing their tails rebuilding their own games more or less from scratch every six months.
So an artist would come in one morning and say, "Hey, guys, I just had this amazing new creative idea! We gotta do this!" And the team would immediately throw out the last six months' worth of work to focus on this awesome new idea ... which would then be thrown out itself six months later in favor of something else.
Their planning was only looking at the here and now, and no one was looking at the big picture or holding the team accountable for it.
That really drove home for me that for all its benefits, Scrum by itself is no guarantee that all that task tracking necessarily translates into any actual progress toward a goal.
So, bottom line, I think that combining Scrum with DDP could be a good approach, if you were to use DDP for the overall, long-term planning aspect, and then use Scrum (or some good adaptation of Scrum, or another good agile methodology) for the short-term, day-to-day and milestone-to-milestone planning.