Agile + Your Game Development Team = A Reduced Sales CycleHow cPrime Helps Gaming Companies Go Agile Today, firms that develop games face ever-changing technologies and complex engineering requirements that can require development by teams composed of hundreds of members. Game players are highly sophisticated consumers whose demands for realism and “fun” have risen yearly. Marketing campaigns announce launch dates that must be met, with competition to push these dates earlier. The combination of these factors has caused game development costs to rise exponentially over the past decade. For instance, in 2009 the average cost of production for a multi-platform game was $18 -$28 million from initial concept to gold master1 – and with this kind of investment, games must be able to generate significant revenues. With increased game complexity, and the need to reach deadlines, crunch time is now measured in months instead of weeks at some firms. This and other issues have caused game development company managers to look for ways to improve the development and production processes to get high-quality code and game assets created more quickly. And this is where Agile for game development has been found to achieve these goals. Why Go Agile? The Advantages During Game Development During Design and Pre-production Today, even a good game proposal alone is not enough for risk-wary publishers, who want to see a working prototype that will prove the game concept. Agile methodologies allow the rapid development of prototypes that help stakeholders determine whether a game concept will sell – or fail – in today’s competitive marketplace before committing to production. Agile allows rapid prototype build throughout game production, making it easier to identify the highest value features and refine the game concept based on actual play. During pre-production, Scrum (the project management framework for Agile methodologies our firm prefers) is an excellent method for the pre-production task of creating a reliable game production plan. It lets stakeholders (product owners) identify and communicate the game features they want developed, and to prioritize the ones they want developed first. With Agile, project managers (scrum masters) then break the game development down into working features that can be built within a pre-set time frame (called a sprint, which is normally 2 weeks). Agile/Scrum lets PMs more accurately perform the pre-production planning of schedules, budgets and task estimation. The requirements for each sprint are entered as tasks into the backlog, and assigned priority. Because production plans are based upon 2 week sprints, and team resources are measured in hours instead of days, the final pre-production plan is a more realistic estimate of the team resources and hours required to meet game development goals. This provides management with a more accurate idea of exactly how much it will cost to design and develop each game feature. Because Agile de-emphasizes extensive documentation in favor of actual development of working components, it allows the game to more quickly enter actual production, and for the production phase to move more rapidly. During Game Production Scrum promotes better collaboration among team members. This is important during the development of a multi-feature, multi-player game, where art, 3D graphics modelers, engineers, AI programmers, level designers and others must all work together to create the time-consuming first level, and then throughout the game development process. In-house and game-specific tools (such as asset conversion tools) must be developed to supplement CodeWarrier, Visual Studio or other development environments – and doing so requires team collaboration and input. If a game development company uses distributed teams, agile allows greater flexibility and coordination of work between the teams. Coray Seifert at Slingo has even credited agile with saving game production after a fire at their New Jersey office caused their co-located teams to go remote. By using agile practices, the teams still maintained landmark output while working offsite3. During game production, Agile methodologies let production teams get player and stakeholder feedback faster. Instead of waiting until a major milestone, such as first play, alpha, or beta release to see if everything works, Agile breaks down development into the most important features being developed first, with an actually playable version that is continuously refined. The working components produced allow the lead game programmers to provide stakeholders with a more transparent view of the milestones achieved, than simply reading documentation. The playable components completed at the end of each sprint also make it easier to detect design defects and bugs, and fix them from the earliest stages of game development. Earlier fixes translate into a better game design, improved production, and lowered costs. During Game Testing Agile enforces integrated testing, or continuous integration, of the source code produced for the game. If a character in a game explodes or dies when a certain action is taken, that isn’t part of the game design, developers will know early in the development cycle, when it is easier (and less costly) to make changes. Instead of extensive documentation, agile places a greater emphasis on implementation and testing of code during game development. Because the code is tested early on, it is more reliable, which helps greatly if it is reused, or used to extend a game engine. This code reliability also helps reduce the time that must be spent on QA testing for the first-playable alpha or later game releases. Agile can reduce the time to market for game features significantly. Because pre-marketing and consumer expectations makes meeting launch dates so critical, this feature alone makes going Agile attractive to game companies. For instance, former Valve designer Kim Swift noted that going Agile significantly reduced the time before release for Left 4 Dead 2 when compared to the first version (when traditional methodologies were used). She said, “Since we knew that our shipping date was a lot sooner, we were able to sort out which ideas were actually doable in that amount of time, and that we knew were actually going to be successful, rather than trying a whole bunch of different stuff that wasn’t necessarily going to be what we shipped.”4 During Game Maintenance Finally, Agile allows for rapid patch development during the maintenance phase. Instead of months, patch development can be reduced to days or weeks. The Process of Transitioning to Agile: Making It Easier Once a game development company becomes convinced of the value of moving to an Agile methodology, the next step is planning how the move can occur as smoothly as possible. The goal is to avoid transition problems which can be due to:
- Inadequate planning
- Inadequate practical training
- Trying to change too rapidly
- Meloni, Wanda. “The Brief: 2009 Ups and Downs,” M2 Research Industry Analysis online at http://www.m2research.com/the-brief-2009-ups-and-downs.htm
- eMarketer: “Mobile, Social Boost Online Gaming Populations,” June 7, 2012
- GDC 2012 conference, “Out of the Fire and Into the Surprisingly Agile Remote Development Environment.” Speaker Seifert, Coray.
- Nutt, Christian. “Q&A: Valve’s Swift On Left 4 Dead 2’s Production, AI Boost,” interview for Gamasutra, 11/12/2009 http://www.gamasutra.com/view/news/25701/QA_Valves_Swift_On_Left_4_Dead_2s_Production_AI_Boost.php