Game-Scrum: An Approach to Agile Game Development Andr´ e Godoy Ellen F. Barbosa Instituto de Ciˆ encias Matem´ aticas e de Computac ¸˜ ao (ICMC-USP) PO. Box 668, Zip Code 13560-970 – S˜ ao Carlos (SP), Brazil Abstract The use of agile methodologies for developing games has become very common. However, such methodologies must be adapted to the team reality and to the particularities of the game development. Since there are few agile methodologies that specifically address the problems found in game development, this paper aims at inves- tigating some alternatives and suggests an approach to guide people who are starting in this area. The proposed methodology, named Game-Scrum, has been applied in the development of a game for teaching software engineering. The results from its application are also discussed in the paper. Keywords:: Game Development, Agile Methodologies, Scrum, XP, Educational Game Author’s Contact: andregodoy@grad.icmc.usp.br francine@icmc.usp.br 1 Introduction The recent advances in technology enabled the development of in- creasingly more complex and realistic games, but the cost of pro- duction of a top-level game has reached millions [Wikia 2009], leaving publishers more and more risk averse. This creates a de- mand in the use of techniques and methods to ensure that a game can be developed with as minimal as possible delays and mistakes. Such techniques and methods should also facilitate the process of discovering “the fun” – a important factor for the success of a game. Although some people may already have knowledge in software de- velopment, there are specific features of game development that can prevent the success of great games. This results in major problems in project management, rising the already high costs and causing delays. The use of a methodology focused on game development may help to avoid those problems. In this way, the use of some iterative method is increasing in this industry [Gregory 2008], and agile methodologies have become popular. Unfortunately, there are few works in the current literature on ag- ile methodologies oriented to game development, and the existing ones have not been effectively used in practice. The objective of this paper is to present an approach of an agile methodology based on Scrum and eXtreme Programming for game development, and review two existing agile methodologies with this same orientation. This paper is organized as follows. Section 2 will see some of the of agile methodologies most known, and section 3 will review some proposals specific for games available today. Section 4 will deal with the most common problems in game development, while an approach to solve some of these problems will be threated in sec- tion 5. Section 6 will describe and analise the application of the suggested approach while developing an educational game. 2 Agile Methodologies As the methodologies discussed in the sections below are based pri- marily on Scrum and XP, this section will deal on these methodolo- gies in order to distinct their practices from the approach suggested section 5. According to Abrahamsson [Abrahamsson et al. 2003], the main characteristics of agile methodologies are: cooperation, simplicity, adaptiveness and being incremental. Within these characteristics, the Agile Manifesto [Beck et al. 2001] brings together the main values of various agile methodologies, which are important to understand an approach to game develop- ment based on an agile methodology. Through these values we can notice that the focus of agile methods is on the product, rather than the process used. Thus, we avoid unnecessary documentation, there is flexibility to accept and react to changes, and also the customer collaboration in monitoring the development. One of the best known agile software development is eXtreme Pro- gramming (or XP), which is proposed by Beck [Beck 1999] and whose fundamental beliefs are based on five principles or values [Teles 2006]: communication, courage, feedback, respect and sim- plicity. Its practices were designed aiming to satisfy these values, with complete freedom to use them or not. Who defines what and how practices will be applied in the project is the coach, that is also the project leader and responsible for helping to maintain the dy- namics and facilitate the process for the team, providing resources and coordinating activities, thus ensuring that his team correctly applies the practices defined. Scrum [Schwaber and Beedle 2001] is another agile methodology also based on short iterations called sprints. In the sprints, the back- logs must be delivered, which are a set of atomic requirements de- signed to be done at each iteration. The backlogs should be priori- tized according to customer value, production cost, risk and knowl- edge required to produce it or other parameters. The Scrum Master act as a servant leader to the Team, which is responsible for the de- velopment. There is alsso the Product Owner, who gives the feed- back of the project. The iterations are accompanied by four kinds of meetings: one for planning, one for accompaniment, one for review what was done and one for inspect the process, people and tools. Discover soon what in the game will provide the “fun factor” en- ables the team to focus on developing and improving it over a much larger part of the project - greatly increasing the likelihood of suc- cess of the game. A simple solution to this problem is adopt it- erative methodologies, in which the agile ones are based. These methodologies allow to receive an early feedback of the features implemented, thus improving them if necessary is easier. Another advantage is to facilitate communication and cooperation among all those involved in the game creation. 3 Problems in Game Development The problems found in software development in general are well known, but very little is known about the real issues affecting the gaming industry. According to Petrillo [Petrillo et al. 2008] in the literature, the main problems reported are related to scope, planning and crunch time (a term used for periods of extreme work overload, occurring usually closer to deadlines). After a survey of games postmortems with teams and projects of varying sizes, it was dis- covered that the vast majority of problems encountered was related to management problems. Part of these problems are often associated with the multidisci- plinary team. Although multidisciplinarity creates an environment that encourages creativity it may end up creating a division between “the artists” and “the developers”, resulting in difficulty to get an effective communication among all team [Petrillo et al. 2008]. An- other point is the difficulty in determining certain elements like the fun of the game, which has no efficient technique that describes when this goal is achieved [Petrillo et al. 2008]. Some techniques for solving these problems are suggested by Kan- ode and Haddad [Kanode and Haddad 2009], such as the use of iterative methods, building prototypes and creating a pipeline to the SBC - Proceedings of SBGames 2010 Computing Track - Short Papers IX SBGames - Florianópolis - SC, November 8th-10th, 2010 292