Scrum & Game Dev: Do They Belong Together?
Is Scrum suitable for video game developments? In this article, I’ll try to address this question based on my own experience in using Scrum in developing games in StoryTale Studios for the past couple of years.
What is Scrum?
Scrum is an agile software development framework that has gained significant popularity in the past decade. It is not an acronym, it's an actual word derived from rugby. The word is first used to represent a framework on a 1986 HBR article entitled: “The New New Product Development Game”.
The Scrum Guide defines Scrum as follows:
Scrum is a lightweight framework that helps people, teams and organizations generate value through adaptive solutions for complex problems.
At its core, Scrum is founded on empiricism and lean thinking. Empiricism acknowledges that knowledge comes from observation and experience whereas lean thinking is about optimizing the efficiency of resources— to only focus on the essentials.
What does a typical week look like on a team that uses Scrum?
In short, developments are conducted in sprints; a timeboxed development process of one month or less. At the end of each sprint, a usable increment of the product is produced and is collectively inspected. Data and feedback from the increment are later taken into account during the planning of the next sprint. And the process repeats.
My experience
On 2018, StoryTale Studios launched its first major game — Pamali: Indonesian Folklore Horror. During its development, the team implemented an early iteration of the studio’s agile framework based on Scrum. I had the honor to be entrusted the role of a product owner (PO). The role of a PO is described by The Scrum Guide as follows:
The Product Owner is accountable for maximizing the value of the product resulting from the work of the Scrum Team.
As a PO, I ensure that the development is aligned with the product vision and is able to produce the most value to the stakeholders (e.g. company, users, development team). This is achieved by various means ranging from leading and facilitating coordination events as well as spending time listening and integrating the needs of the various stakeholders.
In StoryTale, we used a two-week sprint which starts with a retrospective on the last sprint and sprint planning. Once the planning has been concluded, the team can begin their development process. On the last day of the sprint, a sprint review is conducted.
Here’s a brief breakdown of each of the events mentioned above:
- Sprint Planning: We collectively decide and plan on what is to be achieved by the end of the sprint.
- Sprint Review: We reviewed the usable increment of the product produced on the sprint. The conclusion of the review is then taken into account during the planning of the next sprint.
- Retrospective: While Sprint Review inspects the product, retrospective inspects how we work. Essentially, we try to answer these three questions: what do we need to continue doing, what we need to stop doing and what we need to start doing.
Benefits
In my experience, using Scrum had produced a lot of benefits and value to both the product and the team. Below I highlighted three benefits that I feel worth sharing:
1. Establishing a habit in continuous integration
As someone who has worked both as a visual artist and a programmer, I often isolate myself with my work, trying to polish it as much as I can and hoping that it miraculously integrates well with what the rest of the team is building — which is rarely the case.
Even when different features are developed by different individuals or teams, in the end, what users will experience is a holistic, integrated package of all the features.
Pamali is a story-driven horror game that can only be considered successful if it can produce an immersive emotional experience for the players. To do so, it is important to make sure that the various storytelling features within the game (e.g. audio, animation, narrative, UI/UX) integrate well with each other; producing one holistic gaming experience. Continuous integration allows consistent inspection of the cohesiveness of the product.
In short, continuous integration helped me and my team in the following ways:
- Regularly maintain the cohesiveness of one component to another
- Promote collaborations between individuals and domains of expertise
- Allows early and frequent holistic testing of the intended product experience
2. Improves team’s ownership of the product
One of the greatest joys of developing a product is to see what you build in action. Unfortunately, this is not entirely true for team members who work in the early stages of content creation such as writers and visual artists.
Through the habit of continuous integration, all team members will have the opportunity to see in person the impact of their work in the actual environment. Scrum increases the team’s sense of ownership by bringing them closer to the end product early and frequently.
During the development of Pamali, writers create narrative assets early in the process which will later be processed further by others (e.g. translated into visual, or implemented to the game engine). Integrating the narrative to the overall product early allows writers to better validate the quality of their work and to ensure that it integrates well with the rest of the game.
By bringing the development team closer to the end product, they can directly see how their contributions are shaping the product itself. This in turn helps in building the team’s sense of agency which improves their ownership of the product.
3. Culture of continuous feedback and improvements
I believe that everyone, no matter how experienced or skilled, has a blind side. Which makes it important for us to have trusted teammates that can provide us with honest and constructive feedback.
Scrum facilitates a cadence of continuous feedback and improvement. Establishing a cadence also helps elevate’s the feedback loop process from a mere routine to being ingrained as part of the organization’s culture. Having a strong and frequent feedback loop system lowers the risk of the product being designed or developed incorrectly — which becomes more expensive to be revised as the development gets closer to completion.
StoryTale has various levels of intentional feedback loop sessions ranging from in-person discussions as well as leaner sessions such as commenting on virtual boards.
As someone who has a design background, I tend to become protective towards what I created as if they are my children. But like any good parent would do, they should be willing to allow their children to take reasonable risks in order for them to grow. In product development, it means to allow what we build to be vulnerable; to be exposed to critiques and feedback.
Challenges
Implementing Scrum on game development on StoryTale is not without its challenges. A lot of trial and error needs to take place, individuals and stakeholders need to be onboarded and a lot of learning curves need to be overcome.
But I think the most challenging was ingraining the culture of agile itself. For me, being agile means continuous self-inspection, being flexible to change, being open to learning new ways and technologies, and most importantly, being humble. Implementing these values at the core of all development activities requires patience and perseverance from all involved individuals.
Final thoughts
In my experience in StoryTale, applying Scrum in game development (or any software development in general) provides a lot of value to both the team and the product. It facilitates continuous integration, improves the team’s ownership of the product, and establishes the habit of continuous feedback and improvements. And I believe the challenges of adopting it are worth the benefits.
I really hope you can find something helpful from this article and able to try Scrum for yourself. Good luck!