Agile Development at Glideaway Games




Many game developers use the waterfall method (see figure 1) to produce games, however this can lead to crunch and feature creep, and allows little opportunity for iteration. At Glideaway Games we follow agile practices, which we have found avoids many of the issues that can arise from using the waterfall method. This post details how using an agile workflow to produce games can benefit developers, and how the team at Glideaway Games has used agile when working on Freeflight


Figure 1: Example of the waterfall development process



What is Agile Methodology? 


Agile refers to a variety of iterative and incremental frameworks which follow the Agile principles  (Clinton 2021). Agile values 'working software over comprehensive documentation’, 'individuals and interactions over processes and tools', and ‘responding to change over following a plan’ (Beck et. al. 2001). 


Figure 2: An example of agile workflow

The main framework used by Glideaway Games is Scrum, an iterative cycle where the team takes part in 2 week "sprints", collaborating to implement a feature into the game. Meetings are planned and organised by a Scrum master, who is not a leader but is responsible for ensuring that the team follows agile principles (Agile Alliance 2022). The process begins with the creation of a project backlog of all the features required for the game, and each sprint begins with a sprint planning meeting, where we decide on the feature that we would like to work on, and compile a backlog of all of the tasks required to implement it (Cohen and Bustamente 2009). 

Work on the feature then begins. The team holds a scrum meeting every evening, which is a maximum of 15 minutes long and involves each member of the of the team detailing the work that they have completed that day, their plans for tomorrow and any blocks to their workflow. To help keep meetings concise, we use a list of questions:

- "What have I done?"

- "What am I going to do?"

- "Anything stopping me?"

- "When do I plan to get it done by?"


After the sprint is completed, a new sprint planning meeting takes place, and the process begins again. 



Why use Agile for game development? 


Agile helps team to avoid crunch through responding to change and avoiding feature creep. Crunch culture is a huge issue in the games industry, and can induce burnout, having a negative effect on mental health (Cote and Harris 2020). By regularly adapting to changes and ensuring that the team only takes on as much can feasibly complete each sprint, crunch can be minimised or, with careful planning and closely following agile methodology, avoided entirely. 

Having working features earlier on in development means that playtesting can begin far earlier than if using the waterfall method. This was crucial to the development of Freeflight, as we had a development cycle of just 8 months! Playtesting earlier means that issues are spotted earlier, avoiding costly changes later on in development. 

Agile saves time by avoiding lengthy design documents. The design document for Freeflight is concise and to the point, containing only information that is necessary to the development of the project. This has allowed the designers to focus on the implementation of features to the game and means that information can be found quickly and easily, saving time. 



How do Glideaway Games stay Agile? 


Daily scrum meetings give the team a chance to check in, report progress and make plans. Ensuring that we have a clear understanding of each team member's progress is vital, as it helps us to stay informed on all areas of Freeflight's development and quickly identify any potential issues, allowing us to resolve them before they become a problem that could block progress. Scrum meetings also give the team a chance to check in with each other, ensuring that we are able to better look after the team's mental health. 

Regular communication is key to our team's success. While the Coronavirus pandemic has meant that we weren't able to work in person as much as we would like to  at the beginning of the project, regular communication via the team's Discord server and whole team meetings in person at least twice a week ensure that everybody has an understanding of what is happening across all aspects of Freeflight's development. 

Sprints help the team to stay organised and work to time-bound goals. We work in two week sprints to ensure that we keep to a timeframe when producing features for the game. If a feature is taking too long to complete or causing issues the team will address this and adapt accordingly. 

Using a Kanban board helps the team to stay on track with tasks.  In addition to holding daily sprints and ensuring that we regularly post our progress to the team's Discord server, we use the online Kanban board tool Trello to plan our tasks and ensure that the team is aware of what each team member is working on, plans to do, and has completed.



References 


AGILE ALLIANCE. 2022. 'What is a Scrum Master?'. Agile Alliance [online]. Available at: https://www.agilealliance.org/glossary/scrum-master/#q=~(infinite~false~filters~... [accessed 01/05/2022]

BECK, Kent, Mike BEEDLE, Arie VAN BENNEKUM, Alistair COCKBURN, Ward CUNNINGHAM, Martin FOWLER, James GRENNING, Jim HIGHSMITH, Andrew HUNT, Ron JEFFRIES, Jon KERN, Brian MARICK, Robert C. MARTIN, Steve MELLOR, Ken SCHWABER, Jeff SUTHERLAND and Dave THOMAS. 2001. Manifesto for Agile Software Development [online]. Available at: http://Agilemanifesto.org/ [accessed 01/05/2022] 

COHEN, D.S. and Sergio A. BUSTAMENTE. 2009. Producing Games: From Business and Budgets to Creativity and Design. Florida: CRC Press LLC. 

COTE, Amanda C. and Brandon C HARRIS. 2020. ‘Weekends became something other people did’: Understanding and intervening in the habitus of video game crunch'. Convergence: The International Journal of Research into New Media Technologies 2021, 27(1) 161–176. 

Get Freeflight

Leave a comment

Log in with itch.io to leave a comment.