How cPrime Helps Gaming Companies Go Agile
Learn how cPrime can help your game development team adopt Agile – Contact Us Now!
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
At cPrime, we believe that big changes are slow, risky and expensive, so we focus on quick changes that bring quick results from the start.
Assessment and Planning
When helping a company go Agile, we first meet with key decision-makers and stakeholders, to clarify exactly how the transition should occur, with agreement among all parties. We then complete an initial Agile assessment.
The assessment helps us understand the company’s pain, business goals, and to create a plan to ensure that the transition planned works with its production culture, and aligns with these goals. Team members are also defined during this time.
Scaling Agile Adoption
As part of the plan, we also organize into measurable tasks how Agile will be adopted by the game development studio, to scale transition efforts with a company’s desired schedule. For instance, a studio may have numerous levels within its infrastructure, and require collaboration among disciplines (including distributed teams) if the transition to Agile is to be successful.
The game development company is assisted with selecting Agile Lifecycle Management (ALM) tools, such as GreenHopper (JIRA), VersionOne, or Rally. Once a tool is selected, we provide classroom training that incorporates hands-on exercises with real-life scenarios to train students in how to use the ALM tool to define requirements, plan their work, and track progress, using it to best effectiveness. Project managers/Scrum masters will learn to use the tool to estimate the team’s net resource in points.
We then recommend phases for implementing Agile that will reduce the risk. Our solution architect presents to stakeholders the results of the assessment, and recommends the best way to start adopting Agile (and discusses any challenges the company will face during this process).
Transition Phase: Actually Going Agile
Once the game company starts transitioning, cPrime is on-site to offer expert advice and mentoring. The Agile consultants and coaches model Scrum, by acting as Product Owners for the transition process to team members. They maintain the transition backlog, and provide guidance to the transition team members.
At cPrime, we believe that a hybrid methodology is an important part of a successful transition. The way this will look will vary with the game development firm’s environment. For instance, art and design may move to a Kanban framework, while development and engineering move immediately to Scrum.
The goal is to provide a phased approach to transition, without leaving the major players (the studio teams and management) wondering what to do next, or how to actually do it. This is why our consultants define the Scrum process to be followed by both managers and Scrum Teams, train the teams, and mentor them in order to help reduce the fear and resistance that can often accompany change.
Execution: Here’s a look at how it works, practically.
After the initial training in Agile and Scrum concepts, principles and roles, staff are taught how to plan and track for each sprint and each milestone (such as first play, alpha, and beta releases).
Training is provided in User Stories, and how to define “done” through acceptance criteria and project standards. Using and managing the sprint backlog, and prioritizing tasks are also taught in hands-on exercises, until the team members and scrum masters become comfortable with doing each.
Management is taught how to use Agile for maximum effectiveness and productivity from their internal teams. This includes training in how to interpret reports and various metrics, risk analysis, and market timing and release strategies. Product owners are shown how to record product requirements as user stories that scrum masters/team leaders can then translate into points and sprint backlog items. They learn how to customize story templates that we provide to their game and development requirements, and how to prioritize stories and defects to maximize the value returned from their internal teams during production.
Scrum Masters have one over-riding goal: to facilitate their team’s ability to deliver a quality product that has the features that the Product Owner has asked for. We offer practical training in reaching this goal, including training in managing backlogs, metrics, and updating estimates. Scrum masters learn how to gather data to determine velocity, and how to hold Scrum meetings (such as “inspect and adapt”).
Quality assurance tasks are defined, and practical, hands-on training is provided in Agile quality assurance practices, including working with Defects, and creating and managing tests.
System Administrators are taught how to set up projects, add users and teams, assign permissions, and other tasks.
The use of Agile methodologies is first modeled, then mentored. Over time, the mentor’s help is required less and less, as the teams become fully independent. Often, team members start trusting each other more, and departmental divisions become less pronounced, as cross-disciplinary teams begin working together. It isn’t unusual for companies that start transitioning to see progress (and increased velocity) in a very short time. By the time three to six sprints have occurred, the company is usually fully transitioned, and enjoying the flexibility and reduced sales cycle that an Agile methodology brings.
During the maintenance phase of transition, we offer any ongoing needed support for the new Scrum Teams. These Teams should be able to function on their own in general, but will often encounter new situations for which expert advice will be helpful. During the maintenance phase, cPrime provides support by phone conference or email as needed, to address such issues when they arise.
By implementing these processes, our clients have enjoyed faster velocity. The feedback has been tremendously positive, since the firms that go Agile are able to respond much more quickly to customer requests.
Firms we have worked with have noted that we are “less theoretical” and much more “hands on” and practical than other consultancies they have worked with. This has enabled a successful transition, since team members knew from the start what their new roles would be, and had the support to fulfill them.
The greatest result? The companies we work with have enjoyed greater velocity, with less drag. This translates into reaching launch date goals more predictably, with less crunch time required. The flexibility of Agile has allowed them to develop prototypes more rapidly, and respond to publisher and player feedback much more quickly, for a higher quality product, and a reduced time-to-market.
Learn how cPrime can help your game development team adopt Agile – Contact Us Now!
- 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